| 1 | package pl.zankowski.iextrading4j.api.stocks.v1; | |
| 2 | ||
| 3 | import com.fasterxml.jackson.annotation.JsonCreator; | |
| 4 | import com.fasterxml.jackson.annotation.JsonProperty; | |
| 5 | import com.google.common.base.MoreObjects; | |
| 6 | ||
| 7 | import java.math.BigDecimal; | |
| 8 | import java.time.LocalDate; | |
| 9 | import java.util.Objects; | |
| 10 | ||
| 11 | public class BalanceSheet extends Report { | |
| 12 | ||
| 13 | private static final long serialVersionUID = 903088600080035429L; | |
| 14 | ||
| 15 | private final BigDecimal currentCash; | |
| 16 | private final BigDecimal shortTermInvestments; | |
| 17 | private final BigDecimal receivables; | |
| 18 | private final BigDecimal inventory; | |
| 19 | private final BigDecimal otherCurrentAssets; | |
| 20 | private final BigDecimal currentAssets; | |
| 21 | private final BigDecimal longTermInvestments; | |
| 22 | private final BigDecimal propertyPlantEquipment; | |
| 23 | private final BigDecimal goodwill; | |
| 24 | private final BigDecimal intangibleAssets; | |
| 25 | private final BigDecimal otherAssets; | |
| 26 | private final BigDecimal totalAssets; | |
| 27 | private final BigDecimal accountsPayable; | |
| 28 | private final BigDecimal currentLongTermDebt; | |
| 29 | private final BigDecimal otherCurrentLiabilities; | |
| 30 | private final BigDecimal totalCurrentLiabilities; | |
| 31 | private final BigDecimal longTermDebt; | |
| 32 | private final BigDecimal otherLiabilities; | |
| 33 | private final BigDecimal minorityInterest; | |
| 34 | private final BigDecimal totalLiabilities; | |
| 35 | private final BigDecimal commonStock; | |
| 36 | private final BigDecimal retainedEarnings; | |
| 37 | private final BigDecimal treasuryStock; | |
| 38 | private final BigDecimal capitalSurplus; | |
| 39 | private final BigDecimal shareholderEquity; | |
| 40 | private final BigDecimal netTangibleAssets; | |
| 41 | ||
| 42 | @JsonCreator | |
| 43 | public BalanceSheet( | |
| 44 | @JsonProperty("symbol") final String symbol, | |
| 45 | @JsonProperty("id") final String id, | |
| 46 | @JsonProperty("key") final String key, | |
| 47 | @JsonProperty("subkey") final String subkey, | |
| 48 | @JsonProperty("updated") final Long updated, | |
| 49 | @JsonProperty("date") final Long date, | |
| 50 | @JsonProperty("reportDate") final LocalDate reportDate, | |
| 51 | @JsonProperty("fiscalDate") final LocalDate fiscalDate, | |
| 52 | @JsonProperty("currency") final String currency, | |
| 53 | @JsonProperty("currentCash") final BigDecimal currentCash, | |
| 54 | @JsonProperty("shortTermInvestments") final BigDecimal shortTermInvestments, | |
| 55 | @JsonProperty("receivables") final BigDecimal receivables, | |
| 56 | @JsonProperty("inventory") final BigDecimal inventory, | |
| 57 | @JsonProperty("otherCurrentAssets") final BigDecimal otherCurrentAssets, | |
| 58 | @JsonProperty("currentAssets") final BigDecimal currentAssets, | |
| 59 | @JsonProperty("longTermInvestments") final BigDecimal longTermInvestments, | |
| 60 | @JsonProperty("propertyPlantEquipment") final BigDecimal propertyPlantEquipment, | |
| 61 | @JsonProperty("goodwill") final BigDecimal goodwill, | |
| 62 | @JsonProperty("intangibleAssets") final BigDecimal intangibleAssets, | |
| 63 | @JsonProperty("otherAssets") final BigDecimal otherAssets, | |
| 64 | @JsonProperty("totalAssets") final BigDecimal totalAssets, | |
| 65 | @JsonProperty("accountsPayable") final BigDecimal accountsPayable, | |
| 66 | @JsonProperty("currentLongTermDebt") final BigDecimal currentLongTermDebt, | |
| 67 | @JsonProperty("otherCurrentLiabilities") final BigDecimal otherCurrentLiabilities, | |
| 68 | @JsonProperty("totalCurrentLiabilities") final BigDecimal totalCurrentLiabilities, | |
| 69 | @JsonProperty("longTermDebt") final BigDecimal longTermDebt, | |
| 70 | @JsonProperty("otherLiabilities") final BigDecimal otherLiabilities, | |
| 71 | @JsonProperty("minorityInterest") final BigDecimal minorityInterest, | |
| 72 | @JsonProperty("totalLiabilities") final BigDecimal totalLiabilities, | |
| 73 | @JsonProperty("commonStock") final BigDecimal commonStock, | |
| 74 | @JsonProperty("retainedEarnings") final BigDecimal retainedEarnings, | |
| 75 | @JsonProperty("treasuryStock") final BigDecimal treasuryStock, | |
| 76 | @JsonProperty("capitalSurplus") final BigDecimal capitalSurplus, | |
| 77 | @JsonProperty("shareholderEquity") final BigDecimal shareholderEquity, | |
| 78 | @JsonProperty("netTangibleAssets") final BigDecimal netTangibleAssets, | |
| 79 | @JsonProperty("filingType") final String filingType, | |
| 80 | @JsonProperty("fiscalQuarter") final BigDecimal fiscalQuarter, | |
| 81 | @JsonProperty("fiscalYear") final BigDecimal fiscalYear) { | |
| 82 | super(symbol, id, key, subkey, updated, reportDate, filingType, fiscalDate, fiscalQuarter, fiscalYear, | |
| 83 | currency, date); | |
| 84 | this.currentCash = currentCash; | |
| 85 | this.shortTermInvestments = shortTermInvestments; | |
| 86 | this.receivables = receivables; | |
| 87 | this.inventory = inventory; | |
| 88 | this.otherCurrentAssets = otherCurrentAssets; | |
| 89 | this.currentAssets = currentAssets; | |
| 90 | this.longTermInvestments = longTermInvestments; | |
| 91 | this.propertyPlantEquipment = propertyPlantEquipment; | |
| 92 | this.goodwill = goodwill; | |
| 93 | this.intangibleAssets = intangibleAssets; | |
| 94 | this.otherAssets = otherAssets; | |
| 95 | this.totalAssets = totalAssets; | |
| 96 | this.accountsPayable = accountsPayable; | |
| 97 | this.currentLongTermDebt = currentLongTermDebt; | |
| 98 | this.otherCurrentLiabilities = otherCurrentLiabilities; | |
| 99 | this.totalCurrentLiabilities = totalCurrentLiabilities; | |
| 100 | this.longTermDebt = longTermDebt; | |
| 101 | this.otherLiabilities = otherLiabilities; | |
| 102 | this.minorityInterest = minorityInterest; | |
| 103 | this.totalLiabilities = totalLiabilities; | |
| 104 | this.commonStock = commonStock; | |
| 105 | this.retainedEarnings = retainedEarnings; | |
| 106 | this.treasuryStock = treasuryStock; | |
| 107 | this.capitalSurplus = capitalSurplus; | |
| 108 | this.shareholderEquity = shareholderEquity; | |
| 109 | this.netTangibleAssets = netTangibleAssets; | |
| 110 | } | |
| 111 | ||
| 112 | public BigDecimal getCurrentCash() { | |
| 113 |
1
1. getCurrentCash : replaced return value with null for pl/zankowski/iextrading4j/api/stocks/v1/BalanceSheet::getCurrentCash → KILLED |
return currentCash; |
| 114 | } | |
| 115 | ||
| 116 | public BigDecimal getShortTermInvestments() { | |
| 117 |
1
1. getShortTermInvestments : replaced return value with null for pl/zankowski/iextrading4j/api/stocks/v1/BalanceSheet::getShortTermInvestments → KILLED |
return shortTermInvestments; |
| 118 | } | |
| 119 | ||
| 120 | public BigDecimal getReceivables() { | |
| 121 |
1
1. getReceivables : replaced return value with null for pl/zankowski/iextrading4j/api/stocks/v1/BalanceSheet::getReceivables → KILLED |
return receivables; |
| 122 | } | |
| 123 | ||
| 124 | public BigDecimal getInventory() { | |
| 125 |
1
1. getInventory : replaced return value with null for pl/zankowski/iextrading4j/api/stocks/v1/BalanceSheet::getInventory → KILLED |
return inventory; |
| 126 | } | |
| 127 | ||
| 128 | public BigDecimal getOtherCurrentAssets() { | |
| 129 |
1
1. getOtherCurrentAssets : replaced return value with null for pl/zankowski/iextrading4j/api/stocks/v1/BalanceSheet::getOtherCurrentAssets → KILLED |
return otherCurrentAssets; |
| 130 | } | |
| 131 | ||
| 132 | public BigDecimal getCurrentAssets() { | |
| 133 |
1
1. getCurrentAssets : replaced return value with null for pl/zankowski/iextrading4j/api/stocks/v1/BalanceSheet::getCurrentAssets → KILLED |
return currentAssets; |
| 134 | } | |
| 135 | ||
| 136 | public BigDecimal getLongTermInvestments() { | |
| 137 |
1
1. getLongTermInvestments : replaced return value with null for pl/zankowski/iextrading4j/api/stocks/v1/BalanceSheet::getLongTermInvestments → KILLED |
return longTermInvestments; |
| 138 | } | |
| 139 | ||
| 140 | public BigDecimal getPropertyPlantEquipment() { | |
| 141 |
1
1. getPropertyPlantEquipment : replaced return value with null for pl/zankowski/iextrading4j/api/stocks/v1/BalanceSheet::getPropertyPlantEquipment → KILLED |
return propertyPlantEquipment; |
| 142 | } | |
| 143 | ||
| 144 | public BigDecimal getGoodwill() { | |
| 145 |
1
1. getGoodwill : replaced return value with null for pl/zankowski/iextrading4j/api/stocks/v1/BalanceSheet::getGoodwill → KILLED |
return goodwill; |
| 146 | } | |
| 147 | ||
| 148 | public BigDecimal getIntangibleAssets() { | |
| 149 |
1
1. getIntangibleAssets : replaced return value with null for pl/zankowski/iextrading4j/api/stocks/v1/BalanceSheet::getIntangibleAssets → KILLED |
return intangibleAssets; |
| 150 | } | |
| 151 | ||
| 152 | public BigDecimal getOtherAssets() { | |
| 153 |
1
1. getOtherAssets : replaced return value with null for pl/zankowski/iextrading4j/api/stocks/v1/BalanceSheet::getOtherAssets → KILLED |
return otherAssets; |
| 154 | } | |
| 155 | ||
| 156 | public BigDecimal getTotalAssets() { | |
| 157 |
1
1. getTotalAssets : replaced return value with null for pl/zankowski/iextrading4j/api/stocks/v1/BalanceSheet::getTotalAssets → KILLED |
return totalAssets; |
| 158 | } | |
| 159 | ||
| 160 | public BigDecimal getAccountsPayable() { | |
| 161 |
1
1. getAccountsPayable : replaced return value with null for pl/zankowski/iextrading4j/api/stocks/v1/BalanceSheet::getAccountsPayable → KILLED |
return accountsPayable; |
| 162 | } | |
| 163 | ||
| 164 | public BigDecimal getCurrentLongTermDebt() { | |
| 165 |
1
1. getCurrentLongTermDebt : replaced return value with null for pl/zankowski/iextrading4j/api/stocks/v1/BalanceSheet::getCurrentLongTermDebt → KILLED |
return currentLongTermDebt; |
| 166 | } | |
| 167 | ||
| 168 | public BigDecimal getOtherCurrentLiabilities() { | |
| 169 |
1
1. getOtherCurrentLiabilities : replaced return value with null for pl/zankowski/iextrading4j/api/stocks/v1/BalanceSheet::getOtherCurrentLiabilities → KILLED |
return otherCurrentLiabilities; |
| 170 | } | |
| 171 | ||
| 172 | public BigDecimal getTotalCurrentLiabilities() { | |
| 173 |
1
1. getTotalCurrentLiabilities : replaced return value with null for pl/zankowski/iextrading4j/api/stocks/v1/BalanceSheet::getTotalCurrentLiabilities → KILLED |
return totalCurrentLiabilities; |
| 174 | } | |
| 175 | ||
| 176 | public BigDecimal getLongTermDebt() { | |
| 177 |
1
1. getLongTermDebt : replaced return value with null for pl/zankowski/iextrading4j/api/stocks/v1/BalanceSheet::getLongTermDebt → KILLED |
return longTermDebt; |
| 178 | } | |
| 179 | ||
| 180 | public BigDecimal getOtherLiabilities() { | |
| 181 |
1
1. getOtherLiabilities : replaced return value with null for pl/zankowski/iextrading4j/api/stocks/v1/BalanceSheet::getOtherLiabilities → KILLED |
return otherLiabilities; |
| 182 | } | |
| 183 | ||
| 184 | public BigDecimal getMinorityInterest() { | |
| 185 |
1
1. getMinorityInterest : replaced return value with null for pl/zankowski/iextrading4j/api/stocks/v1/BalanceSheet::getMinorityInterest → KILLED |
return minorityInterest; |
| 186 | } | |
| 187 | ||
| 188 | public BigDecimal getTotalLiabilities() { | |
| 189 |
1
1. getTotalLiabilities : replaced return value with null for pl/zankowski/iextrading4j/api/stocks/v1/BalanceSheet::getTotalLiabilities → KILLED |
return totalLiabilities; |
| 190 | } | |
| 191 | ||
| 192 | public BigDecimal getCommonStock() { | |
| 193 |
1
1. getCommonStock : replaced return value with null for pl/zankowski/iextrading4j/api/stocks/v1/BalanceSheet::getCommonStock → KILLED |
return commonStock; |
| 194 | } | |
| 195 | ||
| 196 | public BigDecimal getRetainedEarnings() { | |
| 197 |
1
1. getRetainedEarnings : replaced return value with null for pl/zankowski/iextrading4j/api/stocks/v1/BalanceSheet::getRetainedEarnings → KILLED |
return retainedEarnings; |
| 198 | } | |
| 199 | ||
| 200 | public BigDecimal getTreasuryStock() { | |
| 201 |
1
1. getTreasuryStock : replaced return value with null for pl/zankowski/iextrading4j/api/stocks/v1/BalanceSheet::getTreasuryStock → KILLED |
return treasuryStock; |
| 202 | } | |
| 203 | ||
| 204 | public BigDecimal getCapitalSurplus() { | |
| 205 |
1
1. getCapitalSurplus : replaced return value with null for pl/zankowski/iextrading4j/api/stocks/v1/BalanceSheet::getCapitalSurplus → KILLED |
return capitalSurplus; |
| 206 | } | |
| 207 | ||
| 208 | public BigDecimal getShareholderEquity() { | |
| 209 |
1
1. getShareholderEquity : replaced return value with null for pl/zankowski/iextrading4j/api/stocks/v1/BalanceSheet::getShareholderEquity → KILLED |
return shareholderEquity; |
| 210 | } | |
| 211 | ||
| 212 | public BigDecimal getNetTangibleAssets() { | |
| 213 |
1
1. getNetTangibleAssets : replaced return value with null for pl/zankowski/iextrading4j/api/stocks/v1/BalanceSheet::getNetTangibleAssets → KILLED |
return netTangibleAssets; |
| 214 | } | |
| 215 | ||
| 216 | @Override | |
| 217 | public boolean equals(final Object o) { | |
| 218 |
1
1. equals : negated conditional → KILLED |
if (this == o) { |
| 219 |
1
1. equals : replaced boolean return with false for pl/zankowski/iextrading4j/api/stocks/v1/BalanceSheet::equals → KILLED |
return true; |
| 220 | } | |
| 221 |
2
1. equals : negated conditional → KILLED 2. equals : negated conditional → KILLED |
if (o == null || getClass() != o.getClass()) { |
| 222 |
1
1. equals : replaced boolean return with true for pl/zankowski/iextrading4j/api/stocks/v1/BalanceSheet::equals → KILLED |
return false; |
| 223 | } | |
| 224 |
1
1. equals : negated conditional → KILLED |
if (!super.equals(o)) { |
| 225 |
1
1. equals : replaced boolean return with true for pl/zankowski/iextrading4j/api/stocks/v1/BalanceSheet::equals → KILLED |
return false; |
| 226 | } | |
| 227 | final BalanceSheet that = (BalanceSheet) o; | |
| 228 |
2
1. equals : negated conditional → KILLED 2. equals : replaced boolean return with true for pl/zankowski/iextrading4j/api/stocks/v1/BalanceSheet::equals → KILLED |
return Objects.equals(currentCash, that.currentCash) && |
| 229 |
1
1. equals : negated conditional → KILLED |
Objects.equals(shortTermInvestments, that.shortTermInvestments) && |
| 230 |
1
1. equals : negated conditional → KILLED |
Objects.equals(receivables, that.receivables) && |
| 231 |
1
1. equals : negated conditional → KILLED |
Objects.equals(inventory, that.inventory) && |
| 232 |
1
1. equals : negated conditional → KILLED |
Objects.equals(otherCurrentAssets, that.otherCurrentAssets) && |
| 233 |
1
1. equals : negated conditional → KILLED |
Objects.equals(currentAssets, that.currentAssets) && |
| 234 |
1
1. equals : negated conditional → KILLED |
Objects.equals(longTermInvestments, that.longTermInvestments) && |
| 235 |
1
1. equals : negated conditional → KILLED |
Objects.equals(propertyPlantEquipment, that.propertyPlantEquipment) && |
| 236 |
1
1. equals : negated conditional → KILLED |
Objects.equals(goodwill, that.goodwill) && |
| 237 |
1
1. equals : negated conditional → KILLED |
Objects.equals(intangibleAssets, that.intangibleAssets) && |
| 238 |
1
1. equals : negated conditional → KILLED |
Objects.equals(otherAssets, that.otherAssets) && |
| 239 |
1
1. equals : negated conditional → KILLED |
Objects.equals(totalAssets, that.totalAssets) && |
| 240 |
1
1. equals : negated conditional → KILLED |
Objects.equals(accountsPayable, that.accountsPayable) && |
| 241 |
1
1. equals : negated conditional → KILLED |
Objects.equals(currentLongTermDebt, that.currentLongTermDebt) && |
| 242 |
1
1. equals : negated conditional → KILLED |
Objects.equals(otherCurrentLiabilities, that.otherCurrentLiabilities) && |
| 243 |
1
1. equals : negated conditional → KILLED |
Objects.equals(totalCurrentLiabilities, that.totalCurrentLiabilities) && |
| 244 |
1
1. equals : negated conditional → KILLED |
Objects.equals(longTermDebt, that.longTermDebt) && |
| 245 |
1
1. equals : negated conditional → KILLED |
Objects.equals(otherLiabilities, that.otherLiabilities) && |
| 246 |
1
1. equals : negated conditional → KILLED |
Objects.equals(minorityInterest, that.minorityInterest) && |
| 247 |
1
1. equals : negated conditional → KILLED |
Objects.equals(totalLiabilities, that.totalLiabilities) && |
| 248 |
1
1. equals : negated conditional → KILLED |
Objects.equals(commonStock, that.commonStock) && |
| 249 |
1
1. equals : negated conditional → KILLED |
Objects.equals(retainedEarnings, that.retainedEarnings) && |
| 250 |
1
1. equals : negated conditional → KILLED |
Objects.equals(treasuryStock, that.treasuryStock) && |
| 251 |
1
1. equals : negated conditional → KILLED |
Objects.equals(capitalSurplus, that.capitalSurplus) && |
| 252 |
1
1. equals : negated conditional → KILLED |
Objects.equals(shareholderEquity, that.shareholderEquity) && |
| 253 |
1
1. equals : negated conditional → KILLED |
Objects.equals(netTangibleAssets, that.netTangibleAssets); |
| 254 | } | |
| 255 | ||
| 256 | @Override | |
| 257 | public int hashCode() { | |
| 258 |
1
1. hashCode : replaced int return with 0 for pl/zankowski/iextrading4j/api/stocks/v1/BalanceSheet::hashCode → KILLED |
return Objects.hash(super.hashCode(), currentCash, shortTermInvestments, receivables, inventory, |
| 259 | otherCurrentAssets, currentAssets, longTermInvestments, propertyPlantEquipment, goodwill, | |
| 260 | intangibleAssets, otherAssets, totalAssets, accountsPayable, currentLongTermDebt, | |
| 261 | otherCurrentLiabilities, totalCurrentLiabilities, longTermDebt, otherLiabilities, minorityInterest, | |
| 262 | totalLiabilities, commonStock, retainedEarnings, treasuryStock, capitalSurplus, shareholderEquity, | |
| 263 | netTangibleAssets); | |
| 264 | } | |
| 265 | ||
| 266 | @Override | |
| 267 | public String toString() { | |
| 268 |
1
1. toString : replaced return value with "" for pl/zankowski/iextrading4j/api/stocks/v1/BalanceSheet::toString → KILLED |
return MoreObjects.toStringHelper(this) |
| 269 | .add("currentCash", currentCash) | |
| 270 | .add("shortTermInvestments", shortTermInvestments) | |
| 271 | .add("receivables", receivables) | |
| 272 | .add("inventory", inventory) | |
| 273 | .add("otherCurrentAssets", otherCurrentAssets) | |
| 274 | .add("currentAssets", currentAssets) | |
| 275 | .add("longTermInvestments", longTermInvestments) | |
| 276 | .add("propertyPlantEquipment", propertyPlantEquipment) | |
| 277 | .add("goodwill", goodwill) | |
| 278 | .add("intangibleAssets", intangibleAssets) | |
| 279 | .add("otherAssets", otherAssets) | |
| 280 | .add("totalAssets", totalAssets) | |
| 281 | .add("accountsPayable", accountsPayable) | |
| 282 | .add("currentLongTermDebt", currentLongTermDebt) | |
| 283 | .add("otherCurrentLiabilities", otherCurrentLiabilities) | |
| 284 | .add("totalCurrentLiabilities", totalCurrentLiabilities) | |
| 285 | .add("longTermDebt", longTermDebt) | |
| 286 | .add("otherLiabilities", otherLiabilities) | |
| 287 | .add("minorityInterest", minorityInterest) | |
| 288 | .add("totalLiabilities", totalLiabilities) | |
| 289 | .add("commonStock", commonStock) | |
| 290 | .add("retainedEarnings", retainedEarnings) | |
| 291 | .add("treasuryStock", treasuryStock) | |
| 292 | .add("capitalSurplus", capitalSurplus) | |
| 293 | .add("shareholderEquity", shareholderEquity) | |
| 294 | .add("netTangibleAssets", netTangibleAssets) | |
| 295 | .toString(); | |
| 296 | } | |
| 297 | ||
| 298 | } | |
Mutations | ||
| 113 |
1.1 |
|
| 117 |
1.1 |
|
| 121 |
1.1 |
|
| 125 |
1.1 |
|
| 129 |
1.1 |
|
| 133 |
1.1 |
|
| 137 |
1.1 |
|
| 141 |
1.1 |
|
| 145 |
1.1 |
|
| 149 |
1.1 |
|
| 153 |
1.1 |
|
| 157 |
1.1 |
|
| 161 |
1.1 |
|
| 165 |
1.1 |
|
| 169 |
1.1 |
|
| 173 |
1.1 |
|
| 177 |
1.1 |
|
| 181 |
1.1 |
|
| 185 |
1.1 |
|
| 189 |
1.1 |
|
| 193 |
1.1 |
|
| 197 |
1.1 |
|
| 201 |
1.1 |
|
| 205 |
1.1 |
|
| 209 |
1.1 |
|
| 213 |
1.1 |
|
| 218 |
1.1 |
|
| 219 |
1.1 |
|
| 221 |
1.1 2.2 |
|
| 222 |
1.1 |
|
| 224 |
1.1 |
|
| 225 |
1.1 |
|
| 228 |
1.1 2.2 |
|
| 229 |
1.1 |
|
| 230 |
1.1 |
|
| 231 |
1.1 |
|
| 232 |
1.1 |
|
| 233 |
1.1 |
|
| 234 |
1.1 |
|
| 235 |
1.1 |
|
| 236 |
1.1 |
|
| 237 |
1.1 |
|
| 238 |
1.1 |
|
| 239 |
1.1 |
|
| 240 |
1.1 |
|
| 241 |
1.1 |
|
| 242 |
1.1 |
|
| 243 |
1.1 |
|
| 244 |
1.1 |
|
| 245 |
1.1 |
|
| 246 |
1.1 |
|
| 247 |
1.1 |
|
| 248 |
1.1 |
|
| 249 |
1.1 |
|
| 250 |
1.1 |
|
| 251 |
1.1 |
|
| 252 |
1.1 |
|
| 253 |
1.1 |
|
| 258 |
1.1 |
|
| 268 |
1.1 |