From b92d526ec99088894ebd9b75fceb3889f5b2707d Mon Sep 17 00:00:00 2001 From: chris erway <51567+cce@users.noreply.github.com> Date: Thu, 10 Mar 2022 11:15:21 -0500 Subject: [PATCH] use ErrorResponse instead of AccountsErrorResponse (#3737) ## Summary Complementing https://github.com/algorand/indexer/pull/916 this merges the AccountsErrorResponse fields into the "data" object in ErrorResponse, so SDKs do not to have to distinguish between different error response types. ## Test Plan Update existing tests checking the old AccountsErrorResponse fields. --- daemon/algod/api/algod.oas2.json | 34 +- daemon/algod/api/algod.oas3.yml | 37 +- .../api/server/v2/generated/private/routes.go | 292 +++++++------ .../api/server/v2/generated/private/types.go | 15 +- .../algod/api/server/v2/generated/routes.go | 390 +++++++++--------- daemon/algod/api/server/v2/generated/types.go | 15 +- daemon/algod/api/server/v2/handlers.go | 17 +- .../server/v2/test/handlers_resources_test.go | 25 +- 8 files changed, 378 insertions(+), 447 deletions(-) diff --git a/daemon/algod/api/algod.oas2.json b/daemon/algod/api/algod.oas2.json index d09f6f60ba..54ef6b815a 100644 --- a/daemon/algod/api/algod.oas2.json +++ b/daemon/algod/api/algod.oas2.json @@ -186,7 +186,7 @@ "400": { "description": "Bad request", "schema": { - "$ref": "#/definitions/AccountsErrorResponse" + "$ref": "#/definitions/ErrorResponse" } }, "401": { @@ -2234,40 +2234,10 @@ ], "properties": { "data": { - "type": "string" - }, - "message": { - "type": "string" - } - } - }, - "AccountsErrorResponse": { - "description": "An error response for the AccountInformation endpoint, with optional information about limits that were exceeded.", - "type": "object", - "required": [ - "message" - ], - "properties": { - "data": { - "type": "string" + "type": "object" }, "message": { "type": "string" - }, - "max-results": { - "type": "integer" - }, - "total-apps-opted-in": { - "type": "integer" - }, - "total-assets-opted-in": { - "type": "integer" - }, - "total-created-apps": { - "type": "integer" - }, - "total-created-assets": { - "type": "integer" } } }, diff --git a/daemon/algod/api/algod.oas3.yml b/daemon/algod/api/algod.oas3.yml index 50932e820b..beecfe9091 100644 --- a/daemon/algod/api/algod.oas3.yml +++ b/daemon/algod/api/algod.oas3.yml @@ -915,36 +915,6 @@ ], "type": "object" }, - "AccountsErrorResponse": { - "description": "An error response for the AccountInformation endpoint, with optional information about limits that were exceeded.", - "properties": { - "data": { - "type": "string" - }, - "max-results": { - "type": "integer" - }, - "message": { - "type": "string" - }, - "total-apps-opted-in": { - "type": "integer" - }, - "total-assets-opted-in": { - "type": "integer" - }, - "total-created-apps": { - "type": "integer" - }, - "total-created-assets": { - "type": "integer" - } - }, - "required": [ - "message" - ], - "type": "object" - }, "Application": { "description": "Application index and its parameters", "properties": { @@ -1391,7 +1361,8 @@ "description": "An error response with optional data field.", "properties": { "data": { - "type": "string" + "properties": {}, + "type": "object" }, "message": { "type": "string" @@ -1819,12 +1790,12 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AccountsErrorResponse" + "$ref": "#/components/schemas/ErrorResponse" } }, "application/msgpack": { "schema": { - "$ref": "#/components/schemas/AccountsErrorResponse" + "$ref": "#/components/schemas/ErrorResponse" } } }, diff --git a/daemon/algod/api/server/v2/generated/private/routes.go b/daemon/algod/api/server/v2/generated/private/routes.go index 2617d7fb6f..c1022c618d 100644 --- a/daemon/algod/api/server/v2/generated/private/routes.go +++ b/daemon/algod/api/server/v2/generated/private/routes.go @@ -312,153 +312,151 @@ func RegisterHandlers(router interface { var swaggerSpec = []string{ "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", - "8CXgkLexAAA=", + "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", } // GetSwagger returns the Swagger specification corresponding to the generated code diff --git a/daemon/algod/api/server/v2/generated/private/types.go b/daemon/algod/api/server/v2/generated/private/types.go index feec184ea6..e0e6ee8499 100644 --- a/daemon/algod/api/server/v2/generated/private/types.go +++ b/daemon/algod/api/server/v2/generated/private/types.go @@ -124,17 +124,6 @@ type AccountStateDelta struct { Delta StateDelta `json:"delta"` } -// AccountsErrorResponse defines model for AccountsErrorResponse. -type AccountsErrorResponse struct { - Data *string `json:"data,omitempty"` - MaxResults *uint64 `json:"max-results,omitempty"` - Message string `json:"message"` - TotalAppsOptedIn *uint64 `json:"total-apps-opted-in,omitempty"` - TotalAssetsOptedIn *uint64 `json:"total-assets-opted-in,omitempty"` - TotalCreatedApps *uint64 `json:"total-created-apps,omitempty"` - TotalCreatedAssets *uint64 `json:"total-created-assets,omitempty"` -} - // Application defines model for Application. type Application struct { @@ -346,8 +335,8 @@ type DryrunTxnResult struct { // ErrorResponse defines model for ErrorResponse. type ErrorResponse struct { - Data *string `json:"data,omitempty"` - Message string `json:"message"` + Data *map[string]interface{} `json:"data,omitempty"` + Message string `json:"message"` } // EvalDelta defines model for EvalDelta. diff --git a/daemon/algod/api/server/v2/generated/routes.go b/daemon/algod/api/server/v2/generated/routes.go index 88c1f28a2b..2bfb9b3be0 100644 --- a/daemon/algod/api/server/v2/generated/routes.go +++ b/daemon/algod/api/server/v2/generated/routes.go @@ -737,202 +737,200 @@ func RegisterHandlers(router interface { // Base64 encoded, gzipped, json marshaled Swagger object var swaggerSpec = []string{ - "H4sIAAAAAAAC/+y9e3fcNpIo/lXw691zbGubLfmVGeucnP0pdh7asR0fS5md3cg3QZPV3RiRAAcApe74", - "+rvfgwJAgiTYTT1sx4n+stXEo1AoFAr1fD9JRVEKDlyryeH7SUklLUCDxL9omoqK64Rl5q8MVCpZqZng", - "k0P/jSgtGV9OphNmfi2pXk2mE04LaNqY/tOJhH9VTEI2OdSygulEpSsoqBlYb0rTuh5pnSxF4oY4skMc", - "v5h82PKBZpkEpfpQ/sjzDWE8zasMiJaUK5qaT4pcMr0iesUUcZ0J40RwIGJB9KrVmCwY5Jma+UX+qwK5", - "CVbpJh9e0ocGxESKHPpwPhfFnHHwUEENVL0hRAuSwQIbragmZgYDq2+oBVFAZboiCyF3gGqBCOEFXhWT", - "w58nCngGEncrBXaB/11IgN8g0VQuQU/eTWOLW2iQiWZFZGnHDvsSVJVrRbAtrnHJLoAT02tGXlVKkzkQ", - "ysnb756Tx48fPzMLKajWkDkiG1xVM3u4Jtt9cjjJqAb/uU9rNF8KSXmW1O3ffvcc5z9xCxzbiioF8cNy", - "ZL6Q4xdDC/AdIyTEuIYl7kOL+k2PyKFofp7DQkgYuSe28a1uSjj/Z92VlOp0VQrGdWRfCH4l9nOUhwXd", - "t/GwGoBW+9JgSppBfz5Inr17/3D68ODDv/18lPyv+/Pp4w8jl/+8HncHBqIN00pK4OkmWUqgeFpWlPfx", - "8dbRg1qJKs/Iil7g5tMCWb3rS0xfyzovaF4ZOmGpFEf5UihCHRllsKBVromfmFQ8N2zKjOaonTBFSiku", - "WAbZ1HDfyxVLVySlyg6B7cgly3NDg5WCbIjW4qvbcpg+hCgxcF0LH7ig3y8ymnXtwASskRskaS4UJFrs", - "uJ78jUN5RsILpbmr1NUuK3K6AoKTmw/2skXccUPTeb4hGvc1I1QRSvzVNCVsQTaiIpe4OTk7x/5uNQZr", - "BTFIw81p3aPm8A6hr4eMCPLmQuRAOSLPn7s+yviCLSsJilyuQK/cnSdBlYIrIGL+T0i12fb/OvnxNRGS", - "vAKl6BLe0PScAE9FNrzHbtLYDf5PJcyGF2pZ0vQ8fl3nrGARkF/RNSuqgvCqmIM0++XvBy2IBF1JPgSQ", - "HXEHnRV03Z/0VFY8xc1tpm0JaoaUmCpzupmR4wUp6Prrg6kDRxGa56QEnjG+JHrNB4U0M/du8BIpKp6N", - "kGG02bDg1lQlpGzBICP1KFsgcdPsgofxq8HTSFYBOH6QQXDqWXaAw2EdoRlzdM0XUtIlBCQzIz85zoVf", - "tTgHXjM4Mt/gp1LCBROVqjsNwIhTbxevudCQlBIWLEJjJw4dhnvYNo69Fk7ASQXXlHHIDOdFoIUGy4kG", - "YQom3P6Y6V/Rc6rgqydDF3jzdeTuL0R317fu+KjdxkaJPZKRe9F8dQc2Lja1+o94/IVzK7ZM7M+9jWTL", - "U3OVLFiO18w/zf55NFQKmUALEf7iUWzJqa4kHJ7xPfMXSciJpjyjMjO/FPanV1Wu2Qlbmp9y+9NLsWTp", - "CVsOILOGNfqawm6F/ceMF2fHeh19NLwU4rwqwwWlrVfpfEOOXwxtsh3zqoR5VD9lw1fF6dq/NK7aQ6/r", - "jRwAchB3JTUNz2EjwUBL0wX+s14gPdGF/M38U5Z5DKeGgN1Fi0oBpyw4KsucpdRg7637bL6a0w/2eUCb", - "Fvt4kx6+D2ArpShBamYHpWWZ5CKleaI01TjSv0tYTA4n/7bfaFX2bXe1H0z+0vQ6wU5GELXCTULL8gpj", - "vDECjdrCJQxnxk/IHyy/Q1GIcbt7hoaY4b05XFCuZ81DpMUI6pP7s5upwbeVYSy+Ow+rQYQT23AOysq1", - "tuE9RQLUE0QrQbSimLnMxbz+4f5RWTYYxO9HZWnxgTIhMBS3YM2UVg9w+bQ5QuE8xy9m5PtwbBSwBc83", - "5lawMoa5FBbuunLXV60xcmtoRrynCG6nkDOzNR4NRni/DYrDx8JK5Ebc2UkrpvEPrm1IZub3UZ2/DBIL", - "cTtMXPh8cpizLxf8JXiy3O9QTp9wnBJnRo66fa9HNmaUOMFci1a27qcddwseaxReSlpaAN0Xe4kyjk8v", - "28jCekNuOpLRRWEOznBAawjVtc/azvMQhQRJoQPDN7lIz2/hvM/NOP1jh8OTFdAMJMmopsG5cuclfllj", - "xx+wH3IEkBGJ/kf8D82J+WwI3/BFO6x5qTOkXxHo1TPzwLVis53JNMCHtyCFfdMS8xa9EpTPm8l7PMKi", - "ZQyP+NY+own28IswS2+UZEdzIa9HLx1C4KRR/RFqRg2Oy7Szs9i0KhOHn4j6wDboDNRYW/pSZIih7vAx", - "XLWwcKLpR8CCMqPeBhbaA902FkRRshxu4byuqFr1F2Hec48fkZMfjp4+fPTLo6dfmQdJKcVS0oLMNxoU", - "ue/EaKL0JocH/ZWhPFvlOj76V0+8wqg97k4MIcD12GNO1CkYzmAxRqx61ED3Qm5kdRtCNUgpZOSJj6Sj", - "RSry5AKkYiKirX3jWhDXwl+0Zfd3Cy25pIqYuVH7VPEM5CyGeb3mCBrTUKhdF4Ud+nTNG9y4AamUdNPb", - "AbveyOrcvGP2pI18r8xQpASZ6DUnGcyrZUsmW0hREEoy7IgM8bXIwMjTlboFLtAM1gBjNiIEgc5FpQkl", - "XGSAwnel4vxhwHSDOmNUdeuQ5eiVvX/mYAS9lFbLlSbmFS1iW9t0TGhqNyXBu0INaLpqFaVtZaezZoFc", - "As2MAAiciLlTJzlFFy6SohZaewOz404RkbgFVylFCkoZwd2KYztB8+3sLusteELAEeB6FqIEWVB5TWC1", - "0DTfASi2iYFbixNOB9eHetz02zawO3m4jVQa2d1SgZFdzOnOQcMQCkfi5AIk6qI+6v75Sa67fVU5YCl2", - "N/ApK/AJwCkXClLBMxUdLKdKJ7uOrWnUEhPMCoKTEjupOPDAM/QlVdpqJBnPUGS07Abnse9TM8UwwIM3", - "ihn57/4y6Y+dGj7JVaXqm0VVZSmkhiy2Bg7rLXO9hnU9l1gEY9fXlxakUrBr5CEsBeM7ZNmVWARRXb/f", - "ncq+vzh85Zp7YBNFZQuIBhHbADnxrQLshtayAUDM+6LuiYTDVIdyahPddKK0KEtz/nRS8brfEJpObOsj", - "/VPTtk9cVDd8PRNgZtceJgf5pcWstZOuqJHtcGRS0HNzN6GkZlWnfZjNYUwU4ykk2yjfHMsT0yo8AjsO", - "6YCQ7Dwxgtk6h6NDv1GiGySCHbswtOABif0NlZqlrERJ4m+wufXnfneC6MufZKApyyEjwQdk4Mh76/7E", - "6sK7Y15P0BolhPbB70mhkeXkTOGF0Qb+HDaoAnxjjayngWn2FiTFyKjmdFNOEFBvujEXctgE1jTV+cZc", - "c3oFG3IJEoiq5gXT2lrN24KkFmUSDhB9uG6Z0akOrIHS78AYXcYJDhUsr78V04kVW7bDd9oRXFrocAJT", - "KUQ+QsXaQ0YUglEqWFIKs+vMOWl4S76npBaQTohBvVHNPO+pFppxBeR/REVSylEAqzTUN4KQyGbx+jUz", - "mAusntMpWxsMQQ4FWLkSv+ztdRe+t+f2nCmygEvv2WQadtGxt4evpDdC6dbhuoUXrzluxxHeji96c1E4", - "Ga7LU2Y7X/du5DE7+aYzuJ8Uz5RSjnDN8m/MADoncz1m7SGNrKha7V47jjtKoREMHVu33XcpxOKWFERx", - "yzY+Tpyx2rQii4pboCrlniNov/EKDbGY1t4L1mvZWrarAnvj/1fUKZwm08YkbRuYC7n5/C4iUrJsHfM8", - "yGAd2xR3xvA5dc+8PTYKouYe5MxiEXE+Anmeu6V1eAcpwBxqtWKlGbJxlNhoaDlZ/p/7/3n481HyvzT5", - "7SB59h/7794/+fBgr/fjow9ff/1/2z89/vD1g//895horTSbx/V6PxhEiwVxPH7Nj7nVzC+EtA+yjZPz", - "xOLTw60lQAalXsW8GksJCnmj9U4s9arZVICOEqWU4gL4lLAZzLo8NluC8tqkHOgCvevwUSHGWPvq82Dp", - "zRNHgPVwIaMYWYx+0HaFtImn2bw68s0tSC92ICLb+PSvdWW/ikXoEuoOitooDUVf4WW7/jIg7r/1wnLv", - "UAmeMw5JIThsolEQjMMr/Bjrbe+7gc4oeQz17T4mWvB3wGrPM2Yzb4pf3O2Awb+pLba3sPndcTu6ztAZ", - "FnU1kJeEkjRnqMkRXGlZpfqMU3wrBuQasZP4F/Cw9uC5bxJXV0S0CW6oM06VwWH9gozqwBcQubO+A/BK", - "BFUtl6B0R2peAJxx14pxUnGmca7C7FdiN6wEicaKmW1Z0A1Z0ByVHb+BFGRe6bYcibee0izPneLVTEPE", - "4oxTbXiQ0uQV46drHM67xnma4aAvhTyvsRC/opbAQTGVxPn+9/Yrsn+3/JW7CjCAwn72/OZT830Pe8yj", - "zEF+/MK9sY5foCDdqFx7sH8yPVzBeBIlMiMYFYyjY3KHtsh98xzwBPSgUd66XT/jes0NIV3QnGVGeLoO", - "OXRZXO8s2tPRoZrWRnTUKn6t72L28KVISpqeozl0smR6Vc1nqSj2/dtyfynqd+Z+RqEQHL9l+7Rk+6qE", - "dP/i4Q5B9wb8ikTY1YfpxHEddeuaGDdwbEHdOWuFpv9bC3Lv+29Pyb7bKXXPupfaoQO/wIg6wLm+tCxW", - "ZvE2PMr6157xM/4CFowz8/3wjGdU0/05VSxV+5UC+Q3NKU9hthTk0HvTvKCanvEeix+MYAz8mEhZzXOW", - "kvPwKm6Opo1K6Y9wdvazIZCzs3c980f/4nRTRc+onSC5ZHolKp04t/tEwiWVWQR0Vbtd48g2aGbbrFPi", - "xrYU6dz63fhxVk3LUnW9MPvLL8vcLD8gQ+V8DM2WEaWF9EzQcEYLDe7va+HeXJJe+piNSoEivxa0/Jlx", - "/Y4kZ9XBwWMgLbfEXx2vMTS5KaGlOLqWl2hXaYQLtwIVrLWkSUmXoKLL10BL3H28qAtUUeY5wW4td0jv", - "PIBDNQvw+BjeAAvHlV27cHEntpePn4wvAT/hFmIbw50azf919ytwkLz2dnWcLHu7VOlVYs52dFXKkLjf", - "mTqsaml4sjfHKLbk5hC4CLQ5kHQF6TlkGAwDRak301Z3b/FzN5xnHUzZoDHrwYWRDahjmwOpyow6GYDy", - "TdfFXIHW3q/+LZzD5lQ0gRFX8SlvezqroYOKlBpcRoZYw2PrxuhuvrMeo3dnWXqHYXSO82RxWNOF7zN8", - "kO0NeQuHOEYULU/cIURQGUGEJf4BFFxjoWa8G5F+bHlGvJnbmy+i5vG8n7gmjdTmLMDhatDB2H4vACNQ", - "xaUic6ogI8IFT1pv3oCLVYouYUD3FKo5R/rMtlSjOMiuey9604lF90Lr3TdRkG3jxKw5SilgvhhSQT1h", - "x+7vZ7KadFzBjGBOBIeweY5iUu1yYJkOlS11sw3yHgItTsAgeSNweDDaGAklmxVVPq4Tw1/9WR4lA3xE", - "7/RtwUjHgck6iHGtQ408z+2e07ji1gYdFaoJPgq1tiMCiaYT50UV2w7BUQDKIIelXbht7Aml8ZRvNsjA", - "8eNikTMOJIlZv6lSImU2MLe5ZtwcYOTjPUKs7omMHiFGxgHYaCHCgclrEZ5NvrwKkNx5+lM/NtqWgr8h", - "7gpo/ZuMyCNKw8IZH/BM8xyAOpeJ+v7qOO7gMITxKTFs7oLmhs05JWozSC80BsXWTiCMs1E+GBJnt6j+", - "7MVypTXZq+g6qwllJg90XKDbAvF2USK2BQrx5Z6+Na6G7tIxUw9c30O4uh8E1VwLgI4mosk7415+O19o", - "7bu5f5M1LH3aRIl618wY7Q/RT3SXBvDXVwTXYTBvutd19JHetl22I4AC+SnGis0Z6atG+wpYBTmgRJy0", - "JIjkPKYwN4I9ILs98d2ClzvGGVG+eRAYxCUsmdLQqK7MreR1sZ/a3EUxrlmIxfDqdCkXZn1vhah5tI2f", - "s+a7cJmffAUXQkOyYFLpBPV+0SWYRt8pfFF+Z5rGBYW2yd2m+GBZnDfgtOewSTKWV3F6dfP+7YWZ9nWt", - "hFHV/Bw2KA4CTVdkjilpoo44W6a2vlpbF/zSLvglvbX1jjsNpqmZWBpyac/xhZyLDufdxg4iBBgjjv6u", - "DaJ0C4PEi/8F5DoWihMIDfZwZqbhbJvqsXeYMj/2todSAMXwHWVH2rIW9a2UQoYK5J6HFgZLNPpdr833", - "qeACsR54hr7FVqNo5BIb09aPQMDMJU6QQTcyWKcAWcyLzAhdUSxhSg+bhSCW0mA6CQKcxsqUVxDVxspI", - "4wWaHZLHcEBVKyp0O00y9CUxj3eD/yDxYBftAxyNliXL1h21rh118PFPr6S78fHPndXjWXWD7cBAoMKN", - "ORpLUO1Q9+atYjMt8XBts1GYOW0HpIfsPZyKKZ8nsI8ow6gwmdUuXJ0Czf8Gm7+btricyYfp5GZa4Biu", - "3Yg7cP2m3t4ontG8abWCLSZwRZTTspTiguaJ05UPkaYUF440sblXrX/iiyuukT399ujlGwf+h+kkzYHK", - "pBb8BleF7covZlU2qn7ggPg8ZIbr+xeYfRgEm19HO4f69csVuJxPwduil6OisZ0ER9Hp2xdxL4ud2nNn", - "5rFL3GLugbK29jSaSGvsaRt46AVluVcBemgHPCJwceMSnUS5QjjAjQ1Fgb0vuVV20zvd8dPRUNcOnhTO", - "tSUrVWETrykieNfBzjwIULOIpFpQzDBhFTx95sSrIjHHL1E5S+PqYj5Xhji4NQOaxgQbDzwtzIgVG7Aq", - "84oFY5lmaoTaogNkMEcUmT5byRDu5sJlzK04+1cFhGXAtfkk8VR2Diqm9HCGg/51amSH/lxuYGtsaIa/", - "iYwRZlfp3ngIxHYBIzQ69sB9UStA/EJr5Zr5IbCuXMF3IZyxdyVu8Ttw9OGo2TqArdrGwzDBbZ//GcKw", - "ydB2Z9f1qgiX5mVgjmi2XKaShRS/QfzVjsqOSBSCzyfD0Af2N+CzSDBXl8XUurom6W8z++B2D0k3oU6x", - "7W8xQPW484GFEXN3eGU75XarbfLKlpdPnGBCz7x9O35DMA7mnjdjTi/nNJbYxAgZBqajxpbdMgtoQXxn", - "j3tnwWAuxc+MBGbxui2z8XklyCZAqB8Lfk2BwU47WlRoJAOk2lAmmFpTZq5EZJiKX1Juc6CafvYoud4K", - "rCrT9LoUEqNrVdyCkUHKCprHJYcMsd+ORs7YktkMoJWCIMWkG8imTrZU5NJ0Wm+BBjXHC3IwDZLYut3I", - "2AVTbJ4DtnhoW8ypQk5eqxXrLmZ5wPVKYfNHI5qvKp5JyPRKWcQqQWqhDp83tR1uDvoSgJMDbPfwGbmP", - "FkjFLuCBwaK7nyeHD5+hCt3+cRC7AFyq323cJEN28t+OncTpGE2wdgzDuN2os2isqM3PPsy4tpwm23XM", - "WcKWjtftPksF5XQJcaeXYgdMti/uJqpFO3jhmU0urLQUG8J0fH7Q1PCnAQ9ew/4sGCQVRcF04exUShSG", - "npr8kXZSP5zNVOySHHm4/Ec095be2tV5RH5aFbi932KrRqP8a1pAG61TQm1Idc4aRwyfl4wc+8QMmPWp", - "TvZkcWPmMktHMQf9MhaklIxrfFhUepH8laQrKmlq2N9sCNxk/tWTSKardnIbfjXAPzneJSiQF3HUywGy", - "9zKE60vuc8GTwnCU7EHjMR+cykG7dNz3z3P0ruvn9qHHCmVmlGSQ3KoWudGAU9+I8PiWAW9IivV6rkSP", - "V17ZJ6fMSsbJg1Zmh356+9JJGYWQsTQ9zXF3EocELRlcoBtifJPMmDfcC5mP2oWbQP957Uhe5AzEMn+W", - "Yw+BbyqWZ39vIoA6yQIl5ekqamKYm46/NMmc6yXbcxzNCrOinEMeHc7emb/4uzVy+/9TjJ2nYHxk224S", - "QLvczuIawNtgeqD8hAa9TOdmghCr7ZCI2oc2X4qM4DxNCpKGyvp5DYOEaP+qQOlYCCZ+sH48qN8x7wKb", - "j6s2Xs3I97YYywpIK0MCSrOsqHIbbQ/ZEqRTPFZlLmg2JWac02+PXhI7q+1jM5PafGBLFObaq+i864N8", - "ReM8Qn2S0bi3+vhxtrvPmlUrjQlLlKZFGQtEMi1OfQOMdgp1nSjmhdiZkRdWwlZefrOTGHpYMFkYybQe", - "zfJ4pAnzH61pukLRtcVNhkl+fCI7T5UqyF9fp6OtUw7huTNwu1x2NpXdlAjzvrhkytbggAtoxz7VgYDu", - "6eRjodrLkxXnllKiPHpboOp10O6Bs+4JXh0ahayD+CsKLkpUMoWr5vU7wV7RHB7dJIG9xPU2RrzOpOpr", - "K6WUC85SzKARVP2oQXb1PMbYCkYkG+kqo/wRdyc0criiqQlr5zCHxcFkhZ4ROsT1lZXBV7OpljrsnxoL", - "R6yoJkvQynE2yKY+/aTTlzCuwKWQwtIuAZ8UsmV/QQ4ZNeklter3imSEkRADAvB35ttr9zxCF+FzxlEQ", - "cmhz3shWo4HlBrSRnpgmSwHKraedaEH9bPrMMNlABut3M1+eAMew5guzbGur6w915C13zlJm2j43bYn1", - "Ia1/bjmd2kmPytJNGnUcq3c4lkBzEMERC0ziVeABcuvxw9G2kNtWkzvep4bQ4AINdlDiPdwjjDoXaSep", - "8AXNK+dmgg4p1nEpGi3LeASMl4xDUzwjckGk0SsBNwbP60A/lUqqrQg4iqedAs3RShdjaEo7Fe1Nh+ps", - "MKIE1+jnGN7GJo3qAOOoGzSCG+WbumaHoe5AmHiOxYIcIvtJUVGqckJUhk7knTSpMcZhGLdPMNy+APrH", - "oC8T2e5aUntyrnITDcUFpiImb367hrSyRmihvE85STHQPrgvohpNpszjqZjnEe++F/XHIPcwOvzPN/hv", - "LGPWMEqclfjKXmfeJIwdryywtkfqiZuGmBLFlsl4TCAzvzk6mqmvR2FN/1slsVws24B84sw229hLuEcx", - "xnJlJ8O2/yC+1+rwx7HugYPef1fwqzO3zoCnZ5DPh9qLzZo3hvw900H3ZKpdlJCmpElG0ucJNrt4bATr", - "XmCzmtuCiFHVzpBLgfUoMJ97vceJZD0BF8feilDvq9IH6G/eEY6UlDnbXcMs+ph1DtB9l/QxznTNBncX", - "4dyKcZDYSnrpHrdTSM+tPAiNsFn5ZuPTExzVhlE012BO9SVwl1S97WI42tFpsYBUs4sdbvz/bYTlxkV8", - "6sVpW4ki8OpnteOMr5t5RSm/AWibl/1WeIIcKDcGZ8jt8xw29xRpUUM0TeDUE+p1ol8RA5gfJjEkIlTM", - "8GDf/04XzFRNGYgFb+iz3aFJzTWYnzkISrnmXJ4kCQ0DVbZMeSFiD4hRc5muVwrfQh+QIU//fobU4dvr", - "BSakVXVu/bowZuDHYd6J3ex9ly76FoMuapWXj8MF5X/zEVZ2FltwtckgjQrGSyoz3yIqMXthPBnwtur6", - "L1s3cRYHelHPzBq3jL4LbyRrBTrfpLlQjC+TIQ+mtidEWLMJ7T1NzADCtQDpMsdrX8820cK7cWyDYxsq", - "XH2h6yBBDeZgtMANxm+/bQLUMVUXtdWMnS0rXCCRUFADnQzCyIfn3Ibs5/a791n1wR2dxGiRcT29Jjvj", - "wL1DDlM9JIZUvyDuttztC3udpwrj3BbmULGYcm5QGSqxSimyKrUXdHgwwD/pRmds2MJKolJ+2l9lT2DL", - "MX/JyyCy4Bw2+1ZoSleUN4lk2sfappa0awjiMju7fauvuLjAmi/tApa3AufnfAlNJ6UQeTKgtTruh8Z3", - "z8A5S88hI+bu8KbsgRzN5D4qS2qzxOVq40PByxI4ZA9mhJi3VFHqjbdQtJPCdSbn9/S2+dc4a1bZbBXu", - "kTY743EvDFsf/Ib8zQ+znaspMMzvhlPZQXbEnq8HwvIlvYxkLB9bbC1iM+hmkW6IykIRk1KuGYg46nz3", - "H2oR0g+DDna8f85brzqb9qhjJxASbvl1FyhIr/i664dTjF0ergO5WqWgv87RG9DC7QDuxyC+UU30kTus", - "UdDzMRqFeIoW0x1VGhYhmN+IIKjk14e/EgkLzHcoyN4eTrC3N3VNf33U/mxeX3t70ZP5yZQZrZpubt4Y", - "xfx9yK5sbacDLgyd/ahYnu0ijJZDSpN7FF0ufnGuO58l++kv9oncP6ouEeRV1KjdTUDERNbamjyYKnA1", - "GeFl4rpFfErwskkryfQGI4r8i4r9Eo27/75WwrhCobUPunOBtiX5nUdUo7Jpqqh/L2ypv8Lc9ajE1lie", - "4ds1Lcoc3EH5+t78L/D4r0+yg8cP/zL/68HTgxSePH12cECfPaEPnz1+CI/++vTJATxcfPVs/ih79OTR", - "/MmjJ189fZY+fvJw/uSrZ3+550uYW0Cb8uD/wBTBydGb4+TUANvghJasrspiyNinG6UpnkTzJsknh/6n", - "/9+fsFkqimZ4/+vEucdNVlqX6nB///LychZ22V/iGy3RokpX+36efjWMN8e1644NucAdtV4ZhhRwUx0p", - "HOG3t9+enJKjN8ezhmAmh5OD2cHsIWb1LoHTkk0OJ4/xJzw9K9z3fUdsk8P3H6aT/RXQHFO9mz8K0JKl", - "/pO6pMslyJnLu2p+uni07y3/++/d+/SDGXUZi7WyTkhhIeReOlKn60J7knUyaqX3Ui7b1LRO+ubER56h", - "b4h98hnWViPrOGsSvASB/T4wykaKH/4cSYO9YMtKdupI1dp8lxGSKfJfJz++JkKSV1bn/oam56H/Raxc", - "vWNlsWr1zkujUMuybdJsNP2xijOxvK44s9nngFJrVVHDibSsIISk4auGVx4kz969f/rXD5MRgKDe0tXr", - "/ZXm+a+20BesUfnTLp2tpkN12qeN6qFTHXuKNtn6a5hvtG7T9gT6lQsOvw5tgwMsug80z01DwSG2B+/Q", - "RRspAQ/Ro4ODj1Bhe9oaxZPEZy3V/eT2F9pJ13Fby+4N20PCNzTDnJCgtF3aw1tb2i0vaedSjjmaEswN", - "QOwN92E6eXqLe/XpF2R4EM0Jtgziofq3yk/8nItL7lsa6aYqCio3KLsEiWtDKfXD4O21HybZ23/fUjRn", - "N7rbevlFj1/suO7uqSEm2U8U0MnhZ77XWepQFekSFcKaKa0ezMj3YW9k1Oh3b73aK8mbUlilFBcsMyzX", - "2eh8eGID2z0VhiREL9/g9X53D3/Ue/iorYVoRZrHgGmR+FaYepaom16EfT+oTgr2a6U4D/IVXSNLz0fN", - "A9t5BA5WpxzBYO9wN1TZc0DcCeCtJZ92lsePz3ftey64Jlr3wUfkyrcsvH1qgeAVzQ2dBMvt+GTb9At3", - "QtyfRoirnRNsJRXMOLRNrMOcdPvvfbaMWxDlXLaQEUJc+PIN+gbZHO53OMWDmU19Eba5HjtwjgY7xTPM", - "YXInmH1swayf/CcGRpPS5fMJYwjDqskOdJXyJa1MkFfKYvSFSl9/YmQNilsG0t2C1jV4Y0+Icpz4o/HM", - "P6Tw5JB2Jzb9qcUm69u3RXBqZeZyjqDDshMEZdWDSjUtR7T5xtPhlCghnTtUKZmQTG+mhHGSgTl7aEEU", - "EoOQmwLtzukIOP731dE/0BX11dE/yNfkYFqLYBijFZneOvu0ZaDvQfd92tQ3m6NaHNgqC/1uBIzTGkkD", - "Bf618Mm1EGkFXX89hLK1tTPGxLOCridbJZHplyMt3lRo6kRX9qnIlUhFJwBf1qftYqUIrGmq8w2heP9s", - "rC8wlo73mbE6xe5FmYQDROOPtszoq4bEosiu6uUVCWHHZODb4TvtZBFqocNloMMSPbsFkx4yohBcT8q7", - "290vdnf7YikphTnTDFMkNPeJv6taQDa1Ixy4Aw6sM/I/okLnF1saDWLpPXEGdPb1czoBNMjPm2Nhuho7", - "e3vdhe/tuT1niizgEjko5diwi469vT+AyLqusypSwgVPOFbuugASeMzdya2/a7n16cHjL3Y1JyAvWArk", - "FIpSSCpZviE/8ToNzc3E8prnVDxIDLSV//Q85xspOhDfb2S77tqmmW4kw1YgVaBCqAssurfytMnpb97y", - "mD7EB7CrqTedoCOgtarY/Zj2DCuzmJAeWHC+2Ry/GCOXfyGG0NFprCL3WnxvPvYNEPWneftp/GnGMdMn", - "B08+HQThLrwWmnyH6rKPzNI/qu4gTlYBs7myRaWxmISsxQUmbmUq5oROXepRzIW5IXXgkOEnlhHa4gN9", - "rmFmGMsvfsf6+RFFlCN02UXvHV+44ws34gtdgmo4Aobfq/33aCoI2UHvSH5jWv6BTIyBvUWKwhtcBFmA", - "Tlc2LUE3TCbCVnw2vGGesi1n/C3b/xDoSM5cXIsLBcFc5iMDBLHjDzYy48N0koKMEN+PPj+O+cwWGOZZ", - "Zzr0pRHQnMN8tuA6UbBLp86U90F3WXCI2cUrQfm8mbwftoNouQ2b4R2Cr4bgHlP71uVttsfLLeJLV3wE", - "tyVJyGsUh/CA+0R/f0S1x8e8kT/2gl4LDtYubSRWS4t3JshaXMDqKogUnxXBGh5d+d246NA2Or7Xa5Z9", - "2K/T9gwJFW+wwQ6hormpWVPTsq1eoWUJVKprX9K7zWGnnRmPX4R+Gq0sQ3V+oQgoBi9XtCT+xxgz4h/X", - "Wte+gVdUreLx3rhBmxKLMphWZFFxu1V1/Sh02vFuJGIxrdXVhh+IxeEZ3yOqKrA3/n9Fnz589Mujp19N", - "pvWKXQODjebzu0g8MsvW0VQcsPYZhUJ6cjpDPFT3FCnpZjCDz0AyrFcgz3Nfhr1tHCEFmItIrVj5OcrK", - "s3m8Fs8PBtFiQeoM2cf8m5rvXIBkCywoVZ+nT5xhRQJkUOrV1tQGth5WqVfNpoKr2MiUSyFTSnEBfErY", - "DGZdI1K2bJLN5kAXdQoSIca4eNXnwdKbJ44A6+FCxohob2L0g2GFLlXbp1ZGNK5Q9hLwyJMdfvxZNRX6", - "s2gqXgueoBwDXHuZuoWWz6e1wKwx00AxWNcc4EKjQlBIFL9CtqVmowQXGDTStHigdTkcJGMnxqRUp6uq", - "3H+P/8EI/g9NrLwtsLFvFZjbJJkT2+JWXVPsmES2uY1PGuGUqmJBXrFUiiPMLuSuEbVRGop++UXb9Zdt", - "pRuiV47gOeOQFILH8k38iF9f4cfpYKn5gc7oeDDUt1s0pwV/B6z2PGNY3U3xO/t9KEdvJOh3ViuhrN37", - "0A8C6b85La0Ess0xaf28/771p7MzuJZqVelMXAZ9bX6IrWfLtrjVs/VaZGDHbadkifldcpGBS2PRP1I1", - "14iLpB6/TbuOcJDSarnStnxgtDZp3TGhqT0KNger2pW00rbyydkugNBcAs02ZA7AiZibRbeT/xKq6nqw", - "SByWN8ZzLzZwlVKkoBRkSVg3aBtodXIQlHz0Fjwh4AhwPQtRgiyovCawlklsB7RbMK8Gt9awOT7Qh3rc", - "9Ns2sDt5uI1UAvEMEZ80oihzcI+aCApH4gRlbfaR989Pct3tq0osTRPJHmq/nrIC819wyoWCVPBMDef4", - "3XVsMatvsBYFthqrPynRih9m4IGr9SVV2lVGaqVCDHJDmym2JCUeSuxlRv57ndarN3Zq+CVXlWqKRlnZ", - "C7JoPU5Yb5nrNazrucQiGLsW7myt4F0jD2EpGL8uIxVkGdaB9scMF1kcBo9QJ4pFatqHQDSI2AbIiW8V", - "YDdUsQwAwlSD6Dp1aJtygjq+SouyNOdPJxWv+w2h6cS2PtI/NW37xOWc7pGvZwJUKHg7yC8tZm2FuBVV", - "xMFBCnruZPal833vw2wOY6IYT11q9KG4JlbAiWkVHoEdh7Qr9oXHv3XOOoejQ79Rohskgh27MLTgmKD5", - "uxALr/ru6yruPqKKuS1oB+JVI2jav/cvKdPJQkiXdh5rkEes1Z2sVpRpV/nevYq1cCpiV8XcMhQ3TlAf", - "UYWOwxYEH7xidr/vq2Km+k7IUcbxRo+tBTELIxXXzEcgm/NWy5i/P0vznfR8Jz3fSc930vOd9HwnPd9J", - "z3fS88eWnj+PtytJEs+nvW04FshEJl+khP8FxQp9yuCeRuivRX58JBgR3ZzjrV4wGmi+76oSo7tCtAan", - "dacPKxynZjrGSZlTIw3BWvugbjKnCr564p0y6lqSNg2+4TWmweNH5OSHI+d/YB0exKLT9r6v0Kb0JocH", - "zluwzlPt3QaBU6xciV6D1L9+Uu9RYqX5BcuBKIOsb7H5C7iA3Ijy1vpJzGOk/zw6BZo/d8ixXAmU/kZk", - "mw7hmPXvIyraJNNY/BmnMlJnt08oPSRrgbW2XeHo3gvqw637p/S3v79hu/YqXtwkXg93G73EfId6DgST", - "euwxVjOzpx6dxNXo/awsmyBEjswa9vS7iVroFmpzBwfbGqnCnb8vNcLAIz568PDYTn0hK8K0Io7i1olp", - "tASeOLaQzEW2cfXUfcnvFpe1tZiHmawtdAyukrw7BvfVA8NmEaNr3VL1YBnopS1P1FVbYLqSusrW52Gc", - "thTvVr55feqwg9dBPjf1T+0O1+cagRvGfSHJUoqqfGCzR/ENPomLkvKNV4MZWbGocld2EH3qb5dT17Wy", - "enzWP8eGX3Jv/IMteK84t8L27xYtWGHL7i9kpOIZyHghmzVXVyzU3JRJ31W8xJdx6q3OzTuG9ftddk6l", - "teqvtEXtIoXVO2XU7wLZ/hRXwhubpW2Aw/b9shqGMNt5M8iAZeHV0Elr4u+GNj99Sy9PW8Xux/HUdeIE", - "zxtLpStAgayW0iI5YMx9KQXNUqowVoeDvhTy/CNLrHp9HNE7IJiYy6vvqmwu8NlOwRLHHSVPtr3q3YSY", - "bEfZekifV7ps/E+PXGhUCxt3qoA/iirgG3/4FKFYWrFzOK3WD8/kCDZFL/WaR7nUfmlzgQ55vAUHwmUN", - "vVXbXW/4tgkvyMRpTRCQl4SSNGdooBBcaVml+oxTVIF26k52zHtesTssSj33TeJa+IiS3A11xo1QtSC1", - "YjQqUi0gYvL4DsBLbKpaLkHpDideAJxx14pxrPiMc2EZz8R6gprr2nD0mW1Z0A1Z0Bx1+L+BFGRuXhFh", - "fhhUKCrN8tzZE800RCzOONUkB8P0XzEj0JnhvM6ptpFbuquxMFCe2BYGS+JaiO/tV4y6cMv3eiNUb9nP", - "TUX2z1K+L4lVuHeQH79wuduOX2A6nsaS2IP9k5mXCsaTKJGZG99Z5Lu0Re4bGc8T0IPGJul2/YwbYVoL", - "goye6uuRQ9cM0DuL9nR0qKa1ER1rgV/ru1jc8FIk5slIl+b3JdOrao4F9Hw88f5S1LHF+xmFQnD8lu3T", - "ku2rEtL9i4c75IMb8CsSYVd3N/cfR4kf0oE5LfXGY47q7t4P3Mu3kCr3950fd6eL0l022rtstHf5Su+y", - "0d7t7l022rtcrXe5Wv+suVpnWyVEl99kZ/ZE3VNtUiIhtTPXDDxs1sqz2DdLMj0j5HRl+D81dwBcgKQ5", - "SamyghG3nnIFW640UVWaAmSHZzxpQZKKwk18v/mvfeaeVQcHj4EcPOj2sXqLgPP2+6Koip/Q1ES+JmeT", - "s0lvJAmFuACXdQ2bZxXaim2vncP+f/W4P8re1hV0Y5UrK1qWYK41VS0WLGUW5bkwj4Gl6Pj3cYFfQBrg", - "bKYMwrRNcIv4RL9I551DXfx5TOju3+9XKM911M1ncJdA5qNX7u5v2O3xwK1j9xjiHcv4FCzjszONP1Cu", - "u7u0dr+zBYWG1Fbe2htIUnXBtojeyctIVp1seDOOAGklmd7gDUdL9ss5mP+/M3xcgbzwl18l88nhZKV1", - "ebi/j5nlV0Lp/Ym5mppvqvPR3A90aUdwl0sp2QVmpXz34f8FAAD//ypu2RTTEgEA", + "H4sIAAAAAAAC/+y9e3fbOJIo/lXw0+45Sbyi5Lx6Jj6nz/7ccT+8k6RzYvfs7LZzuyGyJGFMAhwAtKXO", + "9Xe/BwWABElQkh9JOt3+K7GIR6FQKBTq+WGUiqIUHLhWo4MPo5JKWoAGiX/RNBUV1wnLzF8ZqFSyUjPB", + "Rwf+G1FaMr4YjUfM/FpSvRyNR5wW0LQx/ccjCf+qmIRsdKBlBeORSpdQUDOwXpemdT3SKlmIxA1xaIc4", + "PhpdbfhAs0yCUn0of+T5mjCe5lUGREvKFU3NJ0UumV4SvWSKuM6EcSI4EDEnetlqTOYM8kxN/CL/VYFc", + "B6t0kw8v6aoBMZEihz6cL0UxYxw8VFADVW8I0YJkMMdGS6qJmcHA6htqQRRQmS7JXMgtoFogQniBV8Xo", + "4OeRAp6BxN1KgV3gf+cS4DdINJUL0KP349ji5hpkolkRWdqxw74EVeVaEWyLa1ywC+DE9JqQ15XSZAaE", + "cvLuu5fk6dOnL8xCCqo1ZI7IBlfVzB6uyXYfHYwyqsF/7tMazRdCUp4ldft3373E+U/cAndtRZWC+GE5", + "NF/I8dHQAnzHCAkxrmGB+9CiftMjciian2cwFxJ23BPb+E43JZz/s+5KSnW6LAXjOrIvBL8S+znKw4Lu", + "m3hYDUCrfWkwJc2gP+8nL95/eDx+vH/1bz8fJv/r/nz+9GrH5b+sx92CgWjDtJISeLpOFhIonpYl5X18", + "vHP0oJaiyjOypBe4+bRAVu/6EtPXss4LmleGTlgqxWG+EIpQR0YZzGmVa+InJhXPDZsyozlqJ0yRUooL", + "lkE2Ntz3csnSJUmpskNgO3LJ8tzQYKUgG6K1+Oo2HKarECUGrhvhAxf0+0VGs64tmIAVcoMkzYWCRIst", + "15O/cSjPSHihNHeVut5lRU6XQHBy88Fetog7bmg6z9dE475mhCpCib+axoTNyVpU5BI3J2fn2N+txmCt", + "IAZpuDmte9Qc3iH09ZARQd5MiBwoR+T5c9dHGZ+zRSVBkcsl6KW78ySoUnAFRMz+Cak22/5fJz++IUKS", + "16AUXcBbmp4T4KnIhvfYTRq7wf+phNnwQi1Kmp7Hr+ucFSwC8mu6YkVVEF4VM5Bmv/z9oAWRoCvJhwCy", + "I26hs4Ku+pOeyoqnuLnNtC1BzZASU2VO1xNyPCcFXX29P3bgKELznJTAM8YXRK/4oJBm5t4OXiJFxbMd", + "ZBhtNiy4NVUJKZszyEg9ygZI3DTb4GH8evA0klUAjh9kEJx6li3gcFhFaMYcXfOFlHQBAclMyE+Oc+FX", + "Lc6B1wyOzNb4qZRwwUSl6k4DMOLUm8VrLjQkpYQ5i9DYiUOH4R62jWOvhRNwUsE1ZRwyw3kRaKHBcqJB", + "mIIJNz9m+lf0jCr46tnQBd583XH356K76xt3fKfdxkaJPZKRe9F8dQc2Lja1+u/w+AvnVmyR2J97G8kW", + "p+YqmbMcr5l/mv3zaKgUMoEWIvzFo9iCU11JODjje+YvkpATTXlGZWZ+KexPr6tcsxO2MD/l9qdXYsHS", + "E7YYQGYNa/Q1hd0K+48ZL86O9Sr6aHglxHlVhgtKW6/S2ZocHw1tsh3zuoR5WD9lw1fF6cq/NK7bQ6/q", + "jRwAchB3JTUNz2EtwUBL0zn+s5ojPdG5/M38U5Z5DKeGgN1Fi0oBpyw4LMucpdRg7537bL6a0w/2eUCb", + "FlO8SQ8+BLCVUpQgNbOD0rJMcpHSPFGaahzp3yXMRwejf5s2WpWp7a6mweSvTK8T7GQEUSvcJLQsrzHG", + "WyPQqA1cwnBm/IT8wfI7FIUYt7tnaIgZ3pvDBeV60jxEWoygPrk/u5kafFsZxuK787AaRDixDWegrFxr", + "Gz5QJEA9QbQSRCuKmYtczOofHh6WZYNB/H5YlhYfKBMCQ3ELVkxp9QiXT5sjFM5zfDQh34djo4AteL42", + "t4KVMcylMHfXlbu+ao2RW0Mz4gNFcDuFnJit8WgwwvtdUBw+FpYiN+LOVloxjX9wbUMyM7/v1PnLILEQ", + "t8PEhc8nhzn7csFfgifLww7l9AnHKXEm5LDb92ZkY0aJE8yNaGXjftpxN+CxRuGlpKUF0H2xlyjj+PSy", + "jSyst+SmOzK6KMzBGQ5oDaG68Vnbeh6ikCApdGD4Jhfp+R2c95kZp3/scHiyBJqBJBnVNDhX7rzEL2vs", + "+AP2Q44AMiLR/4j/oTkxnw3hG75ohzUvdYb0KwK9emYeuFZstjOZBvjwFqSwb1pi3qLXgvJlM3mPR1i0", + "7MIjvrXPaII9/CLM0hsl2eFMyJvRS4cQOGlUf4SaUYPjMu7sLDatysThJ6I+sA06AzXWlr4UGWKoO3wM", + "Vy0snGj6EbCgzKh3gYX2QHeNBVGULIc7OK9Lqpb9RZj33NMn5OSHw+ePn/zy5PlX5kFSSrGQtCCztQZF", + "Hjoxmii9zuFRf2Uoz1a5jo/+1TOvMGqPuxVDCHA99i4n6hQMZ7AYI1Y9aqA7kmtZ3YVQDVIKGXniI+lo", + "kYo8uQCpmIhoa9+6FsS18Bdt2f3dQksuqSJmbtQ+VTwDOYlhXq84gsY0FGrbRWGHPl3xBjduQColXfd2", + "wK43sjo37y570ka+V2YoUoJM9IqTDGbVoiWTzaUoCCUZdkSG+EZkYOTpSt0BF2gGa4AxGxGCQGei0oQS", + "LjJA4btScf4wYLpBnTGqunXIcvTS3j8zMIJeSqvFUhPzihaxrW06JjS1m5LgXaEGNF21itK2stNZs0Au", + "gWZGAAROxMypk5yiCxdJUQutvYHZcaeISNyCq5QiBaWM4G7Fsa2g+XZ2l/UGPCHgCHA9C1GCzKm8IbBa", + "aJpvARTbxMCtxQmng+tDvdv0mzawO3m4jVQa2d1SgZFdzOnOQcMQCnfEyQVI1EV91P3zk9x0+6pywFLs", + "buBTVuATgFMuFKSCZyo6WE6VTrYdW9OoJSaYFQQnJXZSceCBZ+grqrTVSDKeocho2Q3OY9+nZophgAdv", + "FDPy3/1l0h87NXySq0rVN4uqylJIDVlsDRxWG+Z6A6t6LjEPxq6vLy1IpWDbyENYCsZ3yLIrsQiiun6/", + "O5V9f3H4yjX3wDqKyhYQDSI2AXLiWwXYDa1lA4CY90XdEwmHqQ7l1Ca68UhpUZbm/Omk4nW/ITSd2NaH", + "+qembZ+4qG74eibAzK49TA7yS4tZayddUiPb4cikoOfmbkJJzapO+zCbw5goxlNINlG+OZYnplV4BLYc", + "0gEh2XliBLN1DkeHfqNEN0gEW3ZhaMEDEvtbKjVLWYmSxN9gfefP/e4E0Zc/yUBTlkNGgg/IwJH31v2J", + "1YV3x7yZoLWTENoHvyeFRpaTM4UXRhv4c1ijCvCtNbKeBqbZO5AUI6Oa0005QUC96cZcyGETWNFU52tz", + "zeklrMklSCCqmhVMa2s1bwuSWpRJOED04bphRqc6sAZKvwO76DJOcKhgef2tGI+s2LIZvtOO4NJChxOY", + "SiHyHVSsPWREIdhJBUtKYXadOScNb8n3lNQC0gkxqDeqmecD1UIzroD8j6hISjkKYJWG+kYQEtksXr9m", + "BnOB1XM6ZWuDIcihACtX4pe9ve7C9/bcnjNF5nDpPZtMwy469vbwlfRWKN06XHfw4jXH7TjC2/FFby4K", + "J8N1ecpk6+vejbzLTr7tDO4nxTOllCNcs/xbM4DOyVztsvaQRpZULbevHcfdSaERDB1bt913KcT8jhRE", + "ccs2Pk6csdq0IvOKW6Aq5Z4jaL/xCg0xH9feC9Zr2Vq2qwJ74/+X1CmcRuPGJG0bmAu5+fw+IlKybBXz", + "PMhgFdsUd8bwOfXAvD3WCqLmHuTMYh5xPgJ5nruldXgHKcAcarVkpRmycZRYa2g5Wf6fh/958PNh8r80", + "+W0/efEf0/cfnl092uv9+OTq66//b/unp1dfP/rPf4+J1kqzWVyv94NBtJgTx+NX/JhbzfxcSPsgWzs5", + "T8w/PdxaAmRQ6mXMq7GUoJA3Wu/EUi+bTQXoKFFKKS6AjwmbwKTLY7MFKK9NyoHO0bsOHxViF2tffR4s", + "vXniCLAeLmQnRhajH7RdIW3iaTavjnx9B9KLHYjINj79a13Zr2IeuoS6g6LWSkPRV3jZrr8MiPvvvLDc", + "O1SC54xDUggO62gUBOPwGj/Getv7bqAzSh5DfbuPiRb8HbDa8+yymbfFL+52wODf1hbbO9j87rgdXWfo", + "DIu6GshLQkmaM9TkCK60rFJ9xim+FQNyjdhJ/At4WHvw0jeJqysi2gQ31BmnyuCwfkFGdeBziNxZ3wF4", + "JYKqFgtQuiM1zwHOuGvFOKk40zhXYfYrsRtWgkRjxcS2LOiazGmOyo7fQAoyq3RbjsRbT2mW507xaqYh", + "Yn7GqTY8SGnymvHTFQ7nXeM8zXDQl0Ke11iIX1EL4KCYSuJ8/3v7Fdm/W/7SXQUYQGE/e37zqfm+hz3m", + "UeYgPz5yb6zjIxSkG5VrD/ZPpocrGE+iRGYEo4JxdEzu0BZ5aJ4DnoAeNcpbt+tnXK+4IaQLmrPMCE83", + "IYcui+udRXs6OlTT2oiOWsWv9X3MHr4QSUnTczSHjhZML6vZJBXF1L8tpwtRvzOnGYVCcPyWTWnJpqqE", + "dHrxeIugewt+RSLs6mo8clxH3bkmxg0cW1B3zlqh6f/Wgjz4/ttTMnU7pR5Y91I7dOAXGFEHONeXlsXK", + "LN6GR1n/2jN+xo9gzjgz3w/OeEY1nc6oYqmaVgrkNzSnPIXJQpAD701zRDU94z0WPxjBGPgxkbKa5Swl", + "5+FV3BxNG5XSH+Hs7GdDIGdn73vmj/7F6aaKnlE7QXLJ9FJUOnFu94mESyqzCOiqdrvGkW3QzKZZx8SN", + "bSnSufW78eOsmpal6nph9pdflrlZfkCGyvkYmi0jSgvpmaDhjBYa3N83wr25JL30MRuVAkV+LWj5M+P6", + "PUnOqv39p0Babom/Ol5jaHJdQktxdCMv0a7SCBduBSpYaUmTki5ARZevgZa4+3hRF6iizHOC3VrukN55", + "AIdqFuDxMbwBFo5ru3bh4k5sLx8/GV8CfsItxDaGOzWa/5vuV+AgeePt6jhZ9nap0svEnO3oqpQhcb8z", + "dVjVwvBkb45RbMHNIXARaDMg6RLSc8gwGAaKUq/Hre7e4uduOM86mLJBY9aDCyMbUMc2A1KVGXUyAOXr", + "rou5Aq29X/07OIf1qWgCI67jU972dFZDBxUpNbiMDLGGx9aN0d18Zz1G786y9A7D6BznyeKgpgvfZ/gg", + "2xvyDg5xjChanrhDiKAygghL/AMouMFCzXi3Iv3Y8ox4M7M3X0TN43k/cU0aqc1ZgMPVoIOx/V4ARqCK", + "S0VmVEFGhAuetN68ARerFF3AgO4pVHPu6DPbUo3iINvuvehNJ+bdC61330RBto0Ts+YopYD5YkgF9YQd", + "u7+fyWrScQUTgjkRHMJmOYpJtcuBZTpUttTNNsh7CLQ4AYPkjcDhwWhjJJRsllT5uE4Mf/VneScZ4CN6", + "p28KRjoOTNZBjGsdauR5bvecxhW3NuioUE3wUai13SGQaDxyXlSx7RAcBaAMcljYhdvGnlAaT/lmgwwc", + "P87nOeNAkpj1myolUmYDc5trxs0BRj7eI8TqnsjOI8TIOAAbLUQ4MHkjwrPJF9cBkjtPf+rHRttS8DfE", + "XQGtf5MReURpWDjjA55pngNQ5zJR318dxx0chjA+JobNXdDcsDmnRG0G6YXGoNjaCYRxNspHQ+LsBtWf", + "vViutSZ7Fd1kNaHM5IGOC3QbIN4sSsS2QCG+3NO3xtXQXbrL1APX9xCuHgZBNTcCoKOJaPLOuJff1hda", + "+27u32QNSx83UaLeNTNG+0P0E92lAfz1FcF1GMzb7nUdfaS3bZftCKBAfoqxYnNG+qrRvgJWQQ4oESct", + "CSI5jynMjWAPyG5PfLfg5Y5xRpSvHwUGcQkLpjQ0qitzK3ld7Kc2d1GMaxZiPrw6Xcq5Wd87IWoebePn", + "rPkuXOYnX8GF0JDMmVQ6Qb1fdAmm0XcKX5TfmaZxQaFtcrcpPlgW5w047Tmsk4zlVZxe3bx/OzLTvqmV", + "MKqancMaxUGg6ZLMMCVN1BFnw9TWV2vjgl/ZBb+id7be3U6DaWomloZc2nN8Ieeiw3k3sYMIAcaIo79r", + "gyjdwCDx4j+CXMdCcQKhwR7OzDScbFI99g5T5sfe9FAKoBi+o+xI0bUEr+WNq2DofWCee0wHGV36cQMD", + "Z4CWJctWHUWgHXXwuUiv9dr3EbMdLODuusG2YCBQ+sVcUyWodnB0I93a3Dw8XNtkJ8yctkOYQ4YQTsWU", + "zyzXR5QhbUx/tA1Xp0Dzv8H676YtLmd0NR7dTm8Yw7UbcQuu39bbG8UzGsSsHqllBrgmymlZSnFB88Rp", + "V4dIU4oLR5rY3CtjPzGri+vwTr89fPXWgX81HqU5UJnUosLgqrBd+cWsysZhDxwQn7nKPHi8zG5FyWDz", + "6/jYUCN7uQSXJSiQRntZDRpte3AUnYZ2HrfLb9W3OsOAXeIGAwGUtX2g0V1Z80DbJEAvKMu90shDO2BD", + "x8XtlhojyhXCAW5tWggsRMmdspve6Y6fjoa6tvCkcK4NeYwKm6pLEcG7LllGhERdFJJqQTEngVUJ9JkT", + "r4rEHL9E5SyNKxj5TBni4NZwZBoTbDwgjJoRKzZgh+QVC8YyzdQOD90OkMEcUWT6/BZDuJsJl2O14uxf", + "FRCWAdfmk8RT2TmomATCqZr716mRHfpzuYGteroZ/jYyRpiPo3vjIRCbBYzQTNUD96h+MvuF1uoY80Og", + "j7+GtTucsXclbrBUO/pw1GxdhpZtc1OYErXP/wxh2PRZ2/Ox+serSwwyMEc0vypTyVyK3yD+zsPnccRv", + "3WcgYeg1+RvwSST8p8tiau1Okya2mX1wu4ekm1AL1bbQD1A97nxgk8JsD149S7ndapvusOUXEieY0Jdr", + "asdvCMbB3PN/y+nljMZSYRghw8B02Fg/W4pkLYjv7HHvdN7MJYWZkMCQWrdlNqKrBNmElPSjh28oMNhp", + "dxYVGskAqTaUCcbW+JUrERmm4peU26yZpp89Sq63Aqv8Mr0uhcR4TBXXeWeQsoLmcckhQ+y341cztmA2", + "Z2SlIEhK6AayyXYtFbnEjta+3KDmeE72x0HaU7cbGbtgis1ywBaPbYsZVcjJa0VU3cUsD7heKmz+ZIfm", + "y4pnEjK9VBaxSpBaqMPnTW25mYG+BOBkH9s9fkEeos1KsQt4ZLDo7ufRweMXqHS1f+zHLgCXHHYTN8mQ", + "nfy3YydxOkajnR3DMG436iQaXWgzeg8zrg2nyXbd5SxhS8frtp+lgnK6gLibRLEFJtsXdxMVaR288Mym", + "o1VaijVhOj4/aGr404DPp2F/FgySiqJgunCWDSUKQ09NxkE7qR/O5rZ1aXE8XP4jGghLbx/pPCI/rdLU", + "3m+xVaMZ9w0toI3WMaE2CDdnjeneZ7Iixz6UH/ME1emBLG7MXGbpKOagJX9OSsm4xodFpefJX0m6pJKm", + "hv1NhsBNZl89i+RGaqdD4dcD/JPjXYICeRFHvRwgey9DuL7kIRc8KQxHyR41PtbBqRy0ZMa9xTxH7zoL", + "bh56V6HMjJIMklvVIjcacOpbER7fMOAtSbFez7Xo8dor++SUWck4edDK7NBP7145KaMQMpbYpTnuTuKQ", + "oCWDC3Rci2+SGfOWeyHznXbhNtB/XsuDFzkDscyf5dhD4JuK5dnfm5iRTno5SXm6jOr9Z6bjL03633rJ", + "9hxH84gsKeeQR4ezd+Yv/m6N3P7/FLvOUzC+Y9tu2ji73M7iGsDbYHqg/IQGvUznZoIQq20n+trrMl+I", + "jOA8TdKKhsr6mfCCFFr/qkDpWNAefrCeH6jfMe8Cm8GJAM9Qqp6Q7235jiWQVkw9SrOsqHIbnw3ZAqRT", + "PFZlLmg2Jmac028PXxE7q+1jc1naDFILFObaq+i864MMN7v5EPq0lHH/5t3H2exwaVatNKa4UJoWZSx0", + "xbQ49Q0wPibUdaKYF2JnQo6shK28/GYnMfQwZ7Iwkmk9muXxSBPmP1rTdImia4ubDJP87qnPPFWqION5", + "ncC0TlKD587A7bKf2eRnYyLM++KSKVu1AS6gHS1Th465p5OPnmkvT1acW0qJ8uhNoY03QbsHzhq0vTo0", + "ClkH8dcUXJSoZArXzQR3gr2iWR+6aeV6qc5tVHGde9NX40kpF5ylmHMhqBNRg+wqQOxiK9ghPUVXGeWP", + "uDuhkcMVTWZXuxM5LA6mt/OM0CGur6wMvppNtdRh/9RYamBJNVmAVo6zQTb2CQudvoRxBS7pEBYDCfik", + "kC37C3LIqEkvqVW/1yQj9J0fEIC/M9/euOcROpWeM46CkEOb81+1Gg1MUK+N9MQ0WQhQbj3t0Hz1s+kz", + "wfD0DFbvJz6hPY5hzRdm2dZW1x/q0FvunKXMtH1p2hLrdVj/3HJTtJMelqWbNOpqVO9wLOXiIIIjFpjE", + "q8AD5Nbjh6NtILeNJne8Tw2hwQUa7KDEe7hHGHX2yk4a2guaV5aisAWxri7R+ErGI2C8YhyacguRCyKN", + "Xgm4MXheB/qpVFJtRcCdeNop0BytdDGGprRT0d52qM4GI0pwjX6O4W1sEm8OMI66QSO4Ub6uqzwY6g6E", + "iZdYXsYhsp9GE6UqJ0Rl6HbcSawZYxyGcfuUtO0LoH8M+jKR7a4ltSfnOjfRUCRZKmLy5rcrSCtrhBbK", + "eyGTFEOzg/siqtFkyjyeilke8Qc7qj8G2WrRRXy2xn9jOZaGUeKsxNf2U/ImYex4bYG1PVJP3DTElCi2", + "SHbHBDLz26OjmfpmFNb0v1MSy8WiDcgnzoWyib2EexRjLN8ajh3GNfcSh1meXocdo1eQ8FnU8b1WB8y1", + "2QHeIb1MYqiNrhNib9YHDKe2HuOtM+AbGGSAofZis+aNIQ/BdNChlWoXV6IpadJX9HmCzUcdG8G6F9g8", + "2LaEXlS1M+RSYD0KzOde791Esp6Ai2NvRKj3VekD9DfvCEdKypztrmEWfcw6l9m+E/MuznTNBncX4RxR", + "cZDYSnoJAjdTSM8ROXCmt3ncJrsHtB/WhlE012AW7gVwl4a77WK4s6PTfA6pZhdbHL//2wjLjVPx2IvT", + "tnZB4AfOascZX2nxmlJ+A9Amv+yN8ARZM24NzpDb5zmsHyjSooZoYrmxJ9SbxEsiBjCjSGJIRKiY4cG+", + "/50umKmaMhAL3tBnu0OTzGkwo28QxnDDuTxJEhqGNmyY8kLEHhA7zWW6XivgB31AhnzD+zk1h2+vI0xh", + "qups7HUpxcCPw7wTu/neLl28Jrrp1yovH7kJyv/mY3LsLLZEZ5NzGBWMl1RmvkVUYvbCeDLgbdX1X7Zu", + "4iwO9LyemTVuGX0X3kieA3S+SXOhGF8kQx5MbU+IsMoP2ntQN4HJShGuOUiXa1z7CqiJFt6NYxMcm1Dh", + "KtLcBAlqMGufBW4w4vddE9KMyZ2orX/rbFnhAomEghroZBB4PDznJmS/tN+9z6pP7tNJpRUZ19NrsjVy", + "2DvkMNVDYkj1c+Juy+2+sDd5qjDObSkHFYtC5gaVoRKrlCKrUntBhwcD/JNu5xj/DawkKuWn/VX2BLYc", + "M168CiILzmE9tUJTuqS8ST3SPtY2GaFdQxDJ19ntO33FxQXWfGEXsLgTOD/nS2g8KoXIkwGt1XE/mLp7", + "Bs5Zeg4ZMXeHN2UPZPUlD1FZUpslLpdrHzxclsAhezQhxLylilKvvYWinUasMzl/oDfNv8JZs8rmN3CP", + "tMkZj3th2IrSt+RvfpjNXE2BYX63nMoOsiVaeTUQyC3pZSTH9a7luSI2g27e4YaoLBQxKeWGoWs7ne/+", + "Qy1C+mHQwZb3z3nrVWcT5XTsBELCHb/uAgXpNV93/XCKXZeH60CuVinor3PnDWjhdgD3uyC+UU30kTus", + "UdCzXTQK8aQepjuqNCxCMCMOQVDJr49/JRLmrrz93h5OsLc3dk1/fdL+bF5fe3vRk/nJlBmtKmBu3hjF", + "/H3IrmxtpwMuDJ39qFiebSOMlkNKk60SXS5+ca47nyVf5i/2idw/qi514HXUqN1NQMRE1tqaPJgqcDXZ", + "wcvEdYv4lOBlk1aS6TVGFPkXFfslGqn9fa2EcaUlax905wJti7g7j6hGZdPU3f5e2OJwhbnrUYmtMaH/", + "tytalDm4g/L1g9lf4Olfn2X7Tx//ZfbX/ef7KTx7/mJ/n754Rh+/ePoYnvz1+bN9eDz/6sXsSfbk2ZPZ", + "syfPvnr+In367PHs2Vcv/vLAF722gDYFpf+BSWWTw7fHyakBtsEJLVldx8OQsU9QSVM8ieZNko8O/E//", + "vz9hk1QUzfD+15FzjxsttS7VwXR6eXk5CbtMF/hGS7So0uXUz9Ovn/D2uHbdsSEXuKPWK8OQAm6qI4VD", + "/Pbu25NTcvj2eNIQzOhgtD/ZnzzGPNAlcFqy0cHoKf6Ep2eJ+z51xDY6+HA1Hk2XQHNMDm7+KEBLlvpP", + "6pIuFiAnLlOn+eniydRb/qcf3Pv0yoy6iMVaWSeksHRuL4Gl03WhPck6GbUSQimXn2hcpwlz4iPP0DfE", + "PvkMa6uRdZw1KUGOg3qsLjDKRoof/BxJnDxni0p2Kg/V2nyXQ5Ap8l8nP74hQpLXVuf+lqbnof9FrMC5", + "Y2Wx+ubOS6NQi7Jt0mw0/bEaJbFMoJHy+42qaLjyfsNXDa/cT168//D8r1ejHQBBvaWr8PorzfNfbWko", + "WKHyp11sWY2HKnuPG9VDp57yGG2y9dcwQ2Xdpu0J9CsXHH4d2gYHWHQfaJ6bhoJDbA/edwrJP9nf/wg1", + "mcetUTxJfNbizs/ucKFtC9qtl9sdrrfob2iGWQNBabuUx1/sUo45mg4Mxyf2Rrsaj55/wXtzzA3PoTnB", + "lkH8U/8W+Ymfc3HJfUsjzVRFQeUaZZUgtWkolV4N3lbTMA3b9ENLsZzd6i7rZaA8PtpyvT1QQ0yxnxig", + "k+XNfK/zmKHqMSxarx5NyPdh75tVpm9gC+vTD1y2wWv9/t79qPfuYVvr0IosjwHTIvGNMPUsT7e9+Pp+", + "T50k3TdKgh3kk7tBVp6Pmim08+gbrF+4A4O9x91Q7ccB8SaAt5Z02nkAPz7fte+34Jpo3QcfkSt/4cLa", + "a5obOgmW2/HBtukW7oW4P40QVzsj2FobmGFok1iHaUSnH3x2jDsQ5Vx2kB2EuPClG/QNsjc87HCKRxOb", + "6iJsczN24BwLtopnmLPkXjD72IJZP9lPDIwmhcvnE8YQhmWTDeg6BS5ayXuvlbXoC5W+/sTIGhS3DKTb", + "Ba0b8MaeEOU48UfjmX9I4ckh7V5s+lOLTdaXb4Pg1MrE5Rw/h2UnCApvB7VMWo5ns7WnwzFRWN/f/FRK", + "JiTT6zFhnGRgzh5aDIXEoOOmhLdzMgKO/319+A90PX19+A/yNdkf1yIYxmRFprfOPW0Z6HvQkRLz36wP", + "a3Fgoyz0uxEwTmskDZSA18In00KkFXT19RDKVtauGBPPCroabZRExl+OtHhboakTTdmnIldE05aQd4Vf", + "2i5VisCKpjpfE4r3z9r6/mJxcZ8Jq1MOvVubPxZvtGFGX1ciFjV2Xa+uSMh6ry7+QLngISp1GeewiMt2", + "waSHjCgEN5Py7nf3i93dvlhKSmHONMOUCM194u+qFpBNdQEH7oDD6oT8j6jQ2cUWz4JYOk+cAZ17/ZxO", + "AA3y8eZYuqzGzt5ed+F7e27PmSJzuEQOSjk27KJjb+8PILKu6iyKlHDBE461nS6ABB5y93Lr71pufb7/", + "9ItdzQnIC5YCOYWiFJJKlq/JT7xOO3M7sbzmORUPEgFt5D89T/lGig7E91vZrru2aaYbybAVOBWoEOoS", + "fO6tPG5y+Ju3PKYL8QHrauxNJ+j4Z60qdj/GPcPKJCakBxacb9bHR7vI5V+IIXTntFWRey2+Nx/7Boj6", + "07z7NP40uzHTZ/vPPh0E4S68EZp8h+qyj8zSP6ruIE5WAbO5tkWlsZiErMUFIm5kKuaEjl2qUcx9uSZ1", + "oJDhJ5YR2mIDfa5hZtiVX/yO9fM7lNmN0GUXvfd84Z4v3IovdAmq4QgYbq+mH9BUELKD3pH8xrT8A5kY", + "A3uLFIU3uAgyB50ubRqCblhMhK347HfDPGVTjvg7tv8h0JEcubgWF/qBuct3DAjEjj/YSIyr8SgFGSG+", + "H30+HPOZzTGss85s6EshoDmH+ezAdWJglz6dKe9z7rLeELOL14LyZTN5P0wH0XIXNsN7BF8PwT2m9q3L", + "02yPl1vEH8Er3SfxTcgbFIfwgPvEfn9EtcfHvJE/9oLeCA7WLm0kVkuL9ybIWlzAaiqIFJ8FwRoeXYHW", + "uOjQNjp+0CuWXU3rND1DQsVbbLBFqGhuatbUsGyrV2hZApXqxpf0dnPYaWfG46PQT6OVVajOJxQBxeDl", + "mpbE/9jFjPjHtda1b+AlVct4fDdu0LrEIgymFZlX3G5VXS8KnXa8G4mYj2t1teEHYn5wxveIqgrsjf9f", + "0uePn/zy5PlXo3G9YtfAYKP5/D4Sf8yyVTT1Bqx8BqGQnpzOEA/VA0VKuh7M2DOQ/Oo1yPPcF+puG0dI", + "AeYiUktWfo7C42wWr73zg0G0mJM6I/Yx/6bmOxcg2RwLSNXn6RNnVJEAGZR6uTGVga1/Vepls6ngKjQy", + "5VLGlFJcAB8TNoFJ14iULZrksjnQeZ1yRIhdXLzq82DpzRNHgPVwIbuIaG9j9INhhC4126dWRjSuUPYS", + "8MiTHX78WTUV+rNoKt4InqAcA1x7mbqFls+ntcAsMeNAMVjXGOBCo0JQSBS/QralJjsJLjBopGnxQOty", + "OEjGToxJqU6XVTn9gP/BiP2rJjbeFtSYWgXmJknmxLa4U9cUOyaRbW7jk0Q4paqYk9csleIQswm5a0St", + "lYaiX27Rdv1lU6mG6JUjeM44JIXgsfwSP+LX1/gxmq8Izd0DndHxYKhvt0hOC/4OWO15dmF1t8Xv5Peh", + "HL2VoN9ZrYSydu9DPwik/+a0tBLGNsek9fP0Q+tPZ2dwLdWy0pm4DPrafBAbz5Ztcadn643IwI7bTsES", + "87vkIgOXtqJ/pGquERdJPX6bdh3hIKXVYqltucBoLdK6Y0JTexRszlW1LUmlbeWTsV0AobkEmq3JDIAT", + "MTOLbif7JVTV9V+ROCxvjOdabOAqpUhBKciSsE7QJtDqZCAo+egNeELAEeB6FqIEmVN5Q2Atk9gMaLdA", + "Xg1urWFzfKAP9W7Tb9rA7uThNlIJxDNEfNKIoszBPWoiKNwRJyhrs4+8f36Sm25fVWIpmki2UPv1lBWY", + "74JTLhSkgmdqOKfvtmOLWXyDtSiw1Vf9SYlW+DADD1ytr6jSrhJSK/VhkAvaTLEhCfFQIi8z8t/rNF69", + "sVPDL7mqVFMkyspekEXrb8Jqw1xvYFXPJebB2LVwZ2sDbxt5CEvB+HXZqCCrsA60P2a4yOIweIQ6USxS", + "wz4EokHEJkBOfKsAu6GKZQAQphpE16lC25QT1O1VWpSlOX86qXjdbwhNJ7b1of6padsnLud0j3w9E6BC", + "wdtBfmkxayvCLakiDg5S0HMnsy+c73sfZnMYE8V46lKhD8U1sQJOTKvwCGw5pF2xLzz+rXPWORwd+o0S", + "3SARbNmFoQXHBM3fhVh43XdfV3H3EVXMbUE7EK8aQdP+Pb2kTCdzIV2aeaw5HrFWd7JYUaZdpXv3KtbC", + "qYhd1XLLUNw4QT1EFToOWxB88IrZ/b6vipnqOyF3Mo43emwtiFkYqbhmPgLZnLdaxvz9WZrvped76fle", + "er6Xnu+l53vp+V56vpeeP7b0/Hm8XUmSeD7tbcOxQCYy+iIl/C8oVuhTBvc0Qn8t8uMjwYjo5hxv9ILR", + "QPOpq0KM7grRmpvWnT6saJya6RgnZU6NNAQr7YO6yYwq+OqZd8qoa0fatPeG15gGT5+Qkx8Onf+BdXgQ", + "807bh74im9LrHB45b8E6L7V3GwROsVIleg1S//pJvUeJlebnLAeiDLK+xeZHcAG5EeWt9ZOYx0j/eXQK", + "NH/pkGO5Eij9jcjWHcIx658iKtok01j8GacyUle3Tyg9JGuBtbVdoejeC+rqzv1T+tvf37BtexUvZhKv", + "f7uJXmK+Qz0HglE99i5WM7OnHp3E1eT9rCybIESOzBr29LuJWugWZnMHB9saqcKdvy81wsAjPnrw8NiO", + "feEqwrQijuJWiWm0AJ44tpDMRLZ29dN9ie8Wl7W1l4eZrC1sDK5yvDsGD9Ujw2YRoyvdUvVg2eeFLUfU", + "VVtgupK6qtbnYZy29O5Gvnlz6rCD10E+t/VP7Q7X5xqBG8ZDIclCiqp8ZLNH8TU+iYuS8rVXgxlZsahy", + "V2YQfervllPXtbF6fNY/x4Zfcm/9gy14rzi3wvbvFi1YUcvuL2Sk4hnIeOGaFVfXLMzclEXfVqzEl23q", + "rc7Nuwvr97vsnEpr1V9pi9hFCql3yqbfB7L9Ka6EtzZL2wCH7ftlNQxhsvVmkAHLwquhk9bE3w1tfvqO", + "Xp62itvvxlNXiRM8by2VLgEFslpKi+SAMfelFDRLqcJYHQ76Usjzjyyx6tVxRO+AYGIur76rsrnAJ1sF", + "Sxx3J3my7VXvJsRkO8rWP/q80mXjf3roQqNa2LhXBfxRVAHf+MOnCMVSip3DabV+eCZ3YFP0Uq94lEtN", + "S5sLdMjjLTgQLmvondruesO3TXhBJk5rgoC8JJSkOUMDheBKyyrVZ5yiCrRTZ7Jj3vOK3WFR6qVvEtfC", + "R5TkbqgzboSqOakVo1GRag4Rk8d3AF5iU9ViAUp3OPEc4Iy7VoxjhWecC8t2JtYT1FzXhqNPbMuCrsmc", + "5qjD/w2kIDPzigjzw6BCUWmW586eaKYhYn7GqSY5GKb/mhmBzgzndU61jdzSXY2FgXLEthBYEtdCfG+/", + "YtSFW77XG6F6y35uKrB/lnJ9SayivYP8+Mjlbjs+wnQ8jSWxB/snMy8VjCdRIjM3vrPId2mLPDQynieg", + "R41N0u36GTfCtBYEGT3VNyOHrhmgdxbt6ehQTWsjOtYCv9b3sbjhhUjMk5EuzO8LppfVDAvm+Xji6ULU", + "scXTjEIhOH7LprRkU1VCOr14vEU+uAW/IhF2dX9z/3GU+CEdmNNSbzzmqO7u/cC9fAepcn/f+XG3uijd", + "Z6O9z0Z7n6/0Phvt/e7eZ6O9z9V6n6v1z5qrdbJRQnT5TbZmT9Q91SYlElI7c83Aw2atPIt9syTTE0JO", + "l4b/U3MHwAVImpOUKisYcespV7DFUhNVpSlAdnDGkxYkqSjcxA+b/9pn7lm1v/8UyP6jbh+rtwg4b78v", + "iqr4CU1N5GtyNjob9UaSUIgLcFnXsHlWoa3Y9to67P9Xj/uj7G1dQddWubKkZQnmWlPVfM5SZlGeC/MY", + "WIiOfx8X+AWkAc5myiBM2wS3iE/0i3TeOdTFn8eE7v79fo3yXIfdfAb3CWQ+eqXu/obdHQ/cOHaPId6z", + "jE/BMj470/gD5bq7T2v3O1tQaEht5a29hSRVF2yL6J28jGTVyYY34wiQVpLpNd5wtGS/nIP5/3vDxxXI", + "C3/5VTIfHYyWWpcH0ylmll8KpacjczU131Tno7kf6MKO4C6XUrILzEr5/ur/BQAA//+fIi2M9RABAA==", } // GetSwagger returns the Swagger specification corresponding to the generated code diff --git a/daemon/algod/api/server/v2/generated/types.go b/daemon/algod/api/server/v2/generated/types.go index decbdcfcc9..e23c680838 100644 --- a/daemon/algod/api/server/v2/generated/types.go +++ b/daemon/algod/api/server/v2/generated/types.go @@ -124,17 +124,6 @@ type AccountStateDelta struct { Delta StateDelta `json:"delta"` } -// AccountsErrorResponse defines model for AccountsErrorResponse. -type AccountsErrorResponse struct { - Data *string `json:"data,omitempty"` - MaxResults *uint64 `json:"max-results,omitempty"` - Message string `json:"message"` - TotalAppsOptedIn *uint64 `json:"total-apps-opted-in,omitempty"` - TotalAssetsOptedIn *uint64 `json:"total-assets-opted-in,omitempty"` - TotalCreatedApps *uint64 `json:"total-created-apps,omitempty"` - TotalCreatedAssets *uint64 `json:"total-created-assets,omitempty"` -} - // Application defines model for Application. type Application struct { @@ -346,8 +335,8 @@ type DryrunTxnResult struct { // ErrorResponse defines model for ErrorResponse. type ErrorResponse struct { - Data *string `json:"data,omitempty"` - Message string `json:"message"` + Data *map[string]interface{} `json:"data,omitempty"` + Message string `json:"message"` } // EvalDelta defines model for EvalDelta. diff --git a/daemon/algod/api/server/v2/handlers.go b/daemon/algod/api/server/v2/handlers.go index 7c76d1dad0..88660854e5 100644 --- a/daemon/algod/api/server/v2/handlers.go +++ b/daemon/algod/api/server/v2/handlers.go @@ -305,13 +305,16 @@ func (v2 *Handlers) AccountInformation(ctx echo.Context, address string, params totalResults := record.TotalAssets + record.TotalAssetParams + record.TotalAppLocalStates + record.TotalAppParams if totalResults > maxResults { v2.Log.Info("MaxAccountAPIResults limit %d exceeded, total results %d", maxResults, totalResults) - return ctx.JSON(http.StatusBadRequest, generated.AccountsErrorResponse{ - Message: "Result limit exceeded", - MaxResults: &maxResults, - TotalAssetsOptedIn: &record.TotalAssets, - TotalCreatedAssets: &record.TotalAssetParams, - TotalAppsOptedIn: &record.TotalAppLocalStates, - TotalCreatedApps: &record.TotalAppParams, + extraData := map[string]interface{}{ + "max-results": maxResults, + "total-assets-opted-in": record.TotalAssets, + "total-created-assets": record.TotalAssetParams, + "total-apps-opted-in": record.TotalAppLocalStates, + "total-created-apps": record.TotalAppParams, + } + return ctx.JSON(http.StatusBadRequest, generated.ErrorResponse{ + Message: "Result limit exceeded", + Data: &extraData, }) } } diff --git a/daemon/algod/api/server/v2/test/handlers_resources_test.go b/daemon/algod/api/server/v2/test/handlers_resources_test.go index e648c400ac..c8c7c7a111 100644 --- a/daemon/algod/api/server/v2/test/handlers_resources_test.go +++ b/daemon/algod/api/server/v2/test/handlers_resources_test.go @@ -221,17 +221,30 @@ func accountInformationResourceLimitsTest(t *testing.T, accountMaker func(int) b CreatedAssets []interface{} `json:"createdAssets"` } - err = json.Unmarshal(rec.Body.Bytes(), &ret) - require.NoError(t, err) - - // totals should be present in both 200 and 400 - require.Equal(t, acctSize, ret.TotalApps+ret.TotalAssets+ret.TotalCreatedApps+ret.TotalCreatedAssets, "totals incorrect: %+v", ret) + var errRet struct { + Data struct { + TotalApps int `json:"total-apps-opted-in"` + TotalAssets int `json:"total-assets-opted-in"` + TotalCreatedApps int `json:"total-created-apps"` + TotalCreatedAssets int `json:"total-created-assets"` + MaxResults int `json:"max-results"` + } `json:"data,omitempty"` + } // check totals switch rec.Code { case 400: - require.Equal(t, maxResults, ret.MaxResults) + err = json.Unmarshal(rec.Body.Bytes(), &errRet) + require.NoError(t, err) + require.Equal(t, maxResults, errRet.Data.MaxResults) + // totals should be present in both 200 and 400 + require.Equal(t, acctSize, errRet.Data.TotalApps+errRet.Data.TotalAssets+errRet.Data.TotalCreatedApps+errRet.Data.TotalCreatedAssets, "totals incorrect: %+v", ret) case 200: + err = json.Unmarshal(rec.Body.Bytes(), &ret) + require.NoError(t, err) + // totals should be present in both 200 and 400 + require.Equal(t, acctSize, ret.TotalApps+ret.TotalAssets+ret.TotalCreatedApps+ret.TotalCreatedAssets, "totals incorrect: %+v", ret) + if exclude == "all" { require.Nil(t, ret.Apps) require.Nil(t, ret.Assets)