@latticexyz/cli 2.0.0-alpha.78 → 2.0.0-alpha.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/dist/{chunk-TPZUS44H.js → chunk-6V563IAZ.js} +5 -5
  2. package/dist/{chunk-O6HOO6WA.js → chunk-L4YLJHLJ.js} +1 -9
  3. package/dist/{chunk-TLEAEDUA.js → chunk-QAJBBYA2.js} +357 -224
  4. package/dist/{chunk-KPBNUPK6.js → chunk-SKNB74MT.js} +155 -159
  5. package/dist/chunk-VQTZJIFF.js +353 -0
  6. package/dist/{chunk-DO7OWTMM.js → chunk-WZFXLDPK.js} +7 -9
  7. package/dist/{chunk-XUNWAEP7.js → chunk-YL4GJLLL.js} +5345 -6628
  8. package/dist/index.d.ts +2 -4
  9. package/dist/index.js +0 -22
  10. package/dist/mud.js +311 -318
  11. package/dist/mud2.js +7 -9
  12. package/dist/render-solidity/index.d.ts +2 -3
  13. package/dist/render-solidity/index.js +3 -4
  14. package/dist/render-ts/index.d.ts +2 -3
  15. package/dist/render-ts/index.js +3 -4
  16. package/dist/utils/deprecated/index.js +2 -2
  17. package/dist/utils/index.d.ts +3 -15
  18. package/dist/utils/index.js +4 -15
  19. package/package.json +36 -37
  20. package/src/commands/deploy-v2.ts +8 -4
  21. package/src/commands/deprecated/test.ts +1 -1
  22. package/src/commands/gas-report.ts +54 -55
  23. package/src/commands/set-version.ts +39 -10
  24. package/src/commands/tablegen.ts +1 -1
  25. package/src/commands/tsgen.ts +1 -1
  26. package/src/commands/worldgen.ts +1 -2
  27. package/src/contracts/BulkUpload.sol +13 -20
  28. package/src/contracts/Deploy.sol +3 -3
  29. package/src/contracts/LibDeploy.sol +1 -1
  30. package/src/contracts/LibDeployStub.sol +1 -1
  31. package/src/index.ts +1 -15
  32. package/src/render-solidity/common.ts +4 -4
  33. package/src/render-solidity/renderTypesFromConfig.ts +1 -1
  34. package/src/render-solidity/tableOptions.ts +2 -2
  35. package/src/render-solidity/tablegen.ts +1 -1
  36. package/src/render-solidity/types.ts +1 -1
  37. package/src/render-solidity/userType.ts +1 -2
  38. package/src/render-solidity/worldgen.ts +3 -3
  39. package/src/render-ts/recsV1TableOptions.ts +2 -2
  40. package/src/render-ts/renderRecsV1Tables.ts +2 -2
  41. package/src/render-ts/tsgen.ts +1 -1
  42. package/src/render-ts/types.ts +1 -1
  43. package/src/utils/contractToInterface.ts +1 -1
  44. package/src/utils/deploy-v2.ts +79 -78
  45. package/src/utils/errors.ts +3 -23
  46. package/dist/chunk-5NC2OON2.js +0 -164
  47. package/dist/chunk-FFY7VTYB.js +0 -14358
  48. package/dist/chunk-MN3HYFJK.js +0 -442
  49. package/dist/config/index.d.ts +0 -409
  50. package/dist/config/index.js +0 -85
  51. package/dist/parseStoreConfig-8aa69ac9.d.ts +0 -377
  52. package/src/config/commonSchemas.ts +0 -34
  53. package/src/config/dynamicResolution.ts +0 -49
  54. package/src/config/index.ts +0 -24
  55. package/src/config/loadConfig.ts +0 -40
  56. package/src/config/loadStoreConfig.ts +0 -18
  57. package/src/config/parseStoreConfig.test-d.ts +0 -40
  58. package/src/config/parseStoreConfig.ts +0 -317
  59. package/src/config/validation.ts +0 -163
  60. package/src/config/world/index.ts +0 -4
  61. package/src/config/world/loadWorldConfig.test-d.ts +0 -11
  62. package/src/config/world/loadWorldConfig.ts +0 -26
  63. package/src/config/world/parseWorldConfig.ts +0 -56
  64. package/src/config/world/resolveWorldConfig.ts +0 -80
  65. package/src/config/world/userTypes.ts +0 -74
  66. package/src/utils/typeUtils.ts +0 -17
package/dist/mud.js CHANGED
@@ -1,13 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  commands
4
- } from "./chunk-TLEAEDUA.js";
5
- import "./chunk-XUNWAEP7.js";
4
+ } from "./chunk-QAJBBYA2.js";
6
5
  import {
7
6
  logError
8
- } from "./chunk-MN3HYFJK.js";
7
+ } from "./chunk-YL4GJLLL.js";
9
8
  import {
10
- JsonRpcProvider,
11
9
  componentsDir,
12
10
  execLog,
13
11
  extractIdFromFile,
@@ -19,16 +17,15 @@ import {
19
17
  keccak256,
20
18
  resetLibDeploy,
21
19
  systemsDir
22
- } from "./chunk-FFY7VTYB.js";
20
+ } from "./chunk-VQTZJIFF.js";
23
21
  import {
24
22
  getSrcDirectory,
25
23
  getTestDirectory
26
24
  } from "./chunk-FPG73MVN.js";
27
- import "./chunk-DO7OWTMM.js";
28
- import "./chunk-TPZUS44H.js";
29
- import "./chunk-5NC2OON2.js";
30
- import "./chunk-KPBNUPK6.js";
31
- import "./chunk-O6HOO6WA.js";
25
+ import "./chunk-WZFXLDPK.js";
26
+ import "./chunk-6V563IAZ.js";
27
+ import "./chunk-SKNB74MT.js";
28
+ import "./chunk-L4YLJHLJ.js";
32
29
 
33
30
  // src/mud.ts
34
31
  import yargs from "yargs";
@@ -292,6 +289,7 @@ var test_default = commandModule6;
292
289
  // src/commands/deprecated/trace.ts
293
290
  import { readFileSync } from "fs";
294
291
  import { Contract } from "ethers";
292
+ import { JsonRpcProvider } from "@ethersproject/providers";
295
293
 
296
294
  // ../solecs/abi/World.json
297
295
  var World_default = {
@@ -651,13 +649,13 @@ var World_default = {
651
649
  }
652
650
  ],
653
651
  bytecode: {
654
- object: "0x6080604052604051620000129062000295565b604051809103906000f0801580156200002f573d6000803e3d6000fd5b50600080546001600160a01b0319166001600160a01b03929092169190911790553480156200005d57600080fd5b5060007f4350dba81aa91e31664a09d24a668f006169a11b3d962b7557aed362d3252aec60001c6040516200009290620002a3565b6001600160a01b0390921682526020820152604001604051809103906000f080158015620000c4573d6000803e3d6000fd5b50600180546001600160a01b0319166001600160a01b03929092169190911790556040516000907f017c816a964927a00e050edd780dcf113ca2756dfa9e9fda94a05c140d9317b0906200011890620002a3565b6001600160a01b0390921682526020820152604001604051809103906000f0801580156200014a573d6000803e3d6000fd5b50600280546001600160a01b0319166001600160a01b03928316179055600154604051309291909116906200017f90620002b1565b6001600160a01b03928316815291166020820152604001604051809103906000f080158015620001b3573d6000803e3d6000fd5b50600380546001600160a01b0319166001600160a01b039283169081179091556002546040516309fded4760e31b8152600481019290925290911690634fef6a3890602401600060405180830381600087803b1580156200021357600080fd5b505af115801562000228573d6000803e3d6000fd5b50506001546003546040516309fded4760e31b81526001600160a01b03918216600482015291169250634fef6a389150602401600060405180830381600087803b1580156200027657600080fd5b505af11580156200028b573d6000803e3d6000fd5b50505050620002bf565b61084a8062002a1f83390190565b612bba806200326983390190565b6110268062005e2383390190565b61275080620002cf6000396000f3fe608060405234801561001057600080fd5b506004361061011b5760003560e01c8063af104e40116100b2578063d803064a11610081578063e3d1287511610066578063e3d128751461023b578063f30347701461025e578063fb3ec48b1461027157600080fd5b8063d803064a14610220578063e1c7392a1461023357600080fd5b8063af104e40146101e1578063ba62fbe4146101f4578063cfd3c57f14610205578063d7ecf62b1461021857600080fd5b80634f27da18116100ee5780634f27da1814610185578063614bfa6e14610198578063687485a6146101ae5780639f54f545146101ce57600080fd5b80630d59332e146101205780630de3b7b51461014a5780631aa3a0081461015f5780631ee444b714610172575b600080fd5b6002546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b61015d6101583660046120ef565b610284565b005b60035461012d906001600160a01b031681565b61015d610180366004612124565b610389565b61012d6101933660046120ef565b61042d565b6101a061044c565b604051908152602001610141565b6101c16101bc36600461214e565b6104aa565b60405161014191906121c3565b6101a06101dc366004612207565b61066f565b61015d6101ef36600461226b565b610688565b6001546001600160a01b031661012d565b61015d6102133660046122c5565b61083e565b6101a06109c7565b61015d61022e366004612124565b610a44565b61015d610b71565b61024e6102493660046120ef565b610d1f565b6040519015158152602001610141565b61015d61026c366004612124565b610d8d565b61012d61027f3660046120ef565b610dba565b600154604051636667bd4760e11b81523360048201819052916001600160a01b03169063cccf7a8e90602401602060405180830381865afa1580156102cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102f19190612311565b6103425760405162461bcd60e51b815260206004820152601860248201527f636f6d706f6e656e74206e6f742072656769737465726564000000000000000060448201526064015b60405180910390fd5b6001548290339061035c906001600160a01b031682610dd3565b6040517f6dd56823030ae6d8ae09cbfb8972c4e9494e67b209c4ab6300c21d73e269b35090600090a45050565b6003546040516001600160a01b03909116906309c5eabe906103b690339060019087908790602001612349565b6040516020818303038152906040526040518263ffffffff1660e01b81526004016103e191906123c7565b6000604051808303816000875af1158015610400573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104289190810190612441565b505050565b600154600090610446906001600160a01b031683610f24565b92915050565b6000806104576109c7565b905060005b81610466816124eb565b9250508160405160200161047c91815260200190565b6040516020818303038152906040528051906020012060001c90506104a081610d1f565b61045c5792915050565b606060008267ffffffffffffffff8111156104c7576104c76123fa565b60405190808252806020026020018201604052801561051457816020015b604080516060808201835260008083526020830152918101919091528152602001906001900390816104e55790505b50905060005b8381101561065d57604051806060016040528086868481811061053f5761053f612523565b90506020028101906105519190612539565b61055f906020810190612577565b600581111561057057610570612333565b81526001546020909101906105b5906001600160a01b031688888681811061059a5761059a612523565b90506020028101906105ac9190612539565b60200135611023565b6001600160a01b031681526020018686848181106105d5576105d5612523565b90506020028101906105e79190612539565b6105f5906040810190612598565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050915250825183908390811061063f5761063f612523565b60200260200101819052508080610655906124eb565b91505061051a565b506106678161102f565b949350505050565b600154600090610446906001600160a01b031683610dd3565b60015484906001600160a01b031663cccf7a8e6106ab836001600160a01b031690565b6040518263ffffffff1660e01b81526004016106c991815260200190565b602060405180830381865afa1580156106e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061070a9190612311565b6107565760405162461bcd60e51b815260206004820152601860248201527f636f6d706f6e656e74206e6f74207265676973746572656400000000000000006044820152606401610339565b336001600160a01b0386161461076b57600080fd5b6000546040517f1003e2d2000000000000000000000000000000000000000000000000000000008152600481018690526001600160a01b0390911690631003e2d290602401600060405180830381600087803b1580156107ca57600080fd5b505af11580156107de573d6000803e3d6000fd5b50506001548692506001600160a01b0380891692506107fe911688610dd3565b7f6ac31c38682e0128240cf68316d7ae751020d8f74c614e2a30278afcec8a6073868660405161082f9291906125fd565b60405180910390a45050505050565b600154604051636667bd4760e11b81523360048201819052916001600160a01b03169063cccf7a8e90602401602060405180830381865afa158015610887573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ab9190612311565b6108f75760405162461bcd60e51b815260206004820152601860248201527f636f6d706f6e656e74206e6f74207265676973746572656400000000000000006044820152606401610339565b6000546040517f1003e2d2000000000000000000000000000000000000000000000000000000008152600481018690526001600160a01b0390911690631003e2d290602401600060405180830381600087803b15801561095657600080fd5b505af115801561096a573d6000803e3d6000fd5b5050600154869250339150610988906001600160a01b031682610dd3565b7f6ac31c38682e0128240cf68316d7ae751020d8f74c614e2a30278afcec8a607386866040516109b99291906125fd565b60405180910390a450505050565b60008060009054906101000a90046001600160a01b03166001600160a01b031663949d225d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a3f919061262c565b905090565b60015482906001600160a01b031663cccf7a8e610a67836001600160a01b031690565b6040518263ffffffff1660e01b8152600401610a8591815260200190565b602060405180830381865afa158015610aa2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac69190612311565b610b125760405162461bcd60e51b815260206004820152601860248201527f636f6d706f6e656e74206e6f74207265676973746572656400000000000000006044820152606401610339565b336001600160a01b03841614610b2757600080fd5b60015482906001600160a01b0380861691610b43911686610dd3565b6040517f6dd56823030ae6d8ae09cbfb8972c4e9494e67b209c4ab6300c21d73e269b35090600090a4505050565b6001546040517f9d2c76b40000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b0390911690639d2c76b490602401600060405180830381600087803b158015610bcf57600080fd5b505af1158015610be3573d6000803e3d6000fd5b50506002546040517f9d2c76b40000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b039091169250639d2c76b49150602401600060405180830381600087803b158015610c4557600080fd5b505af1158015610c59573d6000803e3d6000fd5b50506003546040516001600160a01b0390911692506309c5eabe9150610caa90339060019085907f554d0b3fe5f19a44775dc4000490ad0bafbc48129e8e396be983226890aece9990602001612349565b6040516020818303038152906040526040518263ffffffff1660e01b8152600401610cd591906123c7565b6000604051808303816000875af1158015610cf4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d1c9190810190612441565b50565b60008054604051636667bd4760e11b8152600481018490526001600160a01b039091169063cccf7a8e90602401602060405180830381865afa158015610d69573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104469190612311565b6003546040516001600160a01b03909116906309c5eabe906103b690339060009087908790602001612349565b600254600090610446906001600160a01b031683610f24565b6000826001600160a01b031663cccf7a8e610df4846001600160a01b031690565b6040518263ffffffff1660e01b8152600401610e1291815260200190565b602060405180830381865afa158015610e2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e539190612311565b610e9f5760405162461bcd60e51b815260206004820152601660248201527f61646472657373206e6f742072656769737465726564000000000000000000006044820152606401610339565b826001600160a01b0316630ff4c916610ebe846001600160a01b031690565b6040518263ffffffff1660e01b8152600401610edc91815260200190565b602060405180830381865afa158015610ef9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1d919061262c565b9392505050565b6040517ffbdfa1ea0000000000000000000000000000000000000000000000000000000081526004810182905260009081906001600160a01b0385169063fbdfa1ea90602401600060405180830381865afa158015610f87573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610faf9190810190612645565b905080516000036110025760405162461bcd60e51b815260206004820152601160248201527f6964206e6f7420726567697374657265640000000000000000000000000000006044820152606401610339565b6106678160008151811061101857611018612523565b602002602001015190565b6000610f1d8383610f24565b606061103961207c565b7620000000000000000000000000000000000000000000008152600060208201819052600160808301525b835181101561148257600084828151811061108157611081612523565b6020026020010151905061109481611495565b156110e2576004815160058111156110ae576110ae612333565b036110bb57604083018190525b6005815160058111156110d0576110d0612333565b036110dd57606083018190525b61146f565b826080015115611388576110f5816114d0565b6111415760405162461bcd60e51b815260206004820152601960248201527f4e454741544956455f494e495449414c5f465241474d454e54000000000000006044820152606401610339565b600060808401819052808251600581111561115e5761115e612333565b146111e15781602001516001600160a01b031663b361be4683604001516040518263ffffffff1660e01b815260040161119791906123c7565b600060405180830381865afa1580156111b4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111dc9190810190612645565b61124b565b81602001516001600160a01b03166331b933b96040518163ffffffff1660e01b8152600401600060405180830381865afa158015611223573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261124b9190810190612645565b9050611256816114f4565b84528051602080860191909152606085015101516001600160a01b03161580159061129c5750600084606001516040015180602001905181019061129a919061262c565b115b156113825760005b81518110156113805760006112f68383815181106112c4576112c4612523565b60200260200101518760600151602001518860600151604001518060200190518101906112f1919061262c565b61155c565b905060005b815181101561136b5761134461133c604051806040016040528085858151811061132757611327612523565b60200260200101518152602001600081525090565b885190611768565b875260208701805190611356826124eb565b90525080611363816124eb565b9150506112fb565b50508080611378906124eb565b9150506112a4565b505b5061146f565b82517620000000000000000000000000000000000000000000009060009060019060601c69ffffffffffffffffffff165b81156114645760006113dd8260408051808201909152600080825260208201525090565b805190915060006113ee82896117cd565b90506113fc8a898484611ad0565b9050801561143a5761142a6114236040518060400160405280858152602001600081525090565b8890611768565b965085611436816124eb565b9650505b6114478a89848a8a611b55565b8b5160b01c8601519198509650801515955093506113b992505050565b505090845260208401525b508061147a816124eb565b915050611064565b50610f1d81600001518260200151611ccc565b60006004825160058111156114ac576114ac612333565b1480610446575060055b825160058111156114c9576114c9612333565b1492915050565b600080825160058111156114e6576114e6612333565b1480610446575060026114b6565b76200000000000000000000000000000000000000000000060005b82518110156115565761154261153b604051806040016040528086858151811061132757611327612523565b8390611768565b91508061154e816124eb565b91505061150f565b50919050565b60608160000361157b5750604080516000815260208101909152610f1d565b6000836001600160a01b031663b361be468660405160200161159f91815260200190565b6040516020818303038152906040526040518263ffffffff1660e01b81526004016115ca91906123c7565b600060405180830381865afa1580156115e7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261160f9190810190612645565b905082600103611620579050610f1d565b7620000000000000000000000000000000000000000000006000805b83518110156116e157600061167285838151811061165c5761165c612523565b60200260200101518960018a6112f191906126eb565b905060005b81518110156116cc576116aa6116a3604051806040016040528085858151811061132757611327612523565b8690611768565b9450836116b6816124eb565b94505080806116c4906124eb565b915050611677565b505080806116d9906124eb565b91505061163c565b5060006116fa838551846116f59190612702565b611ccc565b905060005b845181101561175c5784818151811061171a5761171a612523565b602002602001015182828561172f9190612702565b8151811061173f5761173f612523565b602090810291909101015280611754816124eb565b9150506116ff565b50979650505050505050565b6000808360501b60b01c116001811461178d578260101b8360601b85171791506117c6565b828460b01c8560a01b60b01c01528260101b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000085161791505b5092915050565b600080825160058111156117e3576117e3612333565b0361185e576020820151604051636667bd4760e11b8152600481018590526001600160a01b039091169063cccf7a8e90602401602060405180830381865afa158015611833573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118579190612311565b9050610446565b60028251600581111561187357611873612333565b0361191f5760208201516040517fb8bc073d000000000000000000000000000000000000000000000000000000008152600481018590526001600160a01b039091169063b8bc073d90602401600060405180830381865afa1580156118dc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526119049190810190612441565b80519060200120826040015180519060200120149050610446565b60018251600581111561193457611934612333565b036119b0576020820151604051636667bd4760e11b8152600481018590526001600160a01b039091169063cccf7a8e90602401602060405180830381865afa158015611984573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119a89190612311565b159050610446565b6003825160058111156119c5576119c5612333565b03611a725760208201516040517fb8bc073d000000000000000000000000000000000000000000000000000000008152600481018590526001600160a01b039091169063b8bc073d90602401600060405180830381865afa158015611a2e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611a569190810190612441565b8051906020012082604001518051906020012014159050610446565b611a7b82611da4565b611ac75760405162461bcd60e51b815260206004820152601260248201527f4e4f5f454e544954595f465241474d454e5400000000000000000000000000006044820152606401610339565b50600092915050565b6040840151602001516000906001600160a01b031615801590611b0e57506000856040015160400151806020019051810190611b0c919061262c565b115b8015611b215750611b1f8285611e03565b155b15611b4d57600080611b3885878960400151611e2e565b915091508015611b4a57509050610667565b50505b509392505050565b60608501516020015160009081906001600160a01b031615801590611b9557506000876060015160400151806020019051810190611b93919061262c565b115b15611cc0576000611bc5868960600151602001518a60600151604001518060200190518101906112f1919061262c565b905060005b8151811015611cbd576000828281518110611be757611be7612523565b602002602001015190506000611bfd828b6117cd565b905080158015611c1d575060408b0151602001516001600160a01b031615155b8015611c44575060008b6040015160400151806020019051810190611c42919061262c565b115b15611c6c57600080611c5b848d8f60400151611e2e565b915091508015611c69578192505b50505b8015611ca857611c98611c9160405180604001604052808c8152602001600081525090565b8990611768565b975086611ca4816124eb565b9750505b50508080611cb5906124eb565b915050611bca565b50505b50919590945092505050565b60608167ffffffffffffffff811115611ce757611ce76123fa565b604051908082528060200260200182016040528015611d10578160200160208202803683370190505b509050811561044657600169ffffffffffffffffffff606085901c1660005b8215611d9b576000611d538360408051808201909152600080825260208201525090565b90508060000151858381518110611d6c57611d6c612523565b602090810291909101015281611d81816124eb565b60b089901c94909401518015159550939250611d2f915050565b50505092915050565b60008082516005811115611dba57611dba612333565b1480611dd85750600282516005811115611dd657611dd6612333565b145b80611df6575060015b82516005811115611df457611df4612333565b145b80610446575060036114b6565b6000828015611e165750611e16826114d0565b80610f1d575082158015610f1d5750610f1d82612073565b600080611e3a84611da4565b611e865760405162461bcd60e51b815260206004820152601260248201527f4e4f5f454e544954595f465241474d454e5400000000000000000000000000006044820152606401610339565b600483516005811115611e9b57611e9b612333565b14611ee85760405162461bcd60e51b815260206004820152601660248201527f4e4f5f50524f58595f524541445f465241474d454e54000000000000000000006044820152606401610339565b8460005b8460400151806020019051810190611f04919061262c565b811015612064576020850151604051636667bd4760e11b8152600481018490526001600160a01b039091169063cccf7a8e90602401602060405180830381865afa158015611f56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f7a9190612311565b611f8a57506000915061206b9050565b60208501516040517fb8bc073d000000000000000000000000000000000000000000000000000000008152600481018490526001600160a01b039091169063b8bc073d90602401600060405180830381865afa158015611fee573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526120169190810190612441565b806020019051810190612029919061262c565b915061203582876117cd565b93506120418487611e03565b1561205257506001915061206b9050565b8061205c816124eb565b915050611eec565b5060019150505b935093915050565b60006001611de1565b6040805160a081018252600080825260208201529081016120b86040805160608101909152806000815260006020820152606060409091015290565b81526020016120e26040805160608101909152806000815260006020820152606060409091015290565b8152600060209091015290565b60006020828403121561210157600080fd5b5035919050565b80356001600160a01b038116811461211f57600080fd5b919050565b6000806040838503121561213757600080fd5b61214083612108565b946020939093013593505050565b6000806020838503121561216157600080fd5b823567ffffffffffffffff8082111561217957600080fd5b818501915085601f83011261218d57600080fd5b81358181111561219c57600080fd5b8660208260051b85010111156121b157600080fd5b60209290920196919550909350505050565b6020808252825182820181905260009190848201906040850190845b818110156121fb578351835292840192918401916001016121df565b50909695505050505050565b60006020828403121561221957600080fd5b610f1d82612108565b60008083601f84011261223457600080fd5b50813567ffffffffffffffff81111561224c57600080fd5b60208301915083602082850101111561226457600080fd5b9250929050565b6000806000806060858703121561228157600080fd5b61228a85612108565b935060208501359250604085013567ffffffffffffffff8111156122ad57600080fd5b6122b987828801612222565b95989497509550505050565b6000806000604084860312156122da57600080fd5b83359250602084013567ffffffffffffffff8111156122f857600080fd5b61230486828701612222565b9497909650939450505050565b60006020828403121561232357600080fd5b81518015158114610f1d57600080fd5b634e487b7160e01b600052602160045260246000fd5b6001600160a01b03858116825260808201906002861061237957634e487b7160e01b600052602160045260246000fd5b85602084015280851660408401525082606083015295945050505050565b60005b838110156123b257818101518382015260200161239a565b838111156123c1576000848401525b50505050565b60208152600082518060208401526123e6816040850160208701612397565b601f01601f19169190910160400192915050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612439576124396123fa565b604052919050565b60006020828403121561245357600080fd5b815167ffffffffffffffff8082111561246b57600080fd5b818401915084601f83011261247f57600080fd5b815181811115612491576124916123fa565b6124a46020601f19601f84011601612410565b91508082528560208285010111156124bb57600080fd5b6124cc816020840160208601612397565b50949350505050565b634e487b7160e01b600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361251c5761251c6124d5565b5060010190565b634e487b7160e01b600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa183360301811261256d57600080fd5b9190910192915050565b60006020828403121561258957600080fd5b813560068110610f1d57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126125cd57600080fd5b83018035915067ffffffffffffffff8211156125e857600080fd5b60200191503681900382131561226457600080fd5b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b60006020828403121561263e57600080fd5b5051919050565b6000602080838503121561265857600080fd5b825167ffffffffffffffff8082111561267057600080fd5b818501915085601f83011261268457600080fd5b815181811115612696576126966123fa565b8060051b91506126a7848301612410565b81815291830184019184810190888411156126c157600080fd5b938501935b838510156126df578451825293850193908501906126c6565b98975050505050505050565b6000828210156126fd576126fd6124d5565b500390565b60008219821115612715576127156124d5565b50019056fea2646970667358221220902eb3055e323ca228bea31c34153f51121c8b0cf5d6599836cd2715299e67a564736f6c634300080d0033608060405234801561001057600080fd5b5061001a3361001f565b6100b4565b600061003361009060201b6105431760201c565b80546040519192506001600160a01b03808516929116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a380546001600160a01b0319166001600160a01b0392909216919091179055565b7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f67168046090565b610787806100c36000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80638e7cb6e11161005b5780638e7cb6e114610100578063949d225d1461012a578063cccf7a8e1461013b578063f2fde38b1461015e57600080fd5b80631003e2d21461008d578063410d59cc146100a25780634cc82215146100c05780638da5cb5b146100d3575b600080fd5b6100a061009b36600461061b565b610171565b005b6100aa610233565b6040516100b79190610634565b60405180910390f35b6100a06100ce36600461061b565b61028b565b6100db6103ef565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b7565b61011361010e36600461061b565b610434565b6040805192151583526020830191909152016100b7565b6000546040519081526020016100b7565b61014e61014936600461061b565b610467565b60405190151581526020016100b7565b6100a061016c366004610678565b6104ca565b7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f6716804605473ffffffffffffffffffffffffffffffffffffffff1633146101e1576040517f2f7a8ee100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6101ea81610467565b61023057600080548282526001602081905260408320829055810182559080527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563018190555b50565b6060600080548060200260200160405190810160405280929190818152602001828054801561028157602002820191906000526020600020905b81548152602001906001019080831161026d575b5050505050905090565b7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f6716804605473ffffffffffffffffffffffffffffffffffffffff1633146102fb576040517f2f7a8ee100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61030481610467565b156102305760008054610319906001906106b5565b81548110610329576103296106f3565b9060005260206000200154600060016000848152602001908152602001600020548154811061035a5761035a6106f3565b60009182526020808320909101929092558281526001918290526040812054815490929190819084908110610391576103916106f3565b9060005260206000200154815260200190815260200160002081905550600160008281526020019081526020016000206000905560008054806103d6576103d6610722565b6001900381819060005260206000200160009055905550565b600061042f7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f6716804605473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b60008061044083610467565b61044f57506000928392509050565b50506000908152600160208190526040909120549091565b60008054810361047957506000919050565b60008281526001602052604081205490036104b55781600080815481106104a2576104a26106f3565b9060005260206000200154149050919050565b50600090815260016020526040902054151590565b7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f6716804605473ffffffffffffffffffffffffffffffffffffffff16331461053a576040517f2f7a8ee100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61023081610567565b7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f67168046090565b7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f6716804608054604051610230928492909173ffffffffffffffffffffffffffffffffffffffff8085169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60006020828403121561062d57600080fd5b5035919050565b6020808252825182820181905260009190848201906040850190845b8181101561066c57835183529284019291840191600101610650565b50909695505050505050565b60006020828403121561068a57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146106ae57600080fd5b9392505050565b6000828210156106ee577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b500390565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea2646970667358221220b107c6e5a1895c7db00a5a31e8304afc9a033299a3c9f2108e90ed579f0a6aef64736f6c634300080d003360806040523480156200001157600080fd5b5060405162002bba38038062002bba83398101604081905262000034916200029a565b81818181620000433362000108565b60028190556001600160a01b03821615620000635762000063826200017c565b505060405162000073906200027e565b604051809103906000f08015801562000090573d6000803e3d6000fd5b50600380546001600160a01b0319166001600160a01b0392909216919091179055604051620000bf906200028c565b604051809103906000f080158015620000dc573d6000803e3d6000fd5b50600480546001600160a01b0319166001600160a01b039290921691909117905550620002d692505050565b60006200011f6200023460201b62000ae51760201c565b80546040519192506001600160a01b03808516929116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a380546001600160a01b0319166001600160a01b0392909216919091179055565b6200018662000258565b6001600160a01b0316336001600160a01b031614620001b857604051632f7a8ee160e01b815260040160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117909155600254604051630f30347760e41b8152306004820152602481019190915263f303477090604401600060405180830381600087803b1580156200021857600080fd5b505af11580156200022d573d6000803e3d6000fd5b5050505050565b7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f67168046090565b60006200026f6200023460201b62000ae51760201c565b546001600160a01b0316919050565b61084a8062001ade83390190565b610892806200232883390190565b60008060408385031215620002ae57600080fd5b82516001600160a01b0381168114620002c657600080fd5b6020939093015192949293505050565b6117f880620002e66000396000f3fe608060405234801561001057600080fd5b50600436106101515760003560e01c80638b282947116100cd578063b8bc073d11610081578063cccf7a8e11610066578063cccf7a8e146102c0578063f2fde38b146102d3578063fbdfa1ea146102e657600080fd5b8063b8bc073d1461028d578063bf4fe57e146102ad57600080fd5b80639d2c76b4116100b25780639d2c76b41461025e578063af640d0f14610271578063b361be461461027a57600080fd5b80638b282947146102435780638da5cb5b1461025657600080fd5b80634cc82215116101245780636b122fe0116101095780636b122fe0146101f757806375c0669c1461020d578063861eb9051461022057600080fd5b80634cc82215146101d15780634fef6a38146101e457600080fd5b80630ff4c916146101565780631ab06ee51461017c57806330b67baa1461019157806331b933b9146101bc575b600080fd5b610169610164366004611267565b6102f9565b6040519081526020015b60405180910390f35b61018f61018a366004611280565b61031f565b005b6000546101a4906001600160a01b031681565b6040516001600160a01b039091168152602001610173565b6101c461034e565b60405161017391906112a2565b61018f6101df366004611267565b6103de565b61018f6101f23660046112e6565b610429565b6101ff6104b6565b604051610173929190611372565b61018f61021b3660046112e6565b6105a2565b61023361022e3660046112e6565b61064b565b6040519015158152602001610173565b61018f610251366004611500565b6106af565b6101a46106f8565b61018f61026c3660046112e6565b61072b565b61016960025481565b6101c4610288366004611547565b610821565b6102a061029b366004611267565b6108b3565b6040516101739190611584565b61018f6102bb3660046112e6565b610955565b6102336102ce366004611267565b6109df565b61018f6102e13660046112e6565b610a66565b6101c46102f4366004611267565b610ab9565b600080610305836108b3565b8060200190518101906103189190611597565b9392505050565b61034a828260405160200161033691815260200190565b6040516020818303038152906040526106af565b5050565b600354604080517f410d59cc00000000000000000000000000000000000000000000000000000000815290516060926001600160a01b03169163410d59cc9160048083019260009291908290030181865afa1580156103b1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103d991908101906115b0565b905090565b6103e73361064b565b61041d576040517f406ed3da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61042681610b09565b50565b7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f671680460546001600160a01b0316331461047357604051632f7a8ee160e01b815260040160405180910390fd5b6001600160a01b031660009081527f8ffeadc5cba727b8cc3cdef48739619490ea317fdb3baae1259089d06f92c90960205260409020805460ff19166001179055565b604080516001808252818301909252606091829190816020015b60608152602001906001900390816104d0575050604080516001808252818301909252919350602080830190803683370190505090506040518060400160405280600581526020017f76616c75650000000000000000000000000000000000000000000000000000008152508260008151811061054f5761054f611656565b6020026020010181905250600d8160008151811061056f5761056f611656565b602002602001019060218111156105885761058861135c565b9081602181111561059b5761059b61135c565b9052509091565b6105ab3361064b565b6105e1576040517f406ed3da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600580546001810182556000919091527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b6001600160a01b03811660009081527f8ffeadc5cba727b8cc3cdef48739619490ea317fdb3baae1259089d06f92c909602052604081205460ff16806106a957506106946106f8565b6001600160a01b0316826001600160a01b0316145b92915050565b6106b83361064b565b6106ee576040517f406ed3da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61034a8282610d94565b60006103d97f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f671680460546001600160a01b031690565b7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f671680460546001600160a01b0316331461077557604051632f7a8ee160e01b815260040160405180910390fd5b600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0383169081179091556002546040517ff3034770000000000000000000000000000000000000000000000000000000008152306004820152602481019190915263f3034770906044015b600060405180830381600087803b15801561080657600080fd5b505af115801561081a573d6000803e3d6000fd5b5050505050565b60048054825160208401206040517f796c5e94000000000000000000000000000000000000000000000000000000008152928301526060916001600160a01b039091169063796c5e9490602401600060405180830381865afa15801561088b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106a991908101906115b0565b60008181526001602052604090208054606091906108d09061166c565b80601f01602080910402602001604051908101604052809291908181526020018280546108fc9061166c565b80156109495780601f1061091e57610100808354040283529160200191610949565b820191906000526020600020905b81548152906001019060200180831161092c57829003601f168201915b50505050509050919050565b7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f671680460546001600160a01b0316331461099f57604051632f7a8ee160e01b815260040160405180910390fd5b6001600160a01b031660009081527f8ffeadc5cba727b8cc3cdef48739619490ea317fdb3baae1259089d06f92c90960205260409020805460ff19169055565b6003546040517fcccf7a8e000000000000000000000000000000000000000000000000000000008152600481018390526000916001600160a01b03169063cccf7a8e90602401602060405180830381865afa158015610a42573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106a991906116a6565b7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f671680460546001600160a01b03163314610ab057604051632f7a8ee160e01b815260040160405180910390fd5b61042681610ff7565b60606106a982604051602001610ad191815260200190565b604051602081830303815290604052610821565b7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f67168046090565b6004546000828152600160205260409081902090516001600160a01b03909216916385edea1391610b39916116c8565b60405190819003812060e083901b7fffffffff000000000000000000000000000000000000000000000000000000001682526004820152602401602060405180830381865afa158015610b90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb49190611597565b600003610bbe5750565b6004546000828152600160205260409081902090516001600160a01b0390921691636526db7a91610bee916116c8565b60405190819003812060e083901b7fffffffff00000000000000000000000000000000000000000000000000000000168252600482015260248101849052604401600060405180830381600087803b158015610c4957600080fd5b505af1158015610c5d573d6000803e3d6000fd5b50506003546040517f4cc82215000000000000000000000000000000000000000000000000000000008152600481018590526001600160a01b039091169250634cc822159150602401600060405180830381600087803b158015610cc057600080fd5b505af1158015610cd4573d6000803e3d6000fd5b50505050610ce181611000565b60005b60055481101561034a5760058181548110610d0157610d01611656565b6000918252602090912001546040517f4cc82215000000000000000000000000000000000000000000000000000000008152600481018490526001600160a01b0390911690634cc8221590602401600060405180830381600087803b158015610d6957600080fd5b505af1158015610d7d573d6000803e3d6000fd5b505050508080610d8c90611763565b915050610ce4565b6003546040517f1003e2d2000000000000000000000000000000000000000000000000000000008152600481018490526001600160a01b0390911690631003e2d290602401600060405180830381600087803b158015610df357600080fd5b505af1158015610e07573d6000803e3d6000fd5b50506004546000858152600160205260409081902090516001600160a01b039092169350636526db7a9250610e3b916116c8565b60405190819003812060e083901b7fffffffff00000000000000000000000000000000000000000000000000000000168252600482015260248101859052604401600060405180830381600087803b158015610e9657600080fd5b505af1158015610eaa573d6000803e3d6000fd5b505060048054845160208601206040517f771602f700000000000000000000000000000000000000000000000000000000815292830152602482018690526001600160a01b0316925063771602f79150604401600060405180830381600087803b158015610f1757600080fd5b505af1158015610f2b573d6000803e3d6000fd5b50505050610f398282611061565b60005b600554811015610ff25760058181548110610f5957610f59611656565b6000918252602090912001546040517f0216b8380000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690630216b83890610fad90869086906004016117a9565b600060405180830381600087803b158015610fc757600080fd5b505af1158015610fdb573d6000803e3d6000fd5b505050508080610fea90611763565b915050610f3c565b505050565b61042681611102565b600081815260016020526040812061101791611194565b6000546040517f0de3b7b5000000000000000000000000000000000000000000000000000000008152600481018390526001600160a01b0390911690630de3b7b5906024016107ec565b60008281526001602090815260409091208251611080928401906111ce565b506000546040517fcfd3c57f0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063cfd3c57f906110cc90859085906004016117a9565b600060405180830381600087803b1580156110e657600080fd5b505af11580156110fa573d6000803e3d6000fd5b505050505050565b7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f67168046080546040516001600160a01b038481169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a380547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b5080546111a09061166c565b6000825580601f106111b0575050565b601f0160209004906000526020600020908101906104269190611252565b8280546111da9061166c565b90600052602060002090601f0160209004810192826111fc5760008555611242565b82601f1061121557805160ff1916838001178555611242565b82800160010185558215611242579182015b82811115611242578251825591602001919060010190611227565b5061124e929150611252565b5090565b5b8082111561124e5760008155600101611253565b60006020828403121561127957600080fd5b5035919050565b6000806040838503121561129357600080fd5b50508035926020909101359150565b6020808252825182820181905260009190848201906040850190845b818110156112da578351835292840192918401916001016112be565b50909695505050505050565b6000602082840312156112f857600080fd5b81356001600160a01b038116811461031857600080fd5b6000815180845260005b8181101561133557602081850181015186830182015201611319565b81811115611347576000602083870101525b50601f01601f19169290920160200192915050565b634e487b7160e01b600052602160045260246000fd5b6000604082016040835280855180835260608501915060608160051b8601019250602080880160005b838110156113e7577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa08887030185526113d586835161130f565b9550938201939082019060010161139b565b50508584038187015286518085528782019482019350915060005b8281101561143c5784516022811061142a57634e487b7160e01b600052602160045260246000fd5b84529381019392810192600101611402565b5091979650505050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561148857611488611449565b604052919050565b600082601f8301126114a157600080fd5b813567ffffffffffffffff8111156114bb576114bb611449565b6114ce6020601f19601f8401160161145f565b8181528460208386010111156114e357600080fd5b816020850160208301376000918101602001919091529392505050565b6000806040838503121561151357600080fd5b82359150602083013567ffffffffffffffff81111561153157600080fd5b61153d85828601611490565b9150509250929050565b60006020828403121561155957600080fd5b813567ffffffffffffffff81111561157057600080fd5b61157c84828501611490565b949350505050565b602081526000610318602083018461130f565b6000602082840312156115a957600080fd5b5051919050565b600060208083850312156115c357600080fd5b825167ffffffffffffffff808211156115db57600080fd5b818501915085601f8301126115ef57600080fd5b81518181111561160157611601611449565b8060051b915061161284830161145f565b818152918301840191848101908884111561162c57600080fd5b938501935b8385101561164a57845182529385019390850190611631565b98975050505050505050565b634e487b7160e01b600052603260045260246000fd5b600181811c9082168061168057607f821691505b6020821081036116a057634e487b7160e01b600052602260045260246000fd5b50919050565b6000602082840312156116b857600080fd5b8151801515811461031857600080fd5b600080835481600182811c9150808316806116e457607f831692505b6020808410820361170357634e487b7160e01b86526022600452602486fd5b818015611717576001811461172857611755565b60ff19861689528489019650611755565b60008a81526020902060005b8681101561174d5781548b820152908501908301611734565b505084890196505b509498975050505050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036117a257634e487b7160e01b600052601160045260246000fd5b5060010190565b82815260406020820152600061157c604083018461130f56fea2646970667358221220be1a9d3f65378b3e48bdc1a48690cf5c96158aa3929ddbcc8865a0ee69f8bc5264736f6c634300080d0033608060405234801561001057600080fd5b5061001a3361001f565b6100b4565b600061003361009060201b6105431760201c565b80546040519192506001600160a01b03808516929116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a380546001600160a01b0319166001600160a01b0392909216919091179055565b7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f67168046090565b610787806100c36000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80638e7cb6e11161005b5780638e7cb6e114610100578063949d225d1461012a578063cccf7a8e1461013b578063f2fde38b1461015e57600080fd5b80631003e2d21461008d578063410d59cc146100a25780634cc82215146100c05780638da5cb5b146100d3575b600080fd5b6100a061009b36600461061b565b610171565b005b6100aa610233565b6040516100b79190610634565b60405180910390f35b6100a06100ce36600461061b565b61028b565b6100db6103ef565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b7565b61011361010e36600461061b565b610434565b6040805192151583526020830191909152016100b7565b6000546040519081526020016100b7565b61014e61014936600461061b565b610467565b60405190151581526020016100b7565b6100a061016c366004610678565b6104ca565b7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f6716804605473ffffffffffffffffffffffffffffffffffffffff1633146101e1576040517f2f7a8ee100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6101ea81610467565b61023057600080548282526001602081905260408320829055810182559080527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563018190555b50565b6060600080548060200260200160405190810160405280929190818152602001828054801561028157602002820191906000526020600020905b81548152602001906001019080831161026d575b5050505050905090565b7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f6716804605473ffffffffffffffffffffffffffffffffffffffff1633146102fb576040517f2f7a8ee100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61030481610467565b156102305760008054610319906001906106b5565b81548110610329576103296106f3565b9060005260206000200154600060016000848152602001908152602001600020548154811061035a5761035a6106f3565b60009182526020808320909101929092558281526001918290526040812054815490929190819084908110610391576103916106f3565b9060005260206000200154815260200190815260200160002081905550600160008281526020019081526020016000206000905560008054806103d6576103d6610722565b6001900381819060005260206000200160009055905550565b600061042f7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f6716804605473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b60008061044083610467565b61044f57506000928392509050565b50506000908152600160208190526040909120549091565b60008054810361047957506000919050565b60008281526001602052604081205490036104b55781600080815481106104a2576104a26106f3565b9060005260206000200154149050919050565b50600090815260016020526040902054151590565b7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f6716804605473ffffffffffffffffffffffffffffffffffffffff16331461053a576040517f2f7a8ee100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61023081610567565b7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f67168046090565b7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f6716804608054604051610230928492909173ffffffffffffffffffffffffffffffffffffffff8085169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60006020828403121561062d57600080fd5b5035919050565b6020808252825182820181905260009190848201906040850190845b8181101561066c57835183529284019291840191600101610650565b50909695505050505050565b60006020828403121561068a57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146106ae57600080fd5b9392505050565b6000828210156106ee577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b500390565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea2646970667358221220b107c6e5a1895c7db00a5a31e8304afc9a033299a3c9f2108e90ed579f0a6aef64736f6c634300080d0033608060405234801561001057600080fd5b5061001a3361001f565b6100b4565b600061003361009060201b6105691760201c565b80546040519192506001600160a01b03808516929116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a380546001600160a01b0319166001600160a01b0392909216919091179055565b7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f67168046090565b6107cf806100c36000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c806385edea131161005b57806385edea13146100d35780638da5cb5b14610101578063a0265ff81461012e578063f2fde38b1461015157600080fd5b80636526db7a14610082578063771602f714610097578063796c5e94146100aa575b600080fd5b610095610090366004610641565b610164565b005b6100956100a5366004610641565b610301565b6100bd6100b8366004610663565b6103b5565b6040516100ca919061067c565b60405180910390f35b6100f36100e1366004610663565b60009081526020819052604090205490565b6040519081526020016100ca565b610109610415565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100ca565b61014161013c366004610641565b61045a565b60405190151581526020016100ca565b61009561015f3660046106c0565b6104ed565b7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f6716804605473ffffffffffffffffffffffffffffffffffffffff1633146101d4576040517f2f7a8ee100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6101de828261045a565b156102fd57600082815260208190526040902080546101ff906001906106fd565b8154811061020f5761020f61073b565b600091825260208083209091015484835282825260408084206001845281852086865290935290922054815481106102495761024961073b565b6000918252602080832090910192909255838152600182526040808220848352808452818320548684528385529183208584529381905283549193909291849081106102975761029761073b565b600091825260208083209091015483528281019390935260409182018120939093558483526001825280832084845282528083208390558483529082905290208054806102e6576102e661076a565b600190038181906000526020600020016000905590555b5050565b7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f6716804605473ffffffffffffffffffffffffffffffffffffffff163314610371576040517f2f7a8ee100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61037b828261045a565b6102fd5760009182526020828152604080842080546001808552838720868852855292862081905585845291820181558452922090910155565b6000818152602081815260409182902080548351818402810184019094528084526060939283018282801561040957602002820191906000526020600020905b8154815260200190600101908083116103f5575b50505050509050919050565b60006104557f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f6716804605473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b6000828152602081905260408120548103610477575060006104e7565b600083815260016020908152604080832085845290915281205490036104c957600083815260208190526040812080548492906104b6576104b661073b565b90600052602060002001541490506104e7565b50600082815260016020908152604080832084845290915290205415155b92915050565b7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f6716804605473ffffffffffffffffffffffffffffffffffffffff16331461055d576040517f2f7a8ee100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6105668161058d565b50565b7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f67168046090565b7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f6716804608054604051610566928492909173ffffffffffffffffffffffffffffffffffffffff8085169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6000806040838503121561065457600080fd5b50508035926020909101359150565b60006020828403121561067557600080fd5b5035919050565b6020808252825182820181905260009190848201906040850190845b818110156106b457835183529284019291840191600101610698565b50909695505050505050565b6000602082840312156106d257600080fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146106f657600080fd5b9392505050565b600082821015610736577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b500390565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea264697066735822122037b9d977a58232297ee423fa1fe056fd7eeb61e13dc07a2cfe760aab14ed000a64736f6c634300080d003360806040523480156200001157600080fd5b50604051620010263803806200102683398101604081905262000034916200022c565b818162000041336200010f565b6001600160a01b03811615620000585780620000bd565b816001600160a01b031663ba62fbe46040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000097573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000bd91906200026b565b600080546001600160a01b03199081166001600160a01b0393841690811790925560018054909116928516928317905562000105919062000183602090811b6200079617901c565b5050505062000292565b600062000126620001ef60201b6200081a1760201c565b80546040519192506001600160a01b03808516929116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a380546001600160a01b0319166001600160a01b0392909216919091179055565b7ff67304f10c7772c78e439bc5cb07781db345424de8878c18100fdaa64d197a8780546001600160a01b039384166001600160a01b0319918216179091557ff67304f10c7772c78e439bc5cb07781db345424de8878c18100fdaa64d197a868054929093169116179055565b7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f67168046090565b6001600160a01b03811681146200022957600080fd5b50565b600080604083850312156200024057600080fd5b82516200024d8162000213565b6020840151909250620002608162000213565b809150509250929050565b6000602082840312156200027e57600080fd5b81516200028b8162000213565b9392505050565b610d8480620002a26000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c80638da5cb5b116100505780638da5cb5b146100a9578063f2fde38b146100c9578063f6cd7a01146100de57600080fd5b806309c5eabe1461006c5780638b246a5b14610095575b600080fd5b61007f61007a366004610a1b565b6100f1565b60405161008c9190610ab0565b60405180910390f35b61007f6100a3366004610a1b565b50606090565b6100b16106b6565b6040516001600160a01b03909116815260200161008c565b6100dc6100d7366004610b1a565b6106ee565b005b61007f6100ec366004610b4b565b61075d565b60606000806000808580602001905181019061010d9190610b9c565b600154939750919550935091506001600160a01b0316331461019c5760405162461bcd60e51b815260206004820152602360248201527f73797374656d2063616e206f6e6c792062652063616c6c65642076696120576f60448201527f726c64000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b60008360018111156101b0576101b0610bef565b14806101cd575060018360018111156101cb576101cb610bef565b145b6102195760405162461bcd60e51b815260206004820152600c60248201527f696e76616c6964207479706500000000000000000000000000000000000000006044820152606401610193565b806000036102695760405162461bcd60e51b815260206004820152600a60248201527f696e76616c6964206964000000000000000000000000000000000000000000006044820152606401610193565b6001600160a01b0382166102bf5760405162461bcd60e51b815260206004820152600f60248201527f696e76616c6964206164647265737300000000000000000000000000000000006044820152606401610193565b6000808460018111156102d4576102d4610bef565b146103145760005461030f906001600160a01b03167f017c816a964927a00e050edd780dcf113ca2756dfa9e9fda94a05c140d9317b061083e565b610321565b6000546001600160a01b03165b905060006001600160a01b0384166040517fcccf7a8e000000000000000000000000000000000000000000000000000000008152600481018290529091506001600160a01b0383169063cccf7a8e90602401602060405180830381865afa158015610390573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103b49190610c05565b156104015760405162461bcd60e51b815260206004820152601960248201527f656e7469747920616c72656164792072656769737465726564000000000000006044820152606401610193565b6040517ffbdfa1ea000000000000000000000000000000000000000000000000000000008152600481018490526000906001600160a01b0384169063fbdfa1ea90602401600060405180830381865afa158015610462573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261048a9190810190610c27565b905080516000148061053a57508051600114801561053a5750866001600160a01b03166104ce826000815181106104c3576104c3610ccd565b602002602001015190565b6001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561050b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061052f9190610ce3565b6001600160a01b0316145b6105ac5760405162461bcd60e51b815260206004820152602a60248201527f696420616c7265616479207265676973746572656420616e642063616c6c657260448201527f206e6f74206f776e6572000000000000000000000000000000000000000000006064820152608401610193565b805160010361063057826001600160a01b0316634cc82215826000815181106105d7576105d7610ccd565b60200260200101516040518263ffffffff1660e01b81526004016105fd91815260200190565b600060405180830381600087803b15801561061757600080fd5b505af115801561062b573d6000803e3d6000fd5b505050505b6040517f1ab06ee500000000000000000000000000000000000000000000000000000000815260048101839052602481018590526001600160a01b03841690631ab06ee590604401600060405180830381600087803b15801561069257600080fd5b505af11580156106a6573d6000803e3d6000fd5b5050505050505050505050919050565b60006106e97f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f671680460546001600160a01b031690565b905090565b7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f671680460546001600160a01b03163314610751576040517f2f7a8ee100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61075a8161093a565b50565b606061078d858585856040516020016107799493929190610d00565b6040516020818303038152906040526100f1565b95945050505050565b7ff67304f10c7772c78e439bc5cb07781db345424de8878c18100fdaa64d197a8780546001600160a01b039384167fffffffffffffffffffffffff0000000000000000000000000000000000000000918216179091557ff67304f10c7772c78e439bc5cb07781db345424de8878c18100fdaa64d197a868054929093169116179055565b7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f67168046090565b6040517ffbdfa1ea0000000000000000000000000000000000000000000000000000000081526004810182905260009081906001600160a01b0385169063fbdfa1ea90602401600060405180830381865afa1580156108a1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108c99190810190610c27565b9050805160000361091c5760405162461bcd60e51b815260206004820152601160248201527f6964206e6f7420726567697374657265640000000000000000000000000000006044820152606401610193565b610932816000815181106104c3576104c3610ccd565b949350505050565b7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f671680460805460405161075a92849290916001600160a01b038085169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a380547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610a1357610a136109d4565b604052919050565b60006020808385031215610a2e57600080fd5b823567ffffffffffffffff80821115610a4657600080fd5b818501915085601f830112610a5a57600080fd5b813581811115610a6c57610a6c6109d4565b610a7e84601f19601f840116016109ea565b91508082528684828501011115610a9457600080fd5b8084840185840137600090820190930192909252509392505050565b600060208083528351808285015260005b81811015610add57858101830151858201604001528201610ac1565b81811115610aef576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461075a57600080fd5b600060208284031215610b2c57600080fd5b8135610b3781610b05565b9392505050565b6002811061075a57600080fd5b60008060008060808587031215610b6157600080fd5b8435610b6c81610b05565b93506020850135610b7c81610b3e565b92506040850135610b8c81610b05565b9396929550929360600135925050565b60008060008060808587031215610bb257600080fd5b8451610bbd81610b05565b6020860151909450610bce81610b3e565b6040860151909350610bdf81610b05565b6060959095015193969295505050565b634e487b7160e01b600052602160045260246000fd5b600060208284031215610c1757600080fd5b81518015158114610b3757600080fd5b60006020808385031215610c3a57600080fd5b825167ffffffffffffffff80821115610c5257600080fd5b818501915085601f830112610c6657600080fd5b815181811115610c7857610c786109d4565b8060051b9150610c898483016109ea565b8181529183018401918481019088841115610ca357600080fd5b938501935b83851015610cc157845182529385019390850190610ca8565b98975050505050505050565b634e487b7160e01b600052603260045260246000fd5b600060208284031215610cf557600080fd5b8151610b3781610b05565b6001600160a01b038581168252608082019060028610610d3057634e487b7160e01b600052602160045260246000fd5b8560208401528085166040840152508260608301529594505050505056fea2646970667358221220f9082b69045ef00eb4d4aca8bdf01a1fbca7f6f3a65578cbc6c3be53bf6dbc8864736f6c634300080d0033",
655
- sourceMap: "1597:5812:43:-:0;;;1649:9;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1626:32:43;;;-1:-1:-1;;;;;;1626:32:43;-1:-1:-1;;;;;1626:32:43;;;;;;;;;;2005:327;;;;;;;;;;2068:1;107:39:45;99:48;;2039:55:43;;;;;:::i;:::-;-1:-1:-1;;;;;206:32:72;;;188:51;;270:2;255:18;;248:34;176:2;161:18;2039:55:43;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2025:11:43;:69;;-1:-1:-1;;;;;;2025:69:43;-1:-1:-1;;;;;2025:69:43;;;;;;;;;;2111:52;;-1:-1:-1;;195:36:45;;2111:52:43;;;:::i;:::-;-1:-1:-1;;;;;206:32:72;;;188:51;;270:2;255:18;;248:34;176:2;161:18;2111:52:43;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2100:8:43;:63;;-1:-1:-1;;;;;;2100:63:43;-1:-1:-1;;;;;2100:63:43;;;;;;-1:-1:-1;2213:11:43;2180:46;;2199:4;;2213:11;;;;;2180:46;;;:::i;:::-;-1:-1:-1;;;;;538:15:72;;;520:34;;590:15;;585:2;570:18;;563:43;470:2;455:18;2180:46:43;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2169:8:43;:57;;-1:-1:-1;;;;;;2169:57:43;-1:-1:-1;;;;;2169:57:43;;;;;;;;;2232:8;;:43;;-1:-1:-1;;;2232:43:43;;;;;763:51:72;;;;2232:8:43;;;;:24;;736:18:72;;2232:43:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2281:11:43;;2317:8;;2281:46;;-1:-1:-1;;;2281:46:43;;-1:-1:-1;;;;;2317:8:43;;;2281:46;;;763:51:72;2281:11:43;;;-1:-1:-1;2281:27:43;;-1:-1:-1;736:18:72;;2281:46:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1597:5812;;;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;617:203:72:-;1597:5812:43;;;;;;",
652
+ object: "0x6080604052604051620000129062000295565b604051809103906000f0801580156200002f573d6000803e3d6000fd5b50600080546001600160a01b0319166001600160a01b03929092169190911790553480156200005d57600080fd5b5060007f4350dba81aa91e31664a09d24a668f006169a11b3d962b7557aed362d3252aec60001c6040516200009290620002a3565b6001600160a01b0390921682526020820152604001604051809103906000f080158015620000c4573d6000803e3d6000fd5b50600180546001600160a01b0319166001600160a01b03929092169190911790556040516000907f017c816a964927a00e050edd780dcf113ca2756dfa9e9fda94a05c140d9317b0906200011890620002a3565b6001600160a01b0390921682526020820152604001604051809103906000f0801580156200014a573d6000803e3d6000fd5b50600280546001600160a01b0319166001600160a01b03928316179055600154604051309291909116906200017f90620002b1565b6001600160a01b03928316815291166020820152604001604051809103906000f080158015620001b3573d6000803e3d6000fd5b50600380546001600160a01b0319166001600160a01b039283169081179091556002546040516309fded4760e31b8152600481019290925290911690634fef6a3890602401600060405180830381600087803b1580156200021357600080fd5b505af115801562000228573d6000803e3d6000fd5b50506001546003546040516309fded4760e31b81526001600160a01b03918216600482015291169250634fef6a389150602401600060405180830381600087803b1580156200027657600080fd5b505af11580156200028b573d6000803e3d6000fd5b50505050620002bf565b61084a8062002a1f83390190565b612bba806200326983390190565b6110268062005e2383390190565b61275080620002cf6000396000f3fe608060405234801561001057600080fd5b506004361061011b5760003560e01c8063af104e40116100b2578063d803064a11610081578063e3d1287511610066578063e3d128751461023b578063f30347701461025e578063fb3ec48b1461027157600080fd5b8063d803064a14610220578063e1c7392a1461023357600080fd5b8063af104e40146101e1578063ba62fbe4146101f4578063cfd3c57f14610205578063d7ecf62b1461021857600080fd5b80634f27da18116100ee5780634f27da1814610185578063614bfa6e14610198578063687485a6146101ae5780639f54f545146101ce57600080fd5b80630d59332e146101205780630de3b7b51461014a5780631aa3a0081461015f5780631ee444b714610172575b600080fd5b6002546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b61015d6101583660046120ef565b610284565b005b60035461012d906001600160a01b031681565b61015d610180366004612124565b610389565b61012d6101933660046120ef565b61042d565b6101a061044c565b604051908152602001610141565b6101c16101bc36600461214e565b6104aa565b60405161014191906121c3565b6101a06101dc366004612207565b61066f565b61015d6101ef36600461226b565b610688565b6001546001600160a01b031661012d565b61015d6102133660046122c5565b61083e565b6101a06109c7565b61015d61022e366004612124565b610a44565b61015d610b71565b61024e6102493660046120ef565b610d1f565b6040519015158152602001610141565b61015d61026c366004612124565b610d8d565b61012d61027f3660046120ef565b610dba565b600154604051636667bd4760e11b81523360048201819052916001600160a01b03169063cccf7a8e90602401602060405180830381865afa1580156102cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102f19190612311565b6103425760405162461bcd60e51b815260206004820152601860248201527f636f6d706f6e656e74206e6f742072656769737465726564000000000000000060448201526064015b60405180910390fd5b6001548290339061035c906001600160a01b031682610dd3565b6040517f6dd56823030ae6d8ae09cbfb8972c4e9494e67b209c4ab6300c21d73e269b35090600090a45050565b6003546040516001600160a01b03909116906309c5eabe906103b690339060019087908790602001612349565b6040516020818303038152906040526040518263ffffffff1660e01b81526004016103e191906123c7565b6000604051808303816000875af1158015610400573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104289190810190612441565b505050565b600154600090610446906001600160a01b031683610f24565b92915050565b6000806104576109c7565b905060005b81610466816124eb565b9250508160405160200161047c91815260200190565b6040516020818303038152906040528051906020012060001c90506104a081610d1f565b61045c5792915050565b606060008267ffffffffffffffff8111156104c7576104c76123fa565b60405190808252806020026020018201604052801561051457816020015b604080516060808201835260008083526020830152918101919091528152602001906001900390816104e55790505b50905060005b8381101561065d57604051806060016040528086868481811061053f5761053f612523565b90506020028101906105519190612539565b61055f906020810190612577565b600581111561057057610570612333565b81526001546020909101906105b5906001600160a01b031688888681811061059a5761059a612523565b90506020028101906105ac9190612539565b60200135611023565b6001600160a01b031681526020018686848181106105d5576105d5612523565b90506020028101906105e79190612539565b6105f5906040810190612598565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050915250825183908390811061063f5761063f612523565b60200260200101819052508080610655906124eb565b91505061051a565b506106678161102f565b949350505050565b600154600090610446906001600160a01b031683610dd3565b60015484906001600160a01b031663cccf7a8e6106ab836001600160a01b031690565b6040518263ffffffff1660e01b81526004016106c991815260200190565b602060405180830381865afa1580156106e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061070a9190612311565b6107565760405162461bcd60e51b815260206004820152601860248201527f636f6d706f6e656e74206e6f74207265676973746572656400000000000000006044820152606401610339565b336001600160a01b0386161461076b57600080fd5b6000546040517f1003e2d2000000000000000000000000000000000000000000000000000000008152600481018690526001600160a01b0390911690631003e2d290602401600060405180830381600087803b1580156107ca57600080fd5b505af11580156107de573d6000803e3d6000fd5b50506001548692506001600160a01b0380891692506107fe911688610dd3565b7f6ac31c38682e0128240cf68316d7ae751020d8f74c614e2a30278afcec8a6073868660405161082f9291906125fd565b60405180910390a45050505050565b600154604051636667bd4760e11b81523360048201819052916001600160a01b03169063cccf7a8e90602401602060405180830381865afa158015610887573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ab9190612311565b6108f75760405162461bcd60e51b815260206004820152601860248201527f636f6d706f6e656e74206e6f74207265676973746572656400000000000000006044820152606401610339565b6000546040517f1003e2d2000000000000000000000000000000000000000000000000000000008152600481018690526001600160a01b0390911690631003e2d290602401600060405180830381600087803b15801561095657600080fd5b505af115801561096a573d6000803e3d6000fd5b5050600154869250339150610988906001600160a01b031682610dd3565b7f6ac31c38682e0128240cf68316d7ae751020d8f74c614e2a30278afcec8a607386866040516109b99291906125fd565b60405180910390a450505050565b60008060009054906101000a90046001600160a01b03166001600160a01b031663949d225d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a3f919061262c565b905090565b60015482906001600160a01b031663cccf7a8e610a67836001600160a01b031690565b6040518263ffffffff1660e01b8152600401610a8591815260200190565b602060405180830381865afa158015610aa2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac69190612311565b610b125760405162461bcd60e51b815260206004820152601860248201527f636f6d706f6e656e74206e6f74207265676973746572656400000000000000006044820152606401610339565b336001600160a01b03841614610b2757600080fd5b60015482906001600160a01b0380861691610b43911686610dd3565b6040517f6dd56823030ae6d8ae09cbfb8972c4e9494e67b209c4ab6300c21d73e269b35090600090a4505050565b6001546040517f9d2c76b40000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b0390911690639d2c76b490602401600060405180830381600087803b158015610bcf57600080fd5b505af1158015610be3573d6000803e3d6000fd5b50506002546040517f9d2c76b40000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b039091169250639d2c76b49150602401600060405180830381600087803b158015610c4557600080fd5b505af1158015610c59573d6000803e3d6000fd5b50506003546040516001600160a01b0390911692506309c5eabe9150610caa90339060019085907f554d0b3fe5f19a44775dc4000490ad0bafbc48129e8e396be983226890aece9990602001612349565b6040516020818303038152906040526040518263ffffffff1660e01b8152600401610cd591906123c7565b6000604051808303816000875af1158015610cf4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d1c9190810190612441565b50565b60008054604051636667bd4760e11b8152600481018490526001600160a01b039091169063cccf7a8e90602401602060405180830381865afa158015610d69573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104469190612311565b6003546040516001600160a01b03909116906309c5eabe906103b690339060009087908790602001612349565b600254600090610446906001600160a01b031683610f24565b6000826001600160a01b031663cccf7a8e610df4846001600160a01b031690565b6040518263ffffffff1660e01b8152600401610e1291815260200190565b602060405180830381865afa158015610e2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e539190612311565b610e9f5760405162461bcd60e51b815260206004820152601660248201527f61646472657373206e6f742072656769737465726564000000000000000000006044820152606401610339565b826001600160a01b0316630ff4c916610ebe846001600160a01b031690565b6040518263ffffffff1660e01b8152600401610edc91815260200190565b602060405180830381865afa158015610ef9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1d919061262c565b9392505050565b6040517ffbdfa1ea0000000000000000000000000000000000000000000000000000000081526004810182905260009081906001600160a01b0385169063fbdfa1ea90602401600060405180830381865afa158015610f87573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610faf9190810190612645565b905080516000036110025760405162461bcd60e51b815260206004820152601160248201527f6964206e6f7420726567697374657265640000000000000000000000000000006044820152606401610339565b6106678160008151811061101857611018612523565b602002602001015190565b6000610f1d8383610f24565b606061103961207c565b7620000000000000000000000000000000000000000000008152600060208201819052600160808301525b835181101561148257600084828151811061108157611081612523565b6020026020010151905061109481611495565b156110e2576004815160058111156110ae576110ae612333565b036110bb57604083018190525b6005815160058111156110d0576110d0612333565b036110dd57606083018190525b61146f565b826080015115611388576110f5816114d0565b6111415760405162461bcd60e51b815260206004820152601960248201527f4e454741544956455f494e495449414c5f465241474d454e54000000000000006044820152606401610339565b600060808401819052808251600581111561115e5761115e612333565b146111e15781602001516001600160a01b031663b361be4683604001516040518263ffffffff1660e01b815260040161119791906123c7565b600060405180830381865afa1580156111b4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111dc9190810190612645565b61124b565b81602001516001600160a01b03166331b933b96040518163ffffffff1660e01b8152600401600060405180830381865afa158015611223573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261124b9190810190612645565b9050611256816114f4565b84528051602080860191909152606085015101516001600160a01b03161580159061129c5750600084606001516040015180602001905181019061129a919061262c565b115b156113825760005b81518110156113805760006112f68383815181106112c4576112c4612523565b60200260200101518760600151602001518860600151604001518060200190518101906112f1919061262c565b61155c565b905060005b815181101561136b5761134461133c604051806040016040528085858151811061132757611327612523565b60200260200101518152602001600081525090565b885190611768565b875260208701805190611356826124eb565b90525080611363816124eb565b9150506112fb565b50508080611378906124eb565b9150506112a4565b505b5061146f565b82517620000000000000000000000000000000000000000000009060009060019060601c69ffffffffffffffffffff165b81156114645760006113dd8260408051808201909152600080825260208201525090565b805190915060006113ee82896117cd565b90506113fc8a898484611ad0565b9050801561143a5761142a6114236040518060400160405280858152602001600081525090565b8890611768565b965085611436816124eb565b9650505b6114478a89848a8a611b55565b8b5160b01c8601519198509650801515955093506113b992505050565b505090845260208401525b508061147a816124eb565b915050611064565b50610f1d81600001518260200151611ccc565b60006004825160058111156114ac576114ac612333565b1480610446575060055b825160058111156114c9576114c9612333565b1492915050565b600080825160058111156114e6576114e6612333565b1480610446575060026114b6565b76200000000000000000000000000000000000000000000060005b82518110156115565761154261153b604051806040016040528086858151811061132757611327612523565b8390611768565b91508061154e816124eb565b91505061150f565b50919050565b60608160000361157b5750604080516000815260208101909152610f1d565b6000836001600160a01b031663b361be468660405160200161159f91815260200190565b6040516020818303038152906040526040518263ffffffff1660e01b81526004016115ca91906123c7565b600060405180830381865afa1580156115e7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261160f9190810190612645565b905082600103611620579050610f1d565b7620000000000000000000000000000000000000000000006000805b83518110156116e157600061167285838151811061165c5761165c612523565b60200260200101518960018a6112f191906126eb565b905060005b81518110156116cc576116aa6116a3604051806040016040528085858151811061132757611327612523565b8690611768565b9450836116b6816124eb565b94505080806116c4906124eb565b915050611677565b505080806116d9906124eb565b91505061163c565b5060006116fa838551846116f59190612702565b611ccc565b905060005b845181101561175c5784818151811061171a5761171a612523565b602002602001015182828561172f9190612702565b8151811061173f5761173f612523565b602090810291909101015280611754816124eb565b9150506116ff565b50979650505050505050565b6000808360501b60b01c116001811461178d578260101b8360601b85171791506117c6565b828460b01c8560a01b60b01c01528260101b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000085161791505b5092915050565b600080825160058111156117e3576117e3612333565b0361185e576020820151604051636667bd4760e11b8152600481018590526001600160a01b039091169063cccf7a8e90602401602060405180830381865afa158015611833573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118579190612311565b9050610446565b60028251600581111561187357611873612333565b0361191f5760208201516040517fb8bc073d000000000000000000000000000000000000000000000000000000008152600481018590526001600160a01b039091169063b8bc073d90602401600060405180830381865afa1580156118dc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526119049190810190612441565b80519060200120826040015180519060200120149050610446565b60018251600581111561193457611934612333565b036119b0576020820151604051636667bd4760e11b8152600481018590526001600160a01b039091169063cccf7a8e90602401602060405180830381865afa158015611984573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119a89190612311565b159050610446565b6003825160058111156119c5576119c5612333565b03611a725760208201516040517fb8bc073d000000000000000000000000000000000000000000000000000000008152600481018590526001600160a01b039091169063b8bc073d90602401600060405180830381865afa158015611a2e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611a569190810190612441565b8051906020012082604001518051906020012014159050610446565b611a7b82611da4565b611ac75760405162461bcd60e51b815260206004820152601260248201527f4e4f5f454e544954595f465241474d454e5400000000000000000000000000006044820152606401610339565b50600092915050565b6040840151602001516000906001600160a01b031615801590611b0e57506000856040015160400151806020019051810190611b0c919061262c565b115b8015611b215750611b1f8285611e03565b155b15611b4d57600080611b3885878960400151611e2e565b915091508015611b4a57509050610667565b50505b509392505050565b60608501516020015160009081906001600160a01b031615801590611b9557506000876060015160400151806020019051810190611b93919061262c565b115b15611cc0576000611bc5868960600151602001518a60600151604001518060200190518101906112f1919061262c565b905060005b8151811015611cbd576000828281518110611be757611be7612523565b602002602001015190506000611bfd828b6117cd565b905080158015611c1d575060408b0151602001516001600160a01b031615155b8015611c44575060008b6040015160400151806020019051810190611c42919061262c565b115b15611c6c57600080611c5b848d8f60400151611e2e565b915091508015611c69578192505b50505b8015611ca857611c98611c9160405180604001604052808c8152602001600081525090565b8990611768565b975086611ca4816124eb565b9750505b50508080611cb5906124eb565b915050611bca565b50505b50919590945092505050565b60608167ffffffffffffffff811115611ce757611ce76123fa565b604051908082528060200260200182016040528015611d10578160200160208202803683370190505b509050811561044657600169ffffffffffffffffffff606085901c1660005b8215611d9b576000611d538360408051808201909152600080825260208201525090565b90508060000151858381518110611d6c57611d6c612523565b602090810291909101015281611d81816124eb565b60b089901c94909401518015159550939250611d2f915050565b50505092915050565b60008082516005811115611dba57611dba612333565b1480611dd85750600282516005811115611dd657611dd6612333565b145b80611df6575060015b82516005811115611df457611df4612333565b145b80610446575060036114b6565b6000828015611e165750611e16826114d0565b80610f1d575082158015610f1d5750610f1d82612073565b600080611e3a84611da4565b611e865760405162461bcd60e51b815260206004820152601260248201527f4e4f5f454e544954595f465241474d454e5400000000000000000000000000006044820152606401610339565b600483516005811115611e9b57611e9b612333565b14611ee85760405162461bcd60e51b815260206004820152601660248201527f4e4f5f50524f58595f524541445f465241474d454e54000000000000000000006044820152606401610339565b8460005b8460400151806020019051810190611f04919061262c565b811015612064576020850151604051636667bd4760e11b8152600481018490526001600160a01b039091169063cccf7a8e90602401602060405180830381865afa158015611f56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f7a9190612311565b611f8a57506000915061206b9050565b60208501516040517fb8bc073d000000000000000000000000000000000000000000000000000000008152600481018490526001600160a01b039091169063b8bc073d90602401600060405180830381865afa158015611fee573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526120169190810190612441565b806020019051810190612029919061262c565b915061203582876117cd565b93506120418487611e03565b1561205257506001915061206b9050565b8061205c816124eb565b915050611eec565b5060019150505b935093915050565b60006001611de1565b6040805160a081018252600080825260208201529081016120b86040805160608101909152806000815260006020820152606060409091015290565b81526020016120e26040805160608101909152806000815260006020820152606060409091015290565b8152600060209091015290565b60006020828403121561210157600080fd5b5035919050565b80356001600160a01b038116811461211f57600080fd5b919050565b6000806040838503121561213757600080fd5b61214083612108565b946020939093013593505050565b6000806020838503121561216157600080fd5b823567ffffffffffffffff8082111561217957600080fd5b818501915085601f83011261218d57600080fd5b81358181111561219c57600080fd5b8660208260051b85010111156121b157600080fd5b60209290920196919550909350505050565b6020808252825182820181905260009190848201906040850190845b818110156121fb578351835292840192918401916001016121df565b50909695505050505050565b60006020828403121561221957600080fd5b610f1d82612108565b60008083601f84011261223457600080fd5b50813567ffffffffffffffff81111561224c57600080fd5b60208301915083602082850101111561226457600080fd5b9250929050565b6000806000806060858703121561228157600080fd5b61228a85612108565b935060208501359250604085013567ffffffffffffffff8111156122ad57600080fd5b6122b987828801612222565b95989497509550505050565b6000806000604084860312156122da57600080fd5b83359250602084013567ffffffffffffffff8111156122f857600080fd5b61230486828701612222565b9497909650939450505050565b60006020828403121561232357600080fd5b81518015158114610f1d57600080fd5b634e487b7160e01b600052602160045260246000fd5b6001600160a01b03858116825260808201906002861061237957634e487b7160e01b600052602160045260246000fd5b85602084015280851660408401525082606083015295945050505050565b60005b838110156123b257818101518382015260200161239a565b838111156123c1576000848401525b50505050565b60208152600082518060208401526123e6816040850160208701612397565b601f01601f19169190910160400192915050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612439576124396123fa565b604052919050565b60006020828403121561245357600080fd5b815167ffffffffffffffff8082111561246b57600080fd5b818401915084601f83011261247f57600080fd5b815181811115612491576124916123fa565b6124a46020601f19601f84011601612410565b91508082528560208285010111156124bb57600080fd5b6124cc816020840160208601612397565b50949350505050565b634e487b7160e01b600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361251c5761251c6124d5565b5060010190565b634e487b7160e01b600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa183360301811261256d57600080fd5b9190910192915050565b60006020828403121561258957600080fd5b813560068110610f1d57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126125cd57600080fd5b83018035915067ffffffffffffffff8211156125e857600080fd5b60200191503681900382131561226457600080fd5b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b60006020828403121561263e57600080fd5b5051919050565b6000602080838503121561265857600080fd5b825167ffffffffffffffff8082111561267057600080fd5b818501915085601f83011261268457600080fd5b815181811115612696576126966123fa565b8060051b91506126a7848301612410565b81815291830184019184810190888411156126c157600080fd5b938501935b838510156126df578451825293850193908501906126c6565b98975050505050505050565b6000828210156126fd576126fd6124d5565b500390565b60008219821115612715576127156124d5565b50019056fea26469706673582212204a37a8c055f4a83b7935bd418b3678afa9b17785adc2c692e0905a2af26b964764736f6c634300080d0033608060405234801561001057600080fd5b5061001a3361001f565b6100b4565b600061003361009060201b6105431760201c565b80546040519192506001600160a01b03808516929116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a380546001600160a01b0319166001600160a01b0392909216919091179055565b7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f67168046090565b610787806100c36000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80638e7cb6e11161005b5780638e7cb6e114610100578063949d225d1461012a578063cccf7a8e1461013b578063f2fde38b1461015e57600080fd5b80631003e2d21461008d578063410d59cc146100a25780634cc82215146100c05780638da5cb5b146100d3575b600080fd5b6100a061009b36600461061b565b610171565b005b6100aa610233565b6040516100b79190610634565b60405180910390f35b6100a06100ce36600461061b565b61028b565b6100db6103ef565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b7565b61011361010e36600461061b565b610434565b6040805192151583526020830191909152016100b7565b6000546040519081526020016100b7565b61014e61014936600461061b565b610467565b60405190151581526020016100b7565b6100a061016c366004610678565b6104ca565b7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f6716804605473ffffffffffffffffffffffffffffffffffffffff1633146101e1576040517f2f7a8ee100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6101ea81610467565b61023057600080548282526001602081905260408320829055810182559080527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563018190555b50565b6060600080548060200260200160405190810160405280929190818152602001828054801561028157602002820191906000526020600020905b81548152602001906001019080831161026d575b5050505050905090565b7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f6716804605473ffffffffffffffffffffffffffffffffffffffff1633146102fb576040517f2f7a8ee100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61030481610467565b156102305760008054610319906001906106b5565b81548110610329576103296106f3565b9060005260206000200154600060016000848152602001908152602001600020548154811061035a5761035a6106f3565b60009182526020808320909101929092558281526001918290526040812054815490929190819084908110610391576103916106f3565b9060005260206000200154815260200190815260200160002081905550600160008281526020019081526020016000206000905560008054806103d6576103d6610722565b6001900381819060005260206000200160009055905550565b600061042f7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f6716804605473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b60008061044083610467565b61044f57506000928392509050565b50506000908152600160208190526040909120549091565b60008054810361047957506000919050565b60008281526001602052604081205490036104b55781600080815481106104a2576104a26106f3565b9060005260206000200154149050919050565b50600090815260016020526040902054151590565b7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f6716804605473ffffffffffffffffffffffffffffffffffffffff16331461053a576040517f2f7a8ee100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61023081610567565b7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f67168046090565b7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f6716804608054604051610230928492909173ffffffffffffffffffffffffffffffffffffffff8085169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60006020828403121561062d57600080fd5b5035919050565b6020808252825182820181905260009190848201906040850190845b8181101561066c57835183529284019291840191600101610650565b50909695505050505050565b60006020828403121561068a57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146106ae57600080fd5b9392505050565b6000828210156106ee577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b500390565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea26469706673582212201674bd8553299d0209b581584c4a1b6523f7235dd027c4a3a571b034d71105f064736f6c634300080d003360806040523480156200001157600080fd5b5060405162002bba38038062002bba83398101604081905262000034916200029a565b81818181620000433362000108565b60028190556001600160a01b03821615620000635762000063826200017c565b505060405162000073906200027e565b604051809103906000f08015801562000090573d6000803e3d6000fd5b50600380546001600160a01b0319166001600160a01b0392909216919091179055604051620000bf906200028c565b604051809103906000f080158015620000dc573d6000803e3d6000fd5b50600480546001600160a01b0319166001600160a01b039290921691909117905550620002d692505050565b60006200011f6200023460201b62000ae51760201c565b80546040519192506001600160a01b03808516929116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a380546001600160a01b0319166001600160a01b0392909216919091179055565b6200018662000258565b6001600160a01b0316336001600160a01b031614620001b857604051632f7a8ee160e01b815260040160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117909155600254604051630f30347760e41b8152306004820152602481019190915263f303477090604401600060405180830381600087803b1580156200021857600080fd5b505af11580156200022d573d6000803e3d6000fd5b5050505050565b7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f67168046090565b60006200026f6200023460201b62000ae51760201c565b546001600160a01b0316919050565b61084a8062001ade83390190565b610892806200232883390190565b60008060408385031215620002ae57600080fd5b82516001600160a01b0381168114620002c657600080fd5b6020939093015192949293505050565b6117f880620002e66000396000f3fe608060405234801561001057600080fd5b50600436106101515760003560e01c80638b282947116100cd578063b8bc073d11610081578063cccf7a8e11610066578063cccf7a8e146102c0578063f2fde38b146102d3578063fbdfa1ea146102e657600080fd5b8063b8bc073d1461028d578063bf4fe57e146102ad57600080fd5b80639d2c76b4116100b25780639d2c76b41461025e578063af640d0f14610271578063b361be461461027a57600080fd5b80638b282947146102435780638da5cb5b1461025657600080fd5b80634cc82215116101245780636b122fe0116101095780636b122fe0146101f757806375c0669c1461020d578063861eb9051461022057600080fd5b80634cc82215146101d15780634fef6a38146101e457600080fd5b80630ff4c916146101565780631ab06ee51461017c57806330b67baa1461019157806331b933b9146101bc575b600080fd5b610169610164366004611267565b6102f9565b6040519081526020015b60405180910390f35b61018f61018a366004611280565b61031f565b005b6000546101a4906001600160a01b031681565b6040516001600160a01b039091168152602001610173565b6101c461034e565b60405161017391906112a2565b61018f6101df366004611267565b6103de565b61018f6101f23660046112e6565b610429565b6101ff6104b6565b604051610173929190611372565b61018f61021b3660046112e6565b6105a2565b61023361022e3660046112e6565b61064b565b6040519015158152602001610173565b61018f610251366004611500565b6106af565b6101a46106f8565b61018f61026c3660046112e6565b61072b565b61016960025481565b6101c4610288366004611547565b610821565b6102a061029b366004611267565b6108b3565b6040516101739190611584565b61018f6102bb3660046112e6565b610955565b6102336102ce366004611267565b6109df565b61018f6102e13660046112e6565b610a66565b6101c46102f4366004611267565b610ab9565b600080610305836108b3565b8060200190518101906103189190611597565b9392505050565b61034a828260405160200161033691815260200190565b6040516020818303038152906040526106af565b5050565b600354604080517f410d59cc00000000000000000000000000000000000000000000000000000000815290516060926001600160a01b03169163410d59cc9160048083019260009291908290030181865afa1580156103b1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103d991908101906115b0565b905090565b6103e73361064b565b61041d576040517f406ed3da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61042681610b09565b50565b7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f671680460546001600160a01b0316331461047357604051632f7a8ee160e01b815260040160405180910390fd5b6001600160a01b031660009081527f8ffeadc5cba727b8cc3cdef48739619490ea317fdb3baae1259089d06f92c90960205260409020805460ff19166001179055565b604080516001808252818301909252606091829190816020015b60608152602001906001900390816104d0575050604080516001808252818301909252919350602080830190803683370190505090506040518060400160405280600581526020017f76616c75650000000000000000000000000000000000000000000000000000008152508260008151811061054f5761054f611656565b6020026020010181905250600d8160008151811061056f5761056f611656565b602002602001019060218111156105885761058861135c565b9081602181111561059b5761059b61135c565b9052509091565b6105ab3361064b565b6105e1576040517f406ed3da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600580546001810182556000919091527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b6001600160a01b03811660009081527f8ffeadc5cba727b8cc3cdef48739619490ea317fdb3baae1259089d06f92c909602052604081205460ff16806106a957506106946106f8565b6001600160a01b0316826001600160a01b0316145b92915050565b6106b83361064b565b6106ee576040517f406ed3da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61034a8282610d94565b60006103d97f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f671680460546001600160a01b031690565b7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f671680460546001600160a01b0316331461077557604051632f7a8ee160e01b815260040160405180910390fd5b600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0383169081179091556002546040517ff3034770000000000000000000000000000000000000000000000000000000008152306004820152602481019190915263f3034770906044015b600060405180830381600087803b15801561080657600080fd5b505af115801561081a573d6000803e3d6000fd5b5050505050565b60048054825160208401206040517f796c5e94000000000000000000000000000000000000000000000000000000008152928301526060916001600160a01b039091169063796c5e9490602401600060405180830381865afa15801561088b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106a991908101906115b0565b60008181526001602052604090208054606091906108d09061166c565b80601f01602080910402602001604051908101604052809291908181526020018280546108fc9061166c565b80156109495780601f1061091e57610100808354040283529160200191610949565b820191906000526020600020905b81548152906001019060200180831161092c57829003601f168201915b50505050509050919050565b7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f671680460546001600160a01b0316331461099f57604051632f7a8ee160e01b815260040160405180910390fd5b6001600160a01b031660009081527f8ffeadc5cba727b8cc3cdef48739619490ea317fdb3baae1259089d06f92c90960205260409020805460ff19169055565b6003546040517fcccf7a8e000000000000000000000000000000000000000000000000000000008152600481018390526000916001600160a01b03169063cccf7a8e90602401602060405180830381865afa158015610a42573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106a991906116a6565b7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f671680460546001600160a01b03163314610ab057604051632f7a8ee160e01b815260040160405180910390fd5b61042681610ff7565b60606106a982604051602001610ad191815260200190565b604051602081830303815290604052610821565b7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f67168046090565b6004546000828152600160205260409081902090516001600160a01b03909216916385edea1391610b39916116c8565b60405190819003812060e083901b7fffffffff000000000000000000000000000000000000000000000000000000001682526004820152602401602060405180830381865afa158015610b90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb49190611597565b600003610bbe5750565b6004546000828152600160205260409081902090516001600160a01b0390921691636526db7a91610bee916116c8565b60405190819003812060e083901b7fffffffff00000000000000000000000000000000000000000000000000000000168252600482015260248101849052604401600060405180830381600087803b158015610c4957600080fd5b505af1158015610c5d573d6000803e3d6000fd5b50506003546040517f4cc82215000000000000000000000000000000000000000000000000000000008152600481018590526001600160a01b039091169250634cc822159150602401600060405180830381600087803b158015610cc057600080fd5b505af1158015610cd4573d6000803e3d6000fd5b50505050610ce181611000565b60005b60055481101561034a5760058181548110610d0157610d01611656565b6000918252602090912001546040517f4cc82215000000000000000000000000000000000000000000000000000000008152600481018490526001600160a01b0390911690634cc8221590602401600060405180830381600087803b158015610d6957600080fd5b505af1158015610d7d573d6000803e3d6000fd5b505050508080610d8c90611763565b915050610ce4565b6003546040517f1003e2d2000000000000000000000000000000000000000000000000000000008152600481018490526001600160a01b0390911690631003e2d290602401600060405180830381600087803b158015610df357600080fd5b505af1158015610e07573d6000803e3d6000fd5b50506004546000858152600160205260409081902090516001600160a01b039092169350636526db7a9250610e3b916116c8565b60405190819003812060e083901b7fffffffff00000000000000000000000000000000000000000000000000000000168252600482015260248101859052604401600060405180830381600087803b158015610e9657600080fd5b505af1158015610eaa573d6000803e3d6000fd5b505060048054845160208601206040517f771602f700000000000000000000000000000000000000000000000000000000815292830152602482018690526001600160a01b0316925063771602f79150604401600060405180830381600087803b158015610f1757600080fd5b505af1158015610f2b573d6000803e3d6000fd5b50505050610f398282611061565b60005b600554811015610ff25760058181548110610f5957610f59611656565b6000918252602090912001546040517f0216b8380000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690630216b83890610fad90869086906004016117a9565b600060405180830381600087803b158015610fc757600080fd5b505af1158015610fdb573d6000803e3d6000fd5b505050508080610fea90611763565b915050610f3c565b505050565b61042681611102565b600081815260016020526040812061101791611194565b6000546040517f0de3b7b5000000000000000000000000000000000000000000000000000000008152600481018390526001600160a01b0390911690630de3b7b5906024016107ec565b60008281526001602090815260409091208251611080928401906111ce565b506000546040517fcfd3c57f0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063cfd3c57f906110cc90859085906004016117a9565b600060405180830381600087803b1580156110e657600080fd5b505af11580156110fa573d6000803e3d6000fd5b505050505050565b7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f67168046080546040516001600160a01b038481169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a380547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b5080546111a09061166c565b6000825580601f106111b0575050565b601f0160209004906000526020600020908101906104269190611252565b8280546111da9061166c565b90600052602060002090601f0160209004810192826111fc5760008555611242565b82601f1061121557805160ff1916838001178555611242565b82800160010185558215611242579182015b82811115611242578251825591602001919060010190611227565b5061124e929150611252565b5090565b5b8082111561124e5760008155600101611253565b60006020828403121561127957600080fd5b5035919050565b6000806040838503121561129357600080fd5b50508035926020909101359150565b6020808252825182820181905260009190848201906040850190845b818110156112da578351835292840192918401916001016112be565b50909695505050505050565b6000602082840312156112f857600080fd5b81356001600160a01b038116811461031857600080fd5b6000815180845260005b8181101561133557602081850181015186830182015201611319565b81811115611347576000602083870101525b50601f01601f19169290920160200192915050565b634e487b7160e01b600052602160045260246000fd5b6000604082016040835280855180835260608501915060608160051b8601019250602080880160005b838110156113e7577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa08887030185526113d586835161130f565b9550938201939082019060010161139b565b50508584038187015286518085528782019482019350915060005b8281101561143c5784516022811061142a57634e487b7160e01b600052602160045260246000fd5b84529381019392810192600101611402565b5091979650505050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561148857611488611449565b604052919050565b600082601f8301126114a157600080fd5b813567ffffffffffffffff8111156114bb576114bb611449565b6114ce6020601f19601f8401160161145f565b8181528460208386010111156114e357600080fd5b816020850160208301376000918101602001919091529392505050565b6000806040838503121561151357600080fd5b82359150602083013567ffffffffffffffff81111561153157600080fd5b61153d85828601611490565b9150509250929050565b60006020828403121561155957600080fd5b813567ffffffffffffffff81111561157057600080fd5b61157c84828501611490565b949350505050565b602081526000610318602083018461130f565b6000602082840312156115a957600080fd5b5051919050565b600060208083850312156115c357600080fd5b825167ffffffffffffffff808211156115db57600080fd5b818501915085601f8301126115ef57600080fd5b81518181111561160157611601611449565b8060051b915061161284830161145f565b818152918301840191848101908884111561162c57600080fd5b938501935b8385101561164a57845182529385019390850190611631565b98975050505050505050565b634e487b7160e01b600052603260045260246000fd5b600181811c9082168061168057607f821691505b6020821081036116a057634e487b7160e01b600052602260045260246000fd5b50919050565b6000602082840312156116b857600080fd5b8151801515811461031857600080fd5b600080835481600182811c9150808316806116e457607f831692505b6020808410820361170357634e487b7160e01b86526022600452602486fd5b818015611717576001811461172857611755565b60ff19861689528489019650611755565b60008a81526020902060005b8681101561174d5781548b820152908501908301611734565b505084890196505b509498975050505050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036117a257634e487b7160e01b600052601160045260246000fd5b5060010190565b82815260406020820152600061157c604083018461130f56fea2646970667358221220ae19e4981b65edea0bf25c4d889bce08da661e552c6be2c3dcd9c9c3979dd6df64736f6c634300080d0033608060405234801561001057600080fd5b5061001a3361001f565b6100b4565b600061003361009060201b6105431760201c565b80546040519192506001600160a01b03808516929116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a380546001600160a01b0319166001600160a01b0392909216919091179055565b7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f67168046090565b610787806100c36000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80638e7cb6e11161005b5780638e7cb6e114610100578063949d225d1461012a578063cccf7a8e1461013b578063f2fde38b1461015e57600080fd5b80631003e2d21461008d578063410d59cc146100a25780634cc82215146100c05780638da5cb5b146100d3575b600080fd5b6100a061009b36600461061b565b610171565b005b6100aa610233565b6040516100b79190610634565b60405180910390f35b6100a06100ce36600461061b565b61028b565b6100db6103ef565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b7565b61011361010e36600461061b565b610434565b6040805192151583526020830191909152016100b7565b6000546040519081526020016100b7565b61014e61014936600461061b565b610467565b60405190151581526020016100b7565b6100a061016c366004610678565b6104ca565b7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f6716804605473ffffffffffffffffffffffffffffffffffffffff1633146101e1576040517f2f7a8ee100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6101ea81610467565b61023057600080548282526001602081905260408320829055810182559080527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563018190555b50565b6060600080548060200260200160405190810160405280929190818152602001828054801561028157602002820191906000526020600020905b81548152602001906001019080831161026d575b5050505050905090565b7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f6716804605473ffffffffffffffffffffffffffffffffffffffff1633146102fb576040517f2f7a8ee100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61030481610467565b156102305760008054610319906001906106b5565b81548110610329576103296106f3565b9060005260206000200154600060016000848152602001908152602001600020548154811061035a5761035a6106f3565b60009182526020808320909101929092558281526001918290526040812054815490929190819084908110610391576103916106f3565b9060005260206000200154815260200190815260200160002081905550600160008281526020019081526020016000206000905560008054806103d6576103d6610722565b6001900381819060005260206000200160009055905550565b600061042f7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f6716804605473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b60008061044083610467565b61044f57506000928392509050565b50506000908152600160208190526040909120549091565b60008054810361047957506000919050565b60008281526001602052604081205490036104b55781600080815481106104a2576104a26106f3565b9060005260206000200154149050919050565b50600090815260016020526040902054151590565b7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f6716804605473ffffffffffffffffffffffffffffffffffffffff16331461053a576040517f2f7a8ee100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61023081610567565b7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f67168046090565b7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f6716804608054604051610230928492909173ffffffffffffffffffffffffffffffffffffffff8085169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60006020828403121561062d57600080fd5b5035919050565b6020808252825182820181905260009190848201906040850190845b8181101561066c57835183529284019291840191600101610650565b50909695505050505050565b60006020828403121561068a57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146106ae57600080fd5b9392505050565b6000828210156106ee577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b500390565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea26469706673582212201674bd8553299d0209b581584c4a1b6523f7235dd027c4a3a571b034d71105f064736f6c634300080d0033608060405234801561001057600080fd5b5061001a3361001f565b6100b4565b600061003361009060201b6105691760201c565b80546040519192506001600160a01b03808516929116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a380546001600160a01b0319166001600160a01b0392909216919091179055565b7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f67168046090565b6107cf806100c36000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c806385edea131161005b57806385edea13146100d35780638da5cb5b14610101578063a0265ff81461012e578063f2fde38b1461015157600080fd5b80636526db7a14610082578063771602f714610097578063796c5e94146100aa575b600080fd5b610095610090366004610641565b610164565b005b6100956100a5366004610641565b610301565b6100bd6100b8366004610663565b6103b5565b6040516100ca919061067c565b60405180910390f35b6100f36100e1366004610663565b60009081526020819052604090205490565b6040519081526020016100ca565b610109610415565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100ca565b61014161013c366004610641565b61045a565b60405190151581526020016100ca565b61009561015f3660046106c0565b6104ed565b7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f6716804605473ffffffffffffffffffffffffffffffffffffffff1633146101d4576040517f2f7a8ee100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6101de828261045a565b156102fd57600082815260208190526040902080546101ff906001906106fd565b8154811061020f5761020f61073b565b600091825260208083209091015484835282825260408084206001845281852086865290935290922054815481106102495761024961073b565b6000918252602080832090910192909255838152600182526040808220848352808452818320548684528385529183208584529381905283549193909291849081106102975761029761073b565b600091825260208083209091015483528281019390935260409182018120939093558483526001825280832084845282528083208390558483529082905290208054806102e6576102e661076a565b600190038181906000526020600020016000905590555b5050565b7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f6716804605473ffffffffffffffffffffffffffffffffffffffff163314610371576040517f2f7a8ee100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61037b828261045a565b6102fd5760009182526020828152604080842080546001808552838720868852855292862081905585845291820181558452922090910155565b6000818152602081815260409182902080548351818402810184019094528084526060939283018282801561040957602002820191906000526020600020905b8154815260200190600101908083116103f5575b50505050509050919050565b60006104557f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f6716804605473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b6000828152602081905260408120548103610477575060006104e7565b600083815260016020908152604080832085845290915281205490036104c957600083815260208190526040812080548492906104b6576104b661073b565b90600052602060002001541490506104e7565b50600082815260016020908152604080832084845290915290205415155b92915050565b7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f6716804605473ffffffffffffffffffffffffffffffffffffffff16331461055d576040517f2f7a8ee100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6105668161058d565b50565b7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f67168046090565b7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f6716804608054604051610566928492909173ffffffffffffffffffffffffffffffffffffffff8085169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6000806040838503121561065457600080fd5b50508035926020909101359150565b60006020828403121561067557600080fd5b5035919050565b6020808252825182820181905260009190848201906040850190845b818110156106b457835183529284019291840191600101610698565b50909695505050505050565b6000602082840312156106d257600080fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146106f657600080fd5b9392505050565b600082821015610736577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b500390565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea264697066735822122005d8067b24e234195d6fbe9662faca7ba32687b594260e7fc6f6d5f4f11d195764736f6c634300080d003360806040523480156200001157600080fd5b50604051620010263803806200102683398101604081905262000034916200022c565b818162000041336200010f565b6001600160a01b03811615620000585780620000bd565b816001600160a01b031663ba62fbe46040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000097573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000bd91906200026b565b600080546001600160a01b03199081166001600160a01b0393841690811790925560018054909116928516928317905562000105919062000183602090811b6200079617901c565b5050505062000292565b600062000126620001ef60201b6200081a1760201c565b80546040519192506001600160a01b03808516929116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a380546001600160a01b0319166001600160a01b0392909216919091179055565b7ff67304f10c7772c78e439bc5cb07781db345424de8878c18100fdaa64d197a8780546001600160a01b039384166001600160a01b0319918216179091557ff67304f10c7772c78e439bc5cb07781db345424de8878c18100fdaa64d197a868054929093169116179055565b7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f67168046090565b6001600160a01b03811681146200022957600080fd5b50565b600080604083850312156200024057600080fd5b82516200024d8162000213565b6020840151909250620002608162000213565b809150509250929050565b6000602082840312156200027e57600080fd5b81516200028b8162000213565b9392505050565b610d8480620002a26000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c80638da5cb5b116100505780638da5cb5b146100a9578063f2fde38b146100c9578063f6cd7a01146100de57600080fd5b806309c5eabe1461006c5780638b246a5b14610095575b600080fd5b61007f61007a366004610a1b565b6100f1565b60405161008c9190610ab0565b60405180910390f35b61007f6100a3366004610a1b565b50606090565b6100b16106b6565b6040516001600160a01b03909116815260200161008c565b6100dc6100d7366004610b1a565b6106ee565b005b61007f6100ec366004610b4b565b61075d565b60606000806000808580602001905181019061010d9190610b9c565b600154939750919550935091506001600160a01b0316331461019c5760405162461bcd60e51b815260206004820152602360248201527f73797374656d2063616e206f6e6c792062652063616c6c65642076696120576f60448201527f726c64000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b60008360018111156101b0576101b0610bef565b14806101cd575060018360018111156101cb576101cb610bef565b145b6102195760405162461bcd60e51b815260206004820152600c60248201527f696e76616c6964207479706500000000000000000000000000000000000000006044820152606401610193565b806000036102695760405162461bcd60e51b815260206004820152600a60248201527f696e76616c6964206964000000000000000000000000000000000000000000006044820152606401610193565b6001600160a01b0382166102bf5760405162461bcd60e51b815260206004820152600f60248201527f696e76616c6964206164647265737300000000000000000000000000000000006044820152606401610193565b6000808460018111156102d4576102d4610bef565b146103145760005461030f906001600160a01b03167f017c816a964927a00e050edd780dcf113ca2756dfa9e9fda94a05c140d9317b061083e565b610321565b6000546001600160a01b03165b905060006001600160a01b0384166040517fcccf7a8e000000000000000000000000000000000000000000000000000000008152600481018290529091506001600160a01b0383169063cccf7a8e90602401602060405180830381865afa158015610390573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103b49190610c05565b156104015760405162461bcd60e51b815260206004820152601960248201527f656e7469747920616c72656164792072656769737465726564000000000000006044820152606401610193565b6040517ffbdfa1ea000000000000000000000000000000000000000000000000000000008152600481018490526000906001600160a01b0384169063fbdfa1ea90602401600060405180830381865afa158015610462573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261048a9190810190610c27565b905080516000148061053a57508051600114801561053a5750866001600160a01b03166104ce826000815181106104c3576104c3610ccd565b602002602001015190565b6001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561050b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061052f9190610ce3565b6001600160a01b0316145b6105ac5760405162461bcd60e51b815260206004820152602a60248201527f696420616c7265616479207265676973746572656420616e642063616c6c657260448201527f206e6f74206f776e6572000000000000000000000000000000000000000000006064820152608401610193565b805160010361063057826001600160a01b0316634cc82215826000815181106105d7576105d7610ccd565b60200260200101516040518263ffffffff1660e01b81526004016105fd91815260200190565b600060405180830381600087803b15801561061757600080fd5b505af115801561062b573d6000803e3d6000fd5b505050505b6040517f1ab06ee500000000000000000000000000000000000000000000000000000000815260048101839052602481018590526001600160a01b03841690631ab06ee590604401600060405180830381600087803b15801561069257600080fd5b505af11580156106a6573d6000803e3d6000fd5b5050505050505050505050919050565b60006106e97f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f671680460546001600160a01b031690565b905090565b7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f671680460546001600160a01b03163314610751576040517f2f7a8ee100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61075a8161093a565b50565b606061078d858585856040516020016107799493929190610d00565b6040516020818303038152906040526100f1565b95945050505050565b7ff67304f10c7772c78e439bc5cb07781db345424de8878c18100fdaa64d197a8780546001600160a01b039384167fffffffffffffffffffffffff0000000000000000000000000000000000000000918216179091557ff67304f10c7772c78e439bc5cb07781db345424de8878c18100fdaa64d197a868054929093169116179055565b7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f67168046090565b6040517ffbdfa1ea0000000000000000000000000000000000000000000000000000000081526004810182905260009081906001600160a01b0385169063fbdfa1ea90602401600060405180830381865afa1580156108a1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108c99190810190610c27565b9050805160000361091c5760405162461bcd60e51b815260206004820152601160248201527f6964206e6f7420726567697374657265640000000000000000000000000000006044820152606401610193565b610932816000815181106104c3576104c3610ccd565b949350505050565b7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f671680460805460405161075a92849290916001600160a01b038085169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a380547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610a1357610a136109d4565b604052919050565b60006020808385031215610a2e57600080fd5b823567ffffffffffffffff80821115610a4657600080fd5b818501915085601f830112610a5a57600080fd5b813581811115610a6c57610a6c6109d4565b610a7e84601f19601f840116016109ea565b91508082528684828501011115610a9457600080fd5b8084840185840137600090820190930192909252509392505050565b600060208083528351808285015260005b81811015610add57858101830151858201604001528201610ac1565b81811115610aef576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461075a57600080fd5b600060208284031215610b2c57600080fd5b8135610b3781610b05565b9392505050565b6002811061075a57600080fd5b60008060008060808587031215610b6157600080fd5b8435610b6c81610b05565b93506020850135610b7c81610b3e565b92506040850135610b8c81610b05565b9396929550929360600135925050565b60008060008060808587031215610bb257600080fd5b8451610bbd81610b05565b6020860151909450610bce81610b3e565b6040860151909350610bdf81610b05565b6060959095015193969295505050565b634e487b7160e01b600052602160045260246000fd5b600060208284031215610c1757600080fd5b81518015158114610b3757600080fd5b60006020808385031215610c3a57600080fd5b825167ffffffffffffffff80821115610c5257600080fd5b818501915085601f830112610c6657600080fd5b815181811115610c7857610c786109d4565b8060051b9150610c898483016109ea565b8181529183018401918481019088841115610ca357600080fd5b938501935b83851015610cc157845182529385019390850190610ca8565b98975050505050505050565b634e487b7160e01b600052603260045260246000fd5b600060208284031215610cf557600080fd5b8151610b3781610b05565b6001600160a01b038581168252608082019060028610610d3057634e487b7160e01b600052602160045260246000fd5b8560208401528085166040840152508260608301529594505050505056fea26469706673582212202151907f630be6d9334acfdd4c6b14b45b5302abbdc2f4268b4e06a588db284264736f6c634300080d0033",
653
+ sourceMap: "1597:5816:43:-:0;;;1649:9;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1626:32:43;;;-1:-1:-1;;;;;;1626:32:43;-1:-1:-1;;;;;1626:32:43;;;;;;;;;;2005:327;;;;;;;;;;2068:1;107:39:45;99:48;;2039:55:43;;;;;:::i;:::-;-1:-1:-1;;;;;206:32:72;;;188:51;;270:2;255:18;;248:34;176:2;161:18;2039:55:43;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2025:11:43;:69;;-1:-1:-1;;;;;;2025:69:43;-1:-1:-1;;;;;2025:69:43;;;;;;;;;;2111:52;;-1:-1:-1;;195:36:45;;2111:52:43;;;:::i;:::-;-1:-1:-1;;;;;206:32:72;;;188:51;;270:2;255:18;;248:34;176:2;161:18;2111:52:43;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2100:8:43;:63;;-1:-1:-1;;;;;;2100:63:43;-1:-1:-1;;;;;2100:63:43;;;;;;-1:-1:-1;2213:11:43;2180:46;;2199:4;;2213:11;;;;;2180:46;;;:::i;:::-;-1:-1:-1;;;;;538:15:72;;;520:34;;590:15;;585:2;570:18;;563:43;470:2;455:18;2180:46:43;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2169:8:43;:57;;-1:-1:-1;;;;;;2169:57:43;-1:-1:-1;;;;;2169:57:43;;;;;;;;;2232:8;;:43;;-1:-1:-1;;;2232:43:43;;;;;763:51:72;;;;2232:8:43;;;;:24;;736:18:72;;2232:43:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2281:11:43;;2317:8;;2281:46;;-1:-1:-1;;;2281:46:43;;-1:-1:-1;;;;;2317:8:43;;;2281:46;;;763:51:72;2281:11:43;;;-1:-1:-1;2281:27:43;;-1:-1:-1;736:18:72;;2281:46:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1597:5816;;;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;617:203:72:-;1597:5816:43;;;;;;",
656
654
  linkReferences: {}
657
655
  },
658
656
  deployedBytecode: {
659
- object: "0x608060405234801561001057600080fd5b506004361061011b5760003560e01c8063af104e40116100b2578063d803064a11610081578063e3d1287511610066578063e3d128751461023b578063f30347701461025e578063fb3ec48b1461027157600080fd5b8063d803064a14610220578063e1c7392a1461023357600080fd5b8063af104e40146101e1578063ba62fbe4146101f4578063cfd3c57f14610205578063d7ecf62b1461021857600080fd5b80634f27da18116100ee5780634f27da1814610185578063614bfa6e14610198578063687485a6146101ae5780639f54f545146101ce57600080fd5b80630d59332e146101205780630de3b7b51461014a5780631aa3a0081461015f5780631ee444b714610172575b600080fd5b6002546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b61015d6101583660046120ef565b610284565b005b60035461012d906001600160a01b031681565b61015d610180366004612124565b610389565b61012d6101933660046120ef565b61042d565b6101a061044c565b604051908152602001610141565b6101c16101bc36600461214e565b6104aa565b60405161014191906121c3565b6101a06101dc366004612207565b61066f565b61015d6101ef36600461226b565b610688565b6001546001600160a01b031661012d565b61015d6102133660046122c5565b61083e565b6101a06109c7565b61015d61022e366004612124565b610a44565b61015d610b71565b61024e6102493660046120ef565b610d1f565b6040519015158152602001610141565b61015d61026c366004612124565b610d8d565b61012d61027f3660046120ef565b610dba565b600154604051636667bd4760e11b81523360048201819052916001600160a01b03169063cccf7a8e90602401602060405180830381865afa1580156102cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102f19190612311565b6103425760405162461bcd60e51b815260206004820152601860248201527f636f6d706f6e656e74206e6f742072656769737465726564000000000000000060448201526064015b60405180910390fd5b6001548290339061035c906001600160a01b031682610dd3565b6040517f6dd56823030ae6d8ae09cbfb8972c4e9494e67b209c4ab6300c21d73e269b35090600090a45050565b6003546040516001600160a01b03909116906309c5eabe906103b690339060019087908790602001612349565b6040516020818303038152906040526040518263ffffffff1660e01b81526004016103e191906123c7565b6000604051808303816000875af1158015610400573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104289190810190612441565b505050565b600154600090610446906001600160a01b031683610f24565b92915050565b6000806104576109c7565b905060005b81610466816124eb565b9250508160405160200161047c91815260200190565b6040516020818303038152906040528051906020012060001c90506104a081610d1f565b61045c5792915050565b606060008267ffffffffffffffff8111156104c7576104c76123fa565b60405190808252806020026020018201604052801561051457816020015b604080516060808201835260008083526020830152918101919091528152602001906001900390816104e55790505b50905060005b8381101561065d57604051806060016040528086868481811061053f5761053f612523565b90506020028101906105519190612539565b61055f906020810190612577565b600581111561057057610570612333565b81526001546020909101906105b5906001600160a01b031688888681811061059a5761059a612523565b90506020028101906105ac9190612539565b60200135611023565b6001600160a01b031681526020018686848181106105d5576105d5612523565b90506020028101906105e79190612539565b6105f5906040810190612598565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050915250825183908390811061063f5761063f612523565b60200260200101819052508080610655906124eb565b91505061051a565b506106678161102f565b949350505050565b600154600090610446906001600160a01b031683610dd3565b60015484906001600160a01b031663cccf7a8e6106ab836001600160a01b031690565b6040518263ffffffff1660e01b81526004016106c991815260200190565b602060405180830381865afa1580156106e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061070a9190612311565b6107565760405162461bcd60e51b815260206004820152601860248201527f636f6d706f6e656e74206e6f74207265676973746572656400000000000000006044820152606401610339565b336001600160a01b0386161461076b57600080fd5b6000546040517f1003e2d2000000000000000000000000000000000000000000000000000000008152600481018690526001600160a01b0390911690631003e2d290602401600060405180830381600087803b1580156107ca57600080fd5b505af11580156107de573d6000803e3d6000fd5b50506001548692506001600160a01b0380891692506107fe911688610dd3565b7f6ac31c38682e0128240cf68316d7ae751020d8f74c614e2a30278afcec8a6073868660405161082f9291906125fd565b60405180910390a45050505050565b600154604051636667bd4760e11b81523360048201819052916001600160a01b03169063cccf7a8e90602401602060405180830381865afa158015610887573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ab9190612311565b6108f75760405162461bcd60e51b815260206004820152601860248201527f636f6d706f6e656e74206e6f74207265676973746572656400000000000000006044820152606401610339565b6000546040517f1003e2d2000000000000000000000000000000000000000000000000000000008152600481018690526001600160a01b0390911690631003e2d290602401600060405180830381600087803b15801561095657600080fd5b505af115801561096a573d6000803e3d6000fd5b5050600154869250339150610988906001600160a01b031682610dd3565b7f6ac31c38682e0128240cf68316d7ae751020d8f74c614e2a30278afcec8a607386866040516109b99291906125fd565b60405180910390a450505050565b60008060009054906101000a90046001600160a01b03166001600160a01b031663949d225d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a3f919061262c565b905090565b60015482906001600160a01b031663cccf7a8e610a67836001600160a01b031690565b6040518263ffffffff1660e01b8152600401610a8591815260200190565b602060405180830381865afa158015610aa2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac69190612311565b610b125760405162461bcd60e51b815260206004820152601860248201527f636f6d706f6e656e74206e6f74207265676973746572656400000000000000006044820152606401610339565b336001600160a01b03841614610b2757600080fd5b60015482906001600160a01b0380861691610b43911686610dd3565b6040517f6dd56823030ae6d8ae09cbfb8972c4e9494e67b209c4ab6300c21d73e269b35090600090a4505050565b6001546040517f9d2c76b40000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b0390911690639d2c76b490602401600060405180830381600087803b158015610bcf57600080fd5b505af1158015610be3573d6000803e3d6000fd5b50506002546040517f9d2c76b40000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b039091169250639d2c76b49150602401600060405180830381600087803b158015610c4557600080fd5b505af1158015610c59573d6000803e3d6000fd5b50506003546040516001600160a01b0390911692506309c5eabe9150610caa90339060019085907f554d0b3fe5f19a44775dc4000490ad0bafbc48129e8e396be983226890aece9990602001612349565b6040516020818303038152906040526040518263ffffffff1660e01b8152600401610cd591906123c7565b6000604051808303816000875af1158015610cf4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d1c9190810190612441565b50565b60008054604051636667bd4760e11b8152600481018490526001600160a01b039091169063cccf7a8e90602401602060405180830381865afa158015610d69573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104469190612311565b6003546040516001600160a01b03909116906309c5eabe906103b690339060009087908790602001612349565b600254600090610446906001600160a01b031683610f24565b6000826001600160a01b031663cccf7a8e610df4846001600160a01b031690565b6040518263ffffffff1660e01b8152600401610e1291815260200190565b602060405180830381865afa158015610e2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e539190612311565b610e9f5760405162461bcd60e51b815260206004820152601660248201527f61646472657373206e6f742072656769737465726564000000000000000000006044820152606401610339565b826001600160a01b0316630ff4c916610ebe846001600160a01b031690565b6040518263ffffffff1660e01b8152600401610edc91815260200190565b602060405180830381865afa158015610ef9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1d919061262c565b9392505050565b6040517ffbdfa1ea0000000000000000000000000000000000000000000000000000000081526004810182905260009081906001600160a01b0385169063fbdfa1ea90602401600060405180830381865afa158015610f87573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610faf9190810190612645565b905080516000036110025760405162461bcd60e51b815260206004820152601160248201527f6964206e6f7420726567697374657265640000000000000000000000000000006044820152606401610339565b6106678160008151811061101857611018612523565b602002602001015190565b6000610f1d8383610f24565b606061103961207c565b7620000000000000000000000000000000000000000000008152600060208201819052600160808301525b835181101561148257600084828151811061108157611081612523565b6020026020010151905061109481611495565b156110e2576004815160058111156110ae576110ae612333565b036110bb57604083018190525b6005815160058111156110d0576110d0612333565b036110dd57606083018190525b61146f565b826080015115611388576110f5816114d0565b6111415760405162461bcd60e51b815260206004820152601960248201527f4e454741544956455f494e495449414c5f465241474d454e54000000000000006044820152606401610339565b600060808401819052808251600581111561115e5761115e612333565b146111e15781602001516001600160a01b031663b361be4683604001516040518263ffffffff1660e01b815260040161119791906123c7565b600060405180830381865afa1580156111b4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111dc9190810190612645565b61124b565b81602001516001600160a01b03166331b933b96040518163ffffffff1660e01b8152600401600060405180830381865afa158015611223573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261124b9190810190612645565b9050611256816114f4565b84528051602080860191909152606085015101516001600160a01b03161580159061129c5750600084606001516040015180602001905181019061129a919061262c565b115b156113825760005b81518110156113805760006112f68383815181106112c4576112c4612523565b60200260200101518760600151602001518860600151604001518060200190518101906112f1919061262c565b61155c565b905060005b815181101561136b5761134461133c604051806040016040528085858151811061132757611327612523565b60200260200101518152602001600081525090565b885190611768565b875260208701805190611356826124eb565b90525080611363816124eb565b9150506112fb565b50508080611378906124eb565b9150506112a4565b505b5061146f565b82517620000000000000000000000000000000000000000000009060009060019060601c69ffffffffffffffffffff165b81156114645760006113dd8260408051808201909152600080825260208201525090565b805190915060006113ee82896117cd565b90506113fc8a898484611ad0565b9050801561143a5761142a6114236040518060400160405280858152602001600081525090565b8890611768565b965085611436816124eb565b9650505b6114478a89848a8a611b55565b8b5160b01c8601519198509650801515955093506113b992505050565b505090845260208401525b508061147a816124eb565b915050611064565b50610f1d81600001518260200151611ccc565b60006004825160058111156114ac576114ac612333565b1480610446575060055b825160058111156114c9576114c9612333565b1492915050565b600080825160058111156114e6576114e6612333565b1480610446575060026114b6565b76200000000000000000000000000000000000000000000060005b82518110156115565761154261153b604051806040016040528086858151811061132757611327612523565b8390611768565b91508061154e816124eb565b91505061150f565b50919050565b60608160000361157b5750604080516000815260208101909152610f1d565b6000836001600160a01b031663b361be468660405160200161159f91815260200190565b6040516020818303038152906040526040518263ffffffff1660e01b81526004016115ca91906123c7565b600060405180830381865afa1580156115e7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261160f9190810190612645565b905082600103611620579050610f1d565b7620000000000000000000000000000000000000000000006000805b83518110156116e157600061167285838151811061165c5761165c612523565b60200260200101518960018a6112f191906126eb565b905060005b81518110156116cc576116aa6116a3604051806040016040528085858151811061132757611327612523565b8690611768565b9450836116b6816124eb565b94505080806116c4906124eb565b915050611677565b505080806116d9906124eb565b91505061163c565b5060006116fa838551846116f59190612702565b611ccc565b905060005b845181101561175c5784818151811061171a5761171a612523565b602002602001015182828561172f9190612702565b8151811061173f5761173f612523565b602090810291909101015280611754816124eb565b9150506116ff565b50979650505050505050565b6000808360501b60b01c116001811461178d578260101b8360601b85171791506117c6565b828460b01c8560a01b60b01c01528260101b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000085161791505b5092915050565b600080825160058111156117e3576117e3612333565b0361185e576020820151604051636667bd4760e11b8152600481018590526001600160a01b039091169063cccf7a8e90602401602060405180830381865afa158015611833573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118579190612311565b9050610446565b60028251600581111561187357611873612333565b0361191f5760208201516040517fb8bc073d000000000000000000000000000000000000000000000000000000008152600481018590526001600160a01b039091169063b8bc073d90602401600060405180830381865afa1580156118dc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526119049190810190612441565b80519060200120826040015180519060200120149050610446565b60018251600581111561193457611934612333565b036119b0576020820151604051636667bd4760e11b8152600481018590526001600160a01b039091169063cccf7a8e90602401602060405180830381865afa158015611984573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119a89190612311565b159050610446565b6003825160058111156119c5576119c5612333565b03611a725760208201516040517fb8bc073d000000000000000000000000000000000000000000000000000000008152600481018590526001600160a01b039091169063b8bc073d90602401600060405180830381865afa158015611a2e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611a569190810190612441565b8051906020012082604001518051906020012014159050610446565b611a7b82611da4565b611ac75760405162461bcd60e51b815260206004820152601260248201527f4e4f5f454e544954595f465241474d454e5400000000000000000000000000006044820152606401610339565b50600092915050565b6040840151602001516000906001600160a01b031615801590611b0e57506000856040015160400151806020019051810190611b0c919061262c565b115b8015611b215750611b1f8285611e03565b155b15611b4d57600080611b3885878960400151611e2e565b915091508015611b4a57509050610667565b50505b509392505050565b60608501516020015160009081906001600160a01b031615801590611b9557506000876060015160400151806020019051810190611b93919061262c565b115b15611cc0576000611bc5868960600151602001518a60600151604001518060200190518101906112f1919061262c565b905060005b8151811015611cbd576000828281518110611be757611be7612523565b602002602001015190506000611bfd828b6117cd565b905080158015611c1d575060408b0151602001516001600160a01b031615155b8015611c44575060008b6040015160400151806020019051810190611c42919061262c565b115b15611c6c57600080611c5b848d8f60400151611e2e565b915091508015611c69578192505b50505b8015611ca857611c98611c9160405180604001604052808c8152602001600081525090565b8990611768565b975086611ca4816124eb565b9750505b50508080611cb5906124eb565b915050611bca565b50505b50919590945092505050565b60608167ffffffffffffffff811115611ce757611ce76123fa565b604051908082528060200260200182016040528015611d10578160200160208202803683370190505b509050811561044657600169ffffffffffffffffffff606085901c1660005b8215611d9b576000611d538360408051808201909152600080825260208201525090565b90508060000151858381518110611d6c57611d6c612523565b602090810291909101015281611d81816124eb565b60b089901c94909401518015159550939250611d2f915050565b50505092915050565b60008082516005811115611dba57611dba612333565b1480611dd85750600282516005811115611dd657611dd6612333565b145b80611df6575060015b82516005811115611df457611df4612333565b145b80610446575060036114b6565b6000828015611e165750611e16826114d0565b80610f1d575082158015610f1d5750610f1d82612073565b600080611e3a84611da4565b611e865760405162461bcd60e51b815260206004820152601260248201527f4e4f5f454e544954595f465241474d454e5400000000000000000000000000006044820152606401610339565b600483516005811115611e9b57611e9b612333565b14611ee85760405162461bcd60e51b815260206004820152601660248201527f4e4f5f50524f58595f524541445f465241474d454e54000000000000000000006044820152606401610339565b8460005b8460400151806020019051810190611f04919061262c565b811015612064576020850151604051636667bd4760e11b8152600481018490526001600160a01b039091169063cccf7a8e90602401602060405180830381865afa158015611f56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f7a9190612311565b611f8a57506000915061206b9050565b60208501516040517fb8bc073d000000000000000000000000000000000000000000000000000000008152600481018490526001600160a01b039091169063b8bc073d90602401600060405180830381865afa158015611fee573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526120169190810190612441565b806020019051810190612029919061262c565b915061203582876117cd565b93506120418487611e03565b1561205257506001915061206b9050565b8061205c816124eb565b915050611eec565b5060019150505b935093915050565b60006001611de1565b6040805160a081018252600080825260208201529081016120b86040805160608101909152806000815260006020820152606060409091015290565b81526020016120e26040805160608101909152806000815260006020820152606060409091015290565b8152600060209091015290565b60006020828403121561210157600080fd5b5035919050565b80356001600160a01b038116811461211f57600080fd5b919050565b6000806040838503121561213757600080fd5b61214083612108565b946020939093013593505050565b6000806020838503121561216157600080fd5b823567ffffffffffffffff8082111561217957600080fd5b818501915085601f83011261218d57600080fd5b81358181111561219c57600080fd5b8660208260051b85010111156121b157600080fd5b60209290920196919550909350505050565b6020808252825182820181905260009190848201906040850190845b818110156121fb578351835292840192918401916001016121df565b50909695505050505050565b60006020828403121561221957600080fd5b610f1d82612108565b60008083601f84011261223457600080fd5b50813567ffffffffffffffff81111561224c57600080fd5b60208301915083602082850101111561226457600080fd5b9250929050565b6000806000806060858703121561228157600080fd5b61228a85612108565b935060208501359250604085013567ffffffffffffffff8111156122ad57600080fd5b6122b987828801612222565b95989497509550505050565b6000806000604084860312156122da57600080fd5b83359250602084013567ffffffffffffffff8111156122f857600080fd5b61230486828701612222565b9497909650939450505050565b60006020828403121561232357600080fd5b81518015158114610f1d57600080fd5b634e487b7160e01b600052602160045260246000fd5b6001600160a01b03858116825260808201906002861061237957634e487b7160e01b600052602160045260246000fd5b85602084015280851660408401525082606083015295945050505050565b60005b838110156123b257818101518382015260200161239a565b838111156123c1576000848401525b50505050565b60208152600082518060208401526123e6816040850160208701612397565b601f01601f19169190910160400192915050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612439576124396123fa565b604052919050565b60006020828403121561245357600080fd5b815167ffffffffffffffff8082111561246b57600080fd5b818401915084601f83011261247f57600080fd5b815181811115612491576124916123fa565b6124a46020601f19601f84011601612410565b91508082528560208285010111156124bb57600080fd5b6124cc816020840160208601612397565b50949350505050565b634e487b7160e01b600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361251c5761251c6124d5565b5060010190565b634e487b7160e01b600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa183360301811261256d57600080fd5b9190910192915050565b60006020828403121561258957600080fd5b813560068110610f1d57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126125cd57600080fd5b83018035915067ffffffffffffffff8211156125e857600080fd5b60200191503681900382131561226457600080fd5b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b60006020828403121561263e57600080fd5b5051919050565b6000602080838503121561265857600080fd5b825167ffffffffffffffff8082111561267057600080fd5b818501915085601f83011261268457600080fd5b815181811115612696576126966123fa565b8060051b91506126a7848301612410565b81815291830184019184810190888411156126c157600080fd5b938501935b838510156126df578451825293850193908501906126c6565b98975050505050505050565b6000828210156126fd576126fd6124d5565b500390565b60008219821115612715576127156124d5565b50019056fea2646970667358221220902eb3055e323ca228bea31c34153f51121c8b0cf5d6599836cd2715299e67a564736f6c634300080d0033",
660
- sourceMap: "1597:5812:43:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2986:85;3058:8;;-1:-1:-1;;;;;3058:8:43;2986:85;;;-1:-1:-1;;;;;205:55:72;;;187:74;;175:2;160:18;2986:85:43;;;;;;;;5313:199;;;;;;:::i;:::-;;:::i;:::-;;1739:30;;;;;-1:-1:-1;;;;;1739:30:43;;;3401:151;;;;;;:::i;:::-;;:::i;5609:115::-;;;;;;:::i;:::-;;:::i;7152:255::-;;;:::i;:::-;;;1549:25:72;;;1537:2;1522:18;7152:255:43;1403:177:72;6431:500:43;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;5821:150::-;;;;;;:::i;:::-;;:::i;3989:319::-;;;;;;:::i;:::-;;:::i;2785:91::-;2860:11;;-1:-1:-1;;;;;2860:11:43;2785:91;;4443:259;;;;;;:::i;:::-;;:::i;6200:94::-;;;:::i;4910:263::-;;;;;;:::i;:::-;;:::i;2445:221::-;;;:::i;6998:105::-;;;;;;:::i;:::-;;:::i;:::-;;;4627:14:72;;4620:22;4602:41;;4590:2;4575:18;6998:105:43;4462:187:72;3156:163:43;;;;;;:::i;:::-;;:::i;6068:128::-;;;;;;:::i;:::-;;:::i;5313:199::-;3700:11;;:43;;-1:-1:-1;;;3700:43:43;;5402:10;3700:43;;;1549:25:72;;;5402:10:43;-1:-1:-1;;;;;3700:11:43;;:15;;1522:18:72;;3700:43:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3692:80;;;;-1:-1:-1;;;3692:80:43;;5138:2:72;3692:80:43;;;5120:21:72;5177:2;5157:18;;;5150:30;5216:26;5196:18;;;5189:54;5260:18;;3692:80:43;;;;;;;;;5462:11:::1;::::0;5500:6;;5488:10:::1;::::0;5447:39:::1;::::0;-1:-1:-1;;;;;5462:11:43::1;5488:10:::0;5447:14:::1;:39::i;:::-;5425:82;::::0;::::1;::::0;;;::::1;5313:199:::0;;:::o;3401:151::-;3470:8;;3487:59;;-1:-1:-1;;;;;3470:8:43;;;;:16;;3487:59;;3498:10;;3470:8;;3531:10;;3543:2;;3487:59;;;:::i;:::-;;;;;;;;;;;;;3470:77;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3470:77:43;;;;;;;;;;;;:::i;:::-;;3401:151;;:::o;5609:115::-;5703:11;;5666:7;;5688:31;;-1:-1:-1;;;;;5703:11:43;5716:2;5688:14;:31::i;:::-;5681:38;5609:115;-1:-1:-1;;5609:115:43:o;7152:255::-;7202:7;7217:17;7237:16;:14;:16::i;:::-;7217:36;;7259:10;7275:112;7286:11;;;;:::i;:::-;;;;7345:9;7328:27;;;;;;8702:19:72;;8746:2;8737:12;;8573:182;7328:27:43;;;;;;;;;;;;;7318:38;;;;;;7310:47;;7305:52;;7372:13;7382:2;7372:9;:13::i;:::-;7275:112;;7400:2;7152:255;-1:-1:-1;;7152:255:43:o;6431:500::-;6518:16;6542:32;6597:19;6577:47;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;6577:47:43;;;;;;;;;;;;;;;;6542:82;;6635:9;6630:259;6646:30;;;6630:259;;;6706:176;;;;;;;;6729:19;;6749:1;6729:22;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:32;;;;;;;:::i;:::-;6706:176;;;;;;;;:::i;:::-;;;6788:11;;6706:176;;;;;6771:65;;-1:-1:-1;;;;;6788:11:43;6801:19;;6821:1;6801:22;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:34;;;6771:16;:65::i;:::-;-1:-1:-1;;;;;6706:176:43;;;;;6846:19;;6866:1;6846:22;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:28;;;;;;;:::i;:::-;6706:176;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6706:176:43;;-1:-1:-1;6691:12:43;;:9;;6701:1;;6691:12;;;;;;:::i;:::-;;;;;;:191;;;;6678:3;;;;;:::i;:::-;;;;6630:259;;;;6901:25;6916:9;6901:14;:25::i;:::-;6894:32;6431:500;-1:-1:-1;;;;6431:500:43:o;5821:150::-;5939:11;;5902:7;;5924:42;;-1:-1:-1;;;;;5939:11:43;5952:13;5924:14;:42::i;3989:319::-;3700:11;;4130:9;;-1:-1:-1;;;;;3700:11:43;:15;3716:26;4130:9;-1:-1:-1;;;;;604:22:71;;531:98;3716:26:43;3700:43;;;;;;;;;;;;;1549:25:72;;1537:2;1522:18;;1403:177;3700:43:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3692:80;;;;-1:-1:-1;;;3692:80:43;;5138:2:72;3692:80:43;;;5120:21:72;5177:2;5157:18;;;5150:30;5216:26;5196:18;;;5189:54;5260:18;;3692:80:43;4936:348:72;3692:80:43;4155:10:::1;-1:-1:-1::0;;;;;4155:23:43;::::1;;4147:32;;;::::0;::::1;;4189:8;::::0;4185:25:::1;::::0;;;;::::1;::::0;::::1;1549::72::0;;;-1:-1:-1;;;;;4189:8:43;;::::1;::::0;4185:17:::1;::::0;1522:18:72;;4185:25:43::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4254:11:43::1;::::0;4290:6;;-1:-1:-1;;;;;;4221:82:43;;::::1;::::0;-1:-1:-1;4239:38:43::1;::::0;4254:11:::1;4279:9:::0;4239:14:::1;:38::i;:::-;4221:82;4298:4;;4221:82;;;;;;;:::i;:::-;;;;;;;;3989:319:::0;;;;;:::o;4443:259::-;3700:11;;:43;;-1:-1:-1;;;3700:43:43;;4557:10;3700:43;;;1549:25:72;;;4557:10:43;-1:-1:-1;;;;;3700:11:43;;:15;;1522:18:72;;3700:43:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3692:80;;;;-1:-1:-1;;;3692:80:43;;5138:2:72;3692:80:43;;;5120:21:72;5177:2;5157:18;;;5150:30;5216:26;5196:18;;;5189:54;5260:18;;3692:80:43;4936:348:72;3692:80:43;4581:8:::1;::::0;4577:25:::1;::::0;;;;::::1;::::0;::::1;1549::72::0;;;-1:-1:-1;;;;;4581:8:43;;::::1;::::0;4577:17:::1;::::0;1522:18:72;;4577:25:43::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4646:11:43::1;::::0;4684:6;;-1:-1:-1;4672:10:43::1;::::0;-1:-1:-1;4631:39:43::1;::::0;-1:-1:-1;;;;;4646:11:43::1;4672:10:::0;4631:14:::1;:39::i;:::-;4613:84;4692:4;;4613:84;;;;;;;:::i;:::-;;;;;;;;4443:259:::0;;;;:::o;6200:94::-;6247:7;6273:8;;;;;;;;;-1:-1:-1;;;;;6273:8:43;-1:-1:-1;;;;;6269:18:43;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6262:27;;6200:94;:::o;4910:263::-;3700:11;;5026:9;;-1:-1:-1;;;;;3700:11:43;:15;3716:26;5026:9;-1:-1:-1;;;;;604:22:71;;531:98;3716:26:43;3700:43;;;;;;;;;;;;;1549:25:72;;1537:2;1522:18;;1403:177;3700:43:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3692:80;;;;-1:-1:-1;;;3692:80:43;;5138:2:72;3692:80:43;;;5120:21:72;5177:2;5157:18;;;5150:30;5216:26;5196:18;;;5189:54;5260:18;;3692:80:43;4936:348:72;3692:80:43;5053:10:::1;-1:-1:-1::0;;;;;5053:23:43;::::1;;5045:32;;;::::0;::::1;;5125:11;::::0;5161:6;;-1:-1:-1;;;;;5088:80:43;;::::1;::::0;5110:38:::1;::::0;5125:11:::1;5150:9:::0;5110:14:::1;:38::i;:::-;5088:80;::::0;::::1;::::0;;;::::1;4910:263:::0;;;:::o;2445:221::-;2474:11;;:40;;;;;2508:4;2474:40;;;187:74:72;-1:-1:-1;;;;;2474:11:43;;;;:25;;160:18:72;;2474:40:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2520:8:43;;:37;;;;;2551:4;2520:37;;;187:74:72;-1:-1:-1;;;;;2520:8:43;;;;-1:-1:-1;2520:22:43;;-1:-1:-1;160:18:72;;2520:37:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2563:8:43;;2580:80;;-1:-1:-1;;;;;2563:8:43;;;;-1:-1:-1;2563:16:43;;-1:-1:-1;2580:80:43;;2591:10;;2563:8;;;;540:34:57;;2580:80:43;;;:::i;:::-;;;;;;;;;;;;;2563:98;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2563:98:43;;;;;;;;;;;;:::i;:::-;;2445:221::o;6998:105::-;7054:4;7077:8;;7073:25;;-1:-1:-1;;;7073:25:43;;;;;1549::72;;;-1:-1:-1;;;;;7077:8:43;;;;7073:17;;1522:18:72;;7073:25:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;3156:163::-;3231:8;;3248:65;;-1:-1:-1;;;;;3231:8:43;;;;:16;;3248:65;;3259:10;;3231:8;;3295:13;;3310:2;;3248:65;;;:::i;6068:128::-;6172:8;;6135:7;;6157:34;;-1:-1:-1;;;;;6172:8:43;6182;6157:14;:34::i;1094:217:71:-;1174:7;1195:8;-1:-1:-1;;;;;1195:12:71;;1208:21;1224:4;-1:-1:-1;;;;;604:22:71;;531:98;1208:21;1195:35;;;;;;;;;;;;;1549:25:72;;1537:2;1522:18;;1403:177;1195:35:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1187:70;;;;-1:-1:-1;;;1187:70:71;;11053:2:72;1187:70:71;;;11035:21:72;11092:2;11072:18;;;11065:30;11131:24;11111:18;;;11104:52;11173:18;;1187:70:71;10851:346:72;1187:70:71;1268:8;-1:-1:-1;;;;;1268:17:71;;1286:21;1302:4;-1:-1:-1;;;;;604:22:71;;531:98;1286:21;1268:40;;;;;;;;;;;;;1549:25:72;;1537:2;1522:18;;1403:177;1268:40:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1261:47;1094:217;-1:-1:-1;;;1094:217:71:o;741:248::-;860:33;;;;;;;;1549:25:72;;;819:7:71;;;;-1:-1:-1;;;;;860:29:71;;;;;1522:18:72;;860:33:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;860:33:71;;;;;;;;;;;;:::i;:::-;832:61;;905:8;:15;924:1;905:20;897:50;;;;-1:-1:-1;;;897:50:71;;12345:2:72;897:50:71;;;12327:21:72;12384:2;12364:18;;;12357:30;12423:19;12403:18;;;12396:47;12460:18;;897:50:71;12143:341:72;897:50:71;958:28;974:8;983:1;974:11;;;;;;;;:::i;:::-;;;;;;;452:6;361:102;1406:150;1488:10;1522:30;1537:10;1549:2;1522:14;:30::i;3984:3450:32:-;4056:16;4080:18;;:::i;:::-;4237:24:17;4104:44:32;;:10;4154:13;;;:17;;;4233:4;4213:17;;;:24;4269:3109;4289:9;:16;4285:1;:20;4269:3109;;;4320:29;4352:9;4362:1;4352:12;;;;;;;;:::i;:::-;;;;;;;4320:44;;4376:27;4394:8;4376:17;:27::i;:::-;4372:3000;;;4507:19;4485:18;;:41;;;;;;;;:::i;:::-;;4481:69;;4528:11;;;:22;;;4481:69;4586:21;4564:18;;:43;;;;;;;;:::i;:::-;;4560:73;;4609:13;;;:24;;;4560:73;4372:3000;;;4652:1;:17;;;4648:2724;;;4788:28;4807:8;4788:18;:28::i;:::-;4780:66;;;;-1:-1:-1;;;4780:66:32;;12691:2:72;4780:66:32;;;12673:21:72;12730:2;12710:18;;;12703:30;12769:27;12749:18;;;12742:55;12814:18;;4780:66:32;12489:349:72;4780:66:32;4876:5;4856:17;;;:25;;;4876:5;4966:18;;:35;;;;;;;;:::i;:::-;;:148;;5059:8;:18;;;-1:-1:-1;;;;;5059:39:32;;5099:8;:14;;;5059:55;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5059:55:32;;;;;;;;;;;;:::i;:::-;4966:148;;;5014:8;:18;;;-1:-1:-1;;;;;5014:30:32;;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5014:32:32;;;;;;;;;;;;:::i;:::-;4935:179;;5138:24;5150:11;5138;:24::i;:::-;5125:37;;5188:18;;5172:13;;;;:34;;;;5316:13;;;;:23;;-1:-1:-1;;;;;5308:46:32;;;;;5307:98;;;5404:1;5370;:13;;;:19;;;5359:42;;;;;;;;;;;;:::i;:::-;:46;5307:98;5303:635;;;5424:11;5419:509;5443:11;:18;5437:3;:24;5419:509;;;5484:30;5517:159;5549:11;5561:3;5549:16;;;;;;;;:::i;:::-;;;;;;;5581:1;:13;;;:23;;;5631:1;:13;;;:19;;;5620:42;;;;;;;;;;;;:::i;:::-;5517:16;:159::i;:::-;5484:192;;5696:18;5691:225;5729:13;:20;5716:10;:33;5691:225;;;5794:76;5819:50;5827:41;;;;;;;;5839:13;5853:10;5839:25;;;;;;;;:::i;:::-;;;;;;;5827:41;;;;5866:1;5827:41;;;452:6:71;361:102;5819:50:32;5794:10;;;:24;:76::i;:::-;5781:89;;5886:13;;;:15;;;;;;:::i;:::-;;;-1:-1:-1;5751:12:32;;;;:::i;:::-;;;;5691:225;;;;5470:458;5463:5;;;;;:::i;:::-;;;;5419:509;;;;5303:635;4671:1275;4648:2724;;;6187:10;;4237:24:17;;6036:23:32;;6155:4;;4582:20:17;;;;6269:985:32;6276:7;6269:985;;;6297:23;6323:20;6335:7;-1:-1:-1;;;;;;;;;;;;;;;;;;579:3:32;448:140;6323:20;6372:10;;6297:46;;-1:-1:-1;6355:14:32;6495:37;6372:10;6523:8;6495:19;:37::i;:::-;6481:51;;6632:46;6650:1;6653:8;6663:6;6671;6632:17;:46::i;:::-;6623:55;;6782:6;6778:144;;;6819:59;6846:31;6854:22;;;;;;;;6866:6;6854:22;;;;6874:1;6854:22;;;452:6:71;361:102;6846:31:32;6819:12;;:26;:59::i;:::-;6804:74;-1:-1:-1;6892:17:32;;;;:::i;:::-;;;;6778:144;7077:71;7097:1;7100:8;7110:6;7118:12;7132:15;7077:19;:71::i;:::-;7219:10;;6494:3:17;6490:14;6477:28;;6471:35;7043:105:32;;-1:-1:-1;7043:105:32;-1:-1:-1;6529:14:17;;;7198:45:32;-1:-1:-1;7198:45:32;-1:-1:-1;6269:985:32;;-1:-1:-1;;;6269:985:32;;-1:-1:-1;;7297:25:32;;;7332:13;;;:31;4648:2724;-1:-1:-1;4307:3:32;;;;:::i;:::-;;;;4269:3109;;;;7391:38;7403:1;:10;;;7415:1;:13;;;7391:11;:38::i;938:180::-;1010:4;1049:19;1027:18;;:41;;;;;;;;:::i;:::-;;:88;;;-1:-1:-1;1094:21:32;1072:43;:18;;:43;;;;;;;;:::i;:::-;;1020:95;938:180;-1:-1:-1;;938:180:32:o;590:172::-;663:4;;680:18;;:35;;;;;;;;:::i;:::-;;:79;;;-1:-1:-1;741:18:32;719:40;;12216:251;4237:24:17;12282:15:32;12349:114;12369:5;:12;12365:1;:16;12349:114;;;12403:53;12422:33;12430:24;;;;;;;;12442:5;12448:1;12442:8;;;;;;;;:::i;12422:33::-;12403:4;;:18;:53::i;:::-;12396:60;-1:-1:-1;12383:3:32;;;;:::i;:::-;;;;12349:114;;;;12216:251;;;:::o;9853:1054::-;9971:16;9999:5;10008:1;9999:10;9995:39;;-1:-1:-1;10018:16:32;;;10032:1;10018:16;;;;;;;;10011:23;;9995:39;10041:31;10075:9;-1:-1:-1;;;;;10075:30:32;;10117:6;10106:18;;;;;;1549:25:72;;1537:2;1522:18;;1403:177;10106:18:32;;;;;;;;;;;;;10075:50;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;10075:50:32;;;;;;;;;;;;:::i;:::-;10041:84;;10135:5;10144:1;10135:10;10131:37;;10154:14;-1:-1:-1;10147:21:32;;10131:37;4237:24:17;10175:28:32;;10281:360;10301:14;:21;10297:1;:25;10281:360;;;10337:33;10373:57;10390:14;10405:1;10390:17;;;;;;;;:::i;:::-;;;;;;;10409:9;10428:1;10420:5;:9;;;;:::i;10373:57::-;10337:93;;10443:9;10438:197;10458:16;:23;10454:1;:27;10438:197;;;10518:77;10550:44;10558:35;;;;;;;;10570:16;10587:1;10570:19;;;;;;;;:::i;10550:44::-;10518:17;;:31;:77::i;:::-;10498:97;-1:-1:-1;10605:21:32;;;;:::i;:::-;;;;10483:3;;;;;:::i;:::-;;;;10438:197;;;;10329:312;10324:3;;;;;:::i;:::-;;;;10281:360;;;;10647:28;10678:75;10690:17;10731:14;:21;10709:19;:43;;;;:::i;:::-;10678:11;:75::i;:::-;10647:106;;10764:9;10759:119;10779:14;:21;10775:1;:25;10759:119;;;10854:14;10869:1;10854:17;;;;;;;;:::i;:::-;;;;;;;10815:11;10849:1;10827:19;:23;;;;:::i;:::-;10815:36;;;;;;;;:::i;:::-;;;;;;;;;;:56;10802:3;;;;:::i;:::-;;;;10759:119;;;-1:-1:-1;10891:11:32;9853:1054;-1:-1:-1;;;;;;;9853:1054:32:o;5475:835:17:-;5555:12;5653:1;5645:4;5641:2;5637:13;5632:3;5628:23;5625:30;5674:1;5669:462;;;;6271:7;6267:2;6263:16;6252:7;6248:2;6244:16;6238:4;6235:26;6232:48;6227:53;;5618:676;;5669:462;5988:7;5902:4;5897:3;5893:14;5841:4;5836:3;5832:14;5827:3;5823:24;5794:172;5766:247;6108:7;6104:2;6100:16;6088:9;6082:4;6078:20;6075:42;6070:47;;5618:676;;5475:835;;;;:::o;1391:843:32:-;1481:4;;1495:18;;:35;;;;;;;;:::i;:::-;;1491:129;;1585:18;;;;:30;;-1:-1:-1;;;1585:30:32;;;;;1549:25:72;;;-1:-1:-1;;;;;1585:22:32;;;;;;1522:18:72;;1585:30:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1578:37;;;;1491:129;1650:18;1628;;:40;;;;;;;;:::i;:::-;;1624:192;;1772:18;;;;:38;;;;;;;;1549:25:72;;;-1:-1:-1;;;;;1772:30:32;;;;;;1522:18:72;;1772:38:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1772:38:32;;;;;;;;;;;;:::i;:::-;1762:49;;;;;;1743:8;:14;;;1733:25;;;;;;:78;1726:85;;;;1624:192;1846:13;1824:18;;:35;;;;;;;;:::i;:::-;;1820:134;;1919:18;;;;:30;;-1:-1:-1;;;1919:30:32;;;;;1549:25:72;;;-1:-1:-1;;;;;1919:22:32;;;;;;1522:18:72;;1919:30:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1918:31;1911:38;;;;1820:134;1984:18;1962;;:40;;;;;;;;:::i;:::-;;1958:196;;2110:18;;;;:38;;;;;;;;1549:25:72;;;-1:-1:-1;;;;;2110:30:32;;;;;;1522:18:72;;2110:38:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2110:38:32;;;;;;;;;;;;:::i;:::-;2100:49;;;;;;2081:8;:14;;;2071:25;;;;;;:78;;2064:85;;;;1958:196;2166:26;2183:8;2166:16;:26::i;:::-;2158:57;;;;-1:-1:-1;;;2158:57:32;;13308:2:72;2158:57:32;;;13290:21:72;13347:2;13327:18;;;13320:30;13386:20;13366:18;;;13359:48;13424:18;;2158:57:32;13106:342:72;2158:57:32;-1:-1:-1;2226:5:32;1391:843;;;;:::o;7508:495::-;7689:11;;;;:21;;;7658:4;;-1:-1:-1;;;;;7681:44:32;;;;;:98;;;7778:1;7746;:11;;;:17;;;7735:40;;;;;;;;;;;;:::i;:::-;:44;7681:98;:146;;;;;7790:37;7810:6;7818:8;7790:19;:37::i;:::-;7789:38;7681:146;7670:310;;;7843:14;7859:15;7878:55;7903:6;7911:8;7921:1;:11;;;7878:24;:55::i;:::-;7842:91;;;;7945:10;7941:32;;;-1:-1:-1;7964:9:32;-1:-1:-1;7957:16:32;;7941:32;7834:146;;7670:310;-1:-1:-1;7992:6:32;7508:495;-1:-1:-1;;;7508:495:32:o;8108:1346::-;8341:13;;;;:23;;;8301:10;;;;-1:-1:-1;;;;;8333:46:32;;;;;8332:98;;;8429:1;8395;:13;;;:19;;;8384:42;;;;;;;;;;;;:::i;:::-;:46;8332:98;8328:1077;;;8440:30;8473:125;8499:6;8515:1;:13;;;:23;;;8559:1;:13;;;:19;;;8548:42;;;;;;;;;;;;:::i;8473:125::-;8440:158;;8612:11;8607:792;8631:13;:20;8625:3;:26;8607:792;;;8670:19;8692:13;8706:3;8692:18;;;;;;;;:::i;:::-;;;;;;;8670:40;;8783:16;8802:42;8822:11;8835:8;8802:19;:42::i;:::-;8783:61;;8946:11;8945:12;:60;;;;-1:-1:-1;8969:11:32;;;;:21;;;-1:-1:-1;;;;;8961:44:32;;;8945:60;:108;;;;;9052:1;9020;:11;;;:17;;;9009:40;;;;;;;;;;;;:::i;:::-;:44;8945:108;8930:308;;;9077:16;9095:15;9114:60;9139:11;9152:8;9162:1;:11;;;9114:24;:60::i;:::-;9076:98;;;;9190:10;9186:41;;;9216:11;9202:25;;9186:41;9064:174;;8930:308;9252:11;9248:143;;;9292:59;9319:31;9327:22;;;;;;;;9339:6;9327:22;;;;9347:1;9327:22;;;452:6:71;361:102;9319:31:32;9292:12;;:26;:59::i;:::-;9277:74;-1:-1:-1;9363:17:32;;;;:::i;:::-;;;;9248:143;8660:739;;8653:5;;;;;:::i;:::-;;;;8607:792;;;;8432:973;8328:1077;-1:-1:-1;9419:12:32;;9433:15;;-1:-1:-1;8108:1346:32;-1:-1:-1;;;8108:1346:32:o;11719:424::-;11794:22;11846:6;11832:21;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11832:21:32;-1:-1:-1;11824:29:32;-1:-1:-1;11859:29:32;;11876:12;11859:29;11910:4;4582:20:17;;;;;;11895:12:32;11975:164;11982:7;11975:164;;;11999:23;12025:20;12037:7;-1:-1:-1;;;;;;;;;;;;;;;;;;579:3:32;448:140;12025:20;11999:46;;12064:4;:10;;;12053:5;12059:1;12053:8;;;;;;;;:::i;:::-;;;;;;;;;;:21;12082:3;;;;:::i;:::-;6494::17;6490:14;;;6477:28;;;;6471:35;6529:14;;;;-1:-1:-1;6471:35:17;12082:3:32;-1:-1:-1;11975:164:32;;-1:-1:-1;;11975:164:32;;11818:325;;;11719:424;;;;:::o;1120:269::-;1191:4;;1212:18;;:35;;;;;;;;:::i;:::-;;:83;;;-1:-1:-1;1277:18:32;1255;;:40;;;;;;;;:::i;:::-;;1212:83;:126;;;-1:-1:-1;1325:13:32;1303:35;:18;;:35;;;;;;;;:::i;:::-;;1212:126;:174;;;-1:-1:-1;1368:18:32;1346:40;;3394:192;3481:4;3499:6;:38;;;;;3509:28;3528:8;3509:18;:28::i;:::-;3498:85;;;;3544:6;3543:7;:39;;;;;3554:28;3573:8;3554:18;:28::i;2236:858::-;2371:11;2384:15;2413:26;2430:8;2413:16;:26::i;:::-;2405:57;;;;-1:-1:-1;;;2405:57:32;;13308:2:72;2405:57:32;;;13290:21:72;13347:2;13327:18;;;13320:30;13386:20;13366:18;;;13359:48;13424:18;;2405:57:32;13106:342:72;2405:57:32;2497:19;2474;;:42;;;;;;;;:::i;:::-;;2466:77;;;;-1:-1:-1;;;2466:77:32;;13655:2:72;2466:77:32;;;13637:21:72;13694:2;13674:18;;;13667:30;13733:24;13713:18;;;13706:52;13775:18;;2466:77:32;13453:346:72;2466:77:32;2570:6;2548:19;2581:486;2612:9;:15;;;2601:38;;;;;;;;;;;;:::i;:::-;2597:1;:42;2581:486;;;2727:19;;;;:36;;-1:-1:-1;;;2727:36:32;;;;;1549:25:72;;;-1:-1:-1;;;;;2727:23:32;;;;;;1522:18:72;;2727:36:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2722:80;;-1:-1:-1;2789:5:32;;-1:-1:-1;2773:22:32;;-1:-1:-1;2773:22:32;2722:80;2864:19;;;;:44;;;;;;;;1549:25:72;;;-1:-1:-1;;;;;2864:31:32;;;;;;1522:18:72;;2864:44:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2864:44:32;;;;;;;;;;;;:::i;:::-;2853:67;;;;;;;;;;;;:::i;:::-;2839:81;;2935:42;2955:11;2968:8;2935:19;:42::i;:::-;2926:51;;2988:37;3008:6;3016:8;2988:19;:37::i;:::-;2984:79;;;-1:-1:-1;3051:4:32;;-1:-1:-1;3035:21:32;;-1:-1:-1;3035:21:32;2984:79;2641:3;;;;:::i;:::-;;;;2581:486;;;-1:-1:-1;3086:4:32;;-1:-1:-1;;2236:858:32;;;;;;;:::o;764:172::-;837:4;876:13;854:35;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;272:180:72:-;331:6;384:2;372:9;363:7;359:23;355:32;352:52;;;400:1;397;390:12;352:52;-1:-1:-1;423:23:72;;272:180;-1:-1:-1;272:180:72:o;712:196::-;780:20;;-1:-1:-1;;;;;829:54:72;;819:65;;809:93;;898:1;895;888:12;809:93;712:196;;;:::o;913:254::-;981:6;989;1042:2;1030:9;1021:7;1017:23;1013:32;1010:52;;;1058:1;1055;1048:12;1010:52;1081:29;1100:9;1081:29;:::i;:::-;1071:39;1157:2;1142:18;;;;1129:32;;-1:-1:-1;;;913:254:72:o;1585:654::-;1710:6;1718;1771:2;1759:9;1750:7;1746:23;1742:32;1739:52;;;1787:1;1784;1777:12;1739:52;1827:9;1814:23;1856:18;1897:2;1889:6;1886:14;1883:34;;;1913:1;1910;1903:12;1883:34;1951:6;1940:9;1936:22;1926:32;;1996:7;1989:4;1985:2;1981:13;1977:27;1967:55;;2018:1;2015;2008:12;1967:55;2058:2;2045:16;2084:2;2076:6;2073:14;2070:34;;;2100:1;2097;2090:12;2070:34;2153:7;2148:2;2138:6;2135:1;2131:14;2127:2;2123:23;2119:32;2116:45;2113:65;;;2174:1;2171;2164:12;2113:65;2205:2;2197:11;;;;;2227:6;;-1:-1:-1;1585:654:72;;-1:-1:-1;;;;1585:654:72:o;2244:632::-;2415:2;2467:21;;;2537:13;;2440:18;;;2559:22;;;2386:4;;2415:2;2638:15;;;;2612:2;2597:18;;;2386:4;2681:169;2695:6;2692:1;2689:13;2681:169;;;2756:13;;2744:26;;2825:15;;;;2790:12;;;;2717:1;2710:9;2681:169;;;-1:-1:-1;2867:3:72;;2244:632;-1:-1:-1;;;;;;2244:632:72:o;2881:186::-;2940:6;2993:2;2981:9;2972:7;2968:23;2964:32;2961:52;;;3009:1;3006;2999:12;2961:52;3032:29;3051:9;3032:29;:::i;3072:347::-;3123:8;3133:6;3187:3;3180:4;3172:6;3168:17;3164:27;3154:55;;3205:1;3202;3195:12;3154:55;-1:-1:-1;3228:20:72;;3271:18;3260:30;;3257:50;;;3303:1;3300;3293:12;3257:50;3340:4;3332:6;3328:17;3316:29;;3392:3;3385:4;3376:6;3368;3364:19;3360:30;3357:39;3354:59;;;3409:1;3406;3399:12;3354:59;3072:347;;;;;:::o;3424:551::-;3512:6;3520;3528;3536;3589:2;3577:9;3568:7;3564:23;3560:32;3557:52;;;3605:1;3602;3595:12;3557:52;3628:29;3647:9;3628:29;:::i;:::-;3618:39;;3704:2;3693:9;3689:18;3676:32;3666:42;;3759:2;3748:9;3744:18;3731:32;3786:18;3778:6;3775:30;3772:50;;;3818:1;3815;3808:12;3772:50;3857:58;3907:7;3898:6;3887:9;3883:22;3857:58;:::i;:::-;3424:551;;;;-1:-1:-1;3934:8:72;-1:-1:-1;;;;3424:551:72:o;3980:477::-;4059:6;4067;4075;4128:2;4116:9;4107:7;4103:23;4099:32;4096:52;;;4144:1;4141;4134:12;4096:52;4180:9;4167:23;4157:33;;4241:2;4230:9;4226:18;4213:32;4268:18;4260:6;4257:30;4254:50;;;4300:1;4297;4290:12;4254:50;4339:58;4389:7;4380:6;4369:9;4365:22;4339:58;:::i;:::-;3980:477;;4416:8;;-1:-1:-1;4313:84:72;;-1:-1:-1;;;;3980:477:72:o;4654:277::-;4721:6;4774:2;4762:9;4753:7;4749:23;4745:32;4742:52;;;4790:1;4787;4780:12;4742:52;4822:9;4816:16;4875:5;4868:13;4861:21;4854:5;4851:32;4841:60;;4897:1;4894;4887:12;5289:184;-1:-1:-1;;;5338:1:72;5331:88;5438:4;5435:1;5428:15;5462:4;5459:1;5452:15;5478:696;-1:-1:-1;;;;;5804:15:72;;;5786:34;;5712:3;5697:19;;;5850:1;5839:13;;5829:201;;-1:-1:-1;;;5883:1:72;5876:88;5987:4;5984:1;5977:15;6015:4;6012:1;6005:15;5829:201;6066:6;6061:2;6050:9;6046:18;6039:34;6121:2;6113:6;6109:15;6104:2;6093:9;6089:18;6082:43;;6161:6;6156:2;6145:9;6141:18;6134:34;5478:696;;;;;;;:::o;6179:258::-;6251:1;6261:113;6275:6;6272:1;6269:13;6261:113;;;6351:11;;;6345:18;6332:11;;;6325:39;6297:2;6290:10;6261:113;;;6392:6;6389:1;6386:13;6383:48;;;6427:1;6418:6;6413:3;6409:16;6402:27;6383:48;;6179:258;;;:::o;6442:440::-;6589:2;6578:9;6571:21;6552:4;6621:6;6615:13;6664:6;6659:2;6648:9;6644:18;6637:34;6680:66;6739:6;6734:2;6723:9;6719:18;6714:2;6706:6;6702:15;6680:66;:::i;:::-;6798:2;6786:15;-1:-1:-1;;6782:88:72;6767:104;;;;6873:2;6763:113;;6442:440;-1:-1:-1;;6442:440:72:o;6887:184::-;-1:-1:-1;;;6936:1:72;6929:88;7036:4;7033:1;7026:15;7060:4;7057:1;7050:15;7076:334;7147:2;7141:9;7203:2;7193:13;;-1:-1:-1;;7189:86:72;7177:99;;7306:18;7291:34;;7327:22;;;7288:62;7285:88;;;7353:18;;:::i;:::-;7389:2;7382:22;7076:334;;-1:-1:-1;7076:334:72:o;7415:764::-;7494:6;7547:2;7535:9;7526:7;7522:23;7518:32;7515:52;;;7563:1;7560;7553:12;7515:52;7596:9;7590:16;7625:18;7666:2;7658:6;7655:14;7652:34;;;7682:1;7679;7672:12;7652:34;7720:6;7709:9;7705:22;7695:32;;7765:7;7758:4;7754:2;7750:13;7746:27;7736:55;;7787:1;7784;7777:12;7736:55;7816:2;7810:9;7838:2;7834;7831:10;7828:36;;;7844:18;;:::i;:::-;7886:112;7994:2;-1:-1:-1;;7918:4:72;7914:2;7910:13;7906:86;7902:95;7886:112;:::i;:::-;7873:125;;8021:2;8014:5;8007:17;8061:7;8056:2;8051;8047;8043:11;8039:20;8036:33;8033:53;;;8082:1;8079;8072:12;8033:53;8095:54;8146:2;8141;8134:5;8130:14;8125:2;8121;8117:11;8095:54;:::i;:::-;-1:-1:-1;8168:5:72;7415:764;-1:-1:-1;;;;7415:764:72:o;8184:184::-;-1:-1:-1;;;8233:1:72;8226:88;8333:4;8330:1;8323:15;8357:4;8354:1;8347:15;8373:195;8412:3;8443:66;8436:5;8433:77;8430:103;;8513:18;;:::i;:::-;-1:-1:-1;8560:1:72;8549:13;;8373:195::o;8760:184::-;-1:-1:-1;;;8809:1:72;8802:88;8909:4;8906:1;8899:15;8933:4;8930:1;8923:15;8949:395;9054:4;9112:11;9099:25;9202:66;9191:8;9175:14;9171:29;9167:102;9147:18;9143:127;9133:155;;9284:1;9281;9274:12;9133:155;9305:33;;;;;8949:395;-1:-1:-1;;8949:395:72:o;9349:271::-;9423:6;9476:2;9464:9;9455:7;9451:23;9447:32;9444:52;;;9492:1;9489;9482:12;9444:52;9531:9;9518:23;9570:1;9563:5;9560:12;9550:40;;9586:1;9583;9576:12;9625:580;9702:4;9708:6;9768:11;9755:25;9858:66;9847:8;9831:14;9827:29;9823:102;9803:18;9799:127;9789:155;;9940:1;9937;9930:12;9789:155;9967:33;;10019:20;;;-1:-1:-1;10062:18:72;10051:30;;10048:50;;;10094:1;10091;10084:12;10048:50;10127:4;10115:17;;-1:-1:-1;10158:14:72;10154:27;;;10144:38;;10141:58;;;10195:1;10192;10185:12;10210:447;10367:2;10356:9;10349:21;10406:6;10401:2;10390:9;10386:18;10379:34;10463:6;10455;10450:2;10439:9;10435:18;10422:48;10519:1;10490:22;;;10514:2;10486:31;;;10479:42;;;;10573:2;10561:15;;;-1:-1:-1;;10557:88:72;10542:104;10538:113;;10210:447;-1:-1:-1;10210:447:72:o;10662:184::-;10732:6;10785:2;10773:9;10764:7;10760:23;10756:32;10753:52;;;10801:1;10798;10791:12;10753:52;-1:-1:-1;10824:16:72;;10662:184;-1:-1:-1;10662:184:72:o;11202:936::-;11297:6;11328:2;11371;11359:9;11350:7;11346:23;11342:32;11339:52;;;11387:1;11384;11377:12;11339:52;11420:9;11414:16;11449:18;11490:2;11482:6;11479:14;11476:34;;;11506:1;11503;11496:12;11476:34;11544:6;11533:9;11529:22;11519:32;;11589:7;11582:4;11578:2;11574:13;11570:27;11560:55;;11611:1;11608;11601:12;11560:55;11640:2;11634:9;11662:2;11658;11655:10;11652:36;;;11668:18;;:::i;:::-;11714:2;11711:1;11707:10;11697:20;;11737:28;11761:2;11757;11753:11;11737:28;:::i;:::-;11799:15;;;11869:11;;;11865:20;;;11830:12;;;;11897:19;;;11894:39;;;11929:1;11926;11919:12;11894:39;11953:11;;;;11973:135;11989:6;11984:3;11981:15;11973:135;;;12055:10;;12043:23;;12006:12;;;;12086;;;;11973:135;;;12127:5;11202:936;-1:-1:-1;;;;;;;;11202:936:72:o;12843:125::-;12883:4;12911:1;12908;12905:8;12902:34;;;12916:18;;:::i;:::-;-1:-1:-1;12953:9:72;;12843:125::o;12973:128::-;13013:3;13044:1;13040:6;13037:1;13034:13;13031:39;;;13050:18;;:::i;:::-;-1:-1:-1;13086:9:72;;12973:128::o",
657
+ object: "0x608060405234801561001057600080fd5b506004361061011b5760003560e01c8063af104e40116100b2578063d803064a11610081578063e3d1287511610066578063e3d128751461023b578063f30347701461025e578063fb3ec48b1461027157600080fd5b8063d803064a14610220578063e1c7392a1461023357600080fd5b8063af104e40146101e1578063ba62fbe4146101f4578063cfd3c57f14610205578063d7ecf62b1461021857600080fd5b80634f27da18116100ee5780634f27da1814610185578063614bfa6e14610198578063687485a6146101ae5780639f54f545146101ce57600080fd5b80630d59332e146101205780630de3b7b51461014a5780631aa3a0081461015f5780631ee444b714610172575b600080fd5b6002546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b61015d6101583660046120ef565b610284565b005b60035461012d906001600160a01b031681565b61015d610180366004612124565b610389565b61012d6101933660046120ef565b61042d565b6101a061044c565b604051908152602001610141565b6101c16101bc36600461214e565b6104aa565b60405161014191906121c3565b6101a06101dc366004612207565b61066f565b61015d6101ef36600461226b565b610688565b6001546001600160a01b031661012d565b61015d6102133660046122c5565b61083e565b6101a06109c7565b61015d61022e366004612124565b610a44565b61015d610b71565b61024e6102493660046120ef565b610d1f565b6040519015158152602001610141565b61015d61026c366004612124565b610d8d565b61012d61027f3660046120ef565b610dba565b600154604051636667bd4760e11b81523360048201819052916001600160a01b03169063cccf7a8e90602401602060405180830381865afa1580156102cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102f19190612311565b6103425760405162461bcd60e51b815260206004820152601860248201527f636f6d706f6e656e74206e6f742072656769737465726564000000000000000060448201526064015b60405180910390fd5b6001548290339061035c906001600160a01b031682610dd3565b6040517f6dd56823030ae6d8ae09cbfb8972c4e9494e67b209c4ab6300c21d73e269b35090600090a45050565b6003546040516001600160a01b03909116906309c5eabe906103b690339060019087908790602001612349565b6040516020818303038152906040526040518263ffffffff1660e01b81526004016103e191906123c7565b6000604051808303816000875af1158015610400573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104289190810190612441565b505050565b600154600090610446906001600160a01b031683610f24565b92915050565b6000806104576109c7565b905060005b81610466816124eb565b9250508160405160200161047c91815260200190565b6040516020818303038152906040528051906020012060001c90506104a081610d1f565b61045c5792915050565b606060008267ffffffffffffffff8111156104c7576104c76123fa565b60405190808252806020026020018201604052801561051457816020015b604080516060808201835260008083526020830152918101919091528152602001906001900390816104e55790505b50905060005b8381101561065d57604051806060016040528086868481811061053f5761053f612523565b90506020028101906105519190612539565b61055f906020810190612577565b600581111561057057610570612333565b81526001546020909101906105b5906001600160a01b031688888681811061059a5761059a612523565b90506020028101906105ac9190612539565b60200135611023565b6001600160a01b031681526020018686848181106105d5576105d5612523565b90506020028101906105e79190612539565b6105f5906040810190612598565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050915250825183908390811061063f5761063f612523565b60200260200101819052508080610655906124eb565b91505061051a565b506106678161102f565b949350505050565b600154600090610446906001600160a01b031683610dd3565b60015484906001600160a01b031663cccf7a8e6106ab836001600160a01b031690565b6040518263ffffffff1660e01b81526004016106c991815260200190565b602060405180830381865afa1580156106e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061070a9190612311565b6107565760405162461bcd60e51b815260206004820152601860248201527f636f6d706f6e656e74206e6f74207265676973746572656400000000000000006044820152606401610339565b336001600160a01b0386161461076b57600080fd5b6000546040517f1003e2d2000000000000000000000000000000000000000000000000000000008152600481018690526001600160a01b0390911690631003e2d290602401600060405180830381600087803b1580156107ca57600080fd5b505af11580156107de573d6000803e3d6000fd5b50506001548692506001600160a01b0380891692506107fe911688610dd3565b7f6ac31c38682e0128240cf68316d7ae751020d8f74c614e2a30278afcec8a6073868660405161082f9291906125fd565b60405180910390a45050505050565b600154604051636667bd4760e11b81523360048201819052916001600160a01b03169063cccf7a8e90602401602060405180830381865afa158015610887573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ab9190612311565b6108f75760405162461bcd60e51b815260206004820152601860248201527f636f6d706f6e656e74206e6f74207265676973746572656400000000000000006044820152606401610339565b6000546040517f1003e2d2000000000000000000000000000000000000000000000000000000008152600481018690526001600160a01b0390911690631003e2d290602401600060405180830381600087803b15801561095657600080fd5b505af115801561096a573d6000803e3d6000fd5b5050600154869250339150610988906001600160a01b031682610dd3565b7f6ac31c38682e0128240cf68316d7ae751020d8f74c614e2a30278afcec8a607386866040516109b99291906125fd565b60405180910390a450505050565b60008060009054906101000a90046001600160a01b03166001600160a01b031663949d225d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a3f919061262c565b905090565b60015482906001600160a01b031663cccf7a8e610a67836001600160a01b031690565b6040518263ffffffff1660e01b8152600401610a8591815260200190565b602060405180830381865afa158015610aa2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac69190612311565b610b125760405162461bcd60e51b815260206004820152601860248201527f636f6d706f6e656e74206e6f74207265676973746572656400000000000000006044820152606401610339565b336001600160a01b03841614610b2757600080fd5b60015482906001600160a01b0380861691610b43911686610dd3565b6040517f6dd56823030ae6d8ae09cbfb8972c4e9494e67b209c4ab6300c21d73e269b35090600090a4505050565b6001546040517f9d2c76b40000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b0390911690639d2c76b490602401600060405180830381600087803b158015610bcf57600080fd5b505af1158015610be3573d6000803e3d6000fd5b50506002546040517f9d2c76b40000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b039091169250639d2c76b49150602401600060405180830381600087803b158015610c4557600080fd5b505af1158015610c59573d6000803e3d6000fd5b50506003546040516001600160a01b0390911692506309c5eabe9150610caa90339060019085907f554d0b3fe5f19a44775dc4000490ad0bafbc48129e8e396be983226890aece9990602001612349565b6040516020818303038152906040526040518263ffffffff1660e01b8152600401610cd591906123c7565b6000604051808303816000875af1158015610cf4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d1c9190810190612441565b50565b60008054604051636667bd4760e11b8152600481018490526001600160a01b039091169063cccf7a8e90602401602060405180830381865afa158015610d69573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104469190612311565b6003546040516001600160a01b03909116906309c5eabe906103b690339060009087908790602001612349565b600254600090610446906001600160a01b031683610f24565b6000826001600160a01b031663cccf7a8e610df4846001600160a01b031690565b6040518263ffffffff1660e01b8152600401610e1291815260200190565b602060405180830381865afa158015610e2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e539190612311565b610e9f5760405162461bcd60e51b815260206004820152601660248201527f61646472657373206e6f742072656769737465726564000000000000000000006044820152606401610339565b826001600160a01b0316630ff4c916610ebe846001600160a01b031690565b6040518263ffffffff1660e01b8152600401610edc91815260200190565b602060405180830381865afa158015610ef9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1d919061262c565b9392505050565b6040517ffbdfa1ea0000000000000000000000000000000000000000000000000000000081526004810182905260009081906001600160a01b0385169063fbdfa1ea90602401600060405180830381865afa158015610f87573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610faf9190810190612645565b905080516000036110025760405162461bcd60e51b815260206004820152601160248201527f6964206e6f7420726567697374657265640000000000000000000000000000006044820152606401610339565b6106678160008151811061101857611018612523565b602002602001015190565b6000610f1d8383610f24565b606061103961207c565b7620000000000000000000000000000000000000000000008152600060208201819052600160808301525b835181101561148257600084828151811061108157611081612523565b6020026020010151905061109481611495565b156110e2576004815160058111156110ae576110ae612333565b036110bb57604083018190525b6005815160058111156110d0576110d0612333565b036110dd57606083018190525b61146f565b826080015115611388576110f5816114d0565b6111415760405162461bcd60e51b815260206004820152601960248201527f4e454741544956455f494e495449414c5f465241474d454e54000000000000006044820152606401610339565b600060808401819052808251600581111561115e5761115e612333565b146111e15781602001516001600160a01b031663b361be4683604001516040518263ffffffff1660e01b815260040161119791906123c7565b600060405180830381865afa1580156111b4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111dc9190810190612645565b61124b565b81602001516001600160a01b03166331b933b96040518163ffffffff1660e01b8152600401600060405180830381865afa158015611223573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261124b9190810190612645565b9050611256816114f4565b84528051602080860191909152606085015101516001600160a01b03161580159061129c5750600084606001516040015180602001905181019061129a919061262c565b115b156113825760005b81518110156113805760006112f68383815181106112c4576112c4612523565b60200260200101518760600151602001518860600151604001518060200190518101906112f1919061262c565b61155c565b905060005b815181101561136b5761134461133c604051806040016040528085858151811061132757611327612523565b60200260200101518152602001600081525090565b885190611768565b875260208701805190611356826124eb565b90525080611363816124eb565b9150506112fb565b50508080611378906124eb565b9150506112a4565b505b5061146f565b82517620000000000000000000000000000000000000000000009060009060019060601c69ffffffffffffffffffff165b81156114645760006113dd8260408051808201909152600080825260208201525090565b805190915060006113ee82896117cd565b90506113fc8a898484611ad0565b9050801561143a5761142a6114236040518060400160405280858152602001600081525090565b8890611768565b965085611436816124eb565b9650505b6114478a89848a8a611b55565b8b5160b01c8601519198509650801515955093506113b992505050565b505090845260208401525b508061147a816124eb565b915050611064565b50610f1d81600001518260200151611ccc565b60006004825160058111156114ac576114ac612333565b1480610446575060055b825160058111156114c9576114c9612333565b1492915050565b600080825160058111156114e6576114e6612333565b1480610446575060026114b6565b76200000000000000000000000000000000000000000000060005b82518110156115565761154261153b604051806040016040528086858151811061132757611327612523565b8390611768565b91508061154e816124eb565b91505061150f565b50919050565b60608160000361157b5750604080516000815260208101909152610f1d565b6000836001600160a01b031663b361be468660405160200161159f91815260200190565b6040516020818303038152906040526040518263ffffffff1660e01b81526004016115ca91906123c7565b600060405180830381865afa1580156115e7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261160f9190810190612645565b905082600103611620579050610f1d565b7620000000000000000000000000000000000000000000006000805b83518110156116e157600061167285838151811061165c5761165c612523565b60200260200101518960018a6112f191906126eb565b905060005b81518110156116cc576116aa6116a3604051806040016040528085858151811061132757611327612523565b8690611768565b9450836116b6816124eb565b94505080806116c4906124eb565b915050611677565b505080806116d9906124eb565b91505061163c565b5060006116fa838551846116f59190612702565b611ccc565b905060005b845181101561175c5784818151811061171a5761171a612523565b602002602001015182828561172f9190612702565b8151811061173f5761173f612523565b602090810291909101015280611754816124eb565b9150506116ff565b50979650505050505050565b6000808360501b60b01c116001811461178d578260101b8360601b85171791506117c6565b828460b01c8560a01b60b01c01528260101b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000085161791505b5092915050565b600080825160058111156117e3576117e3612333565b0361185e576020820151604051636667bd4760e11b8152600481018590526001600160a01b039091169063cccf7a8e90602401602060405180830381865afa158015611833573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118579190612311565b9050610446565b60028251600581111561187357611873612333565b0361191f5760208201516040517fb8bc073d000000000000000000000000000000000000000000000000000000008152600481018590526001600160a01b039091169063b8bc073d90602401600060405180830381865afa1580156118dc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526119049190810190612441565b80519060200120826040015180519060200120149050610446565b60018251600581111561193457611934612333565b036119b0576020820151604051636667bd4760e11b8152600481018590526001600160a01b039091169063cccf7a8e90602401602060405180830381865afa158015611984573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119a89190612311565b159050610446565b6003825160058111156119c5576119c5612333565b03611a725760208201516040517fb8bc073d000000000000000000000000000000000000000000000000000000008152600481018590526001600160a01b039091169063b8bc073d90602401600060405180830381865afa158015611a2e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611a569190810190612441565b8051906020012082604001518051906020012014159050610446565b611a7b82611da4565b611ac75760405162461bcd60e51b815260206004820152601260248201527f4e4f5f454e544954595f465241474d454e5400000000000000000000000000006044820152606401610339565b50600092915050565b6040840151602001516000906001600160a01b031615801590611b0e57506000856040015160400151806020019051810190611b0c919061262c565b115b8015611b215750611b1f8285611e03565b155b15611b4d57600080611b3885878960400151611e2e565b915091508015611b4a57509050610667565b50505b509392505050565b60608501516020015160009081906001600160a01b031615801590611b9557506000876060015160400151806020019051810190611b93919061262c565b115b15611cc0576000611bc5868960600151602001518a60600151604001518060200190518101906112f1919061262c565b905060005b8151811015611cbd576000828281518110611be757611be7612523565b602002602001015190506000611bfd828b6117cd565b905080158015611c1d575060408b0151602001516001600160a01b031615155b8015611c44575060008b6040015160400151806020019051810190611c42919061262c565b115b15611c6c57600080611c5b848d8f60400151611e2e565b915091508015611c69578192505b50505b8015611ca857611c98611c9160405180604001604052808c8152602001600081525090565b8990611768565b975086611ca4816124eb565b9750505b50508080611cb5906124eb565b915050611bca565b50505b50919590945092505050565b60608167ffffffffffffffff811115611ce757611ce76123fa565b604051908082528060200260200182016040528015611d10578160200160208202803683370190505b509050811561044657600169ffffffffffffffffffff606085901c1660005b8215611d9b576000611d538360408051808201909152600080825260208201525090565b90508060000151858381518110611d6c57611d6c612523565b602090810291909101015281611d81816124eb565b60b089901c94909401518015159550939250611d2f915050565b50505092915050565b60008082516005811115611dba57611dba612333565b1480611dd85750600282516005811115611dd657611dd6612333565b145b80611df6575060015b82516005811115611df457611df4612333565b145b80610446575060036114b6565b6000828015611e165750611e16826114d0565b80610f1d575082158015610f1d5750610f1d82612073565b600080611e3a84611da4565b611e865760405162461bcd60e51b815260206004820152601260248201527f4e4f5f454e544954595f465241474d454e5400000000000000000000000000006044820152606401610339565b600483516005811115611e9b57611e9b612333565b14611ee85760405162461bcd60e51b815260206004820152601660248201527f4e4f5f50524f58595f524541445f465241474d454e54000000000000000000006044820152606401610339565b8460005b8460400151806020019051810190611f04919061262c565b811015612064576020850151604051636667bd4760e11b8152600481018490526001600160a01b039091169063cccf7a8e90602401602060405180830381865afa158015611f56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f7a9190612311565b611f8a57506000915061206b9050565b60208501516040517fb8bc073d000000000000000000000000000000000000000000000000000000008152600481018490526001600160a01b039091169063b8bc073d90602401600060405180830381865afa158015611fee573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526120169190810190612441565b806020019051810190612029919061262c565b915061203582876117cd565b93506120418487611e03565b1561205257506001915061206b9050565b8061205c816124eb565b915050611eec565b5060019150505b935093915050565b60006001611de1565b6040805160a081018252600080825260208201529081016120b86040805160608101909152806000815260006020820152606060409091015290565b81526020016120e26040805160608101909152806000815260006020820152606060409091015290565b8152600060209091015290565b60006020828403121561210157600080fd5b5035919050565b80356001600160a01b038116811461211f57600080fd5b919050565b6000806040838503121561213757600080fd5b61214083612108565b946020939093013593505050565b6000806020838503121561216157600080fd5b823567ffffffffffffffff8082111561217957600080fd5b818501915085601f83011261218d57600080fd5b81358181111561219c57600080fd5b8660208260051b85010111156121b157600080fd5b60209290920196919550909350505050565b6020808252825182820181905260009190848201906040850190845b818110156121fb578351835292840192918401916001016121df565b50909695505050505050565b60006020828403121561221957600080fd5b610f1d82612108565b60008083601f84011261223457600080fd5b50813567ffffffffffffffff81111561224c57600080fd5b60208301915083602082850101111561226457600080fd5b9250929050565b6000806000806060858703121561228157600080fd5b61228a85612108565b935060208501359250604085013567ffffffffffffffff8111156122ad57600080fd5b6122b987828801612222565b95989497509550505050565b6000806000604084860312156122da57600080fd5b83359250602084013567ffffffffffffffff8111156122f857600080fd5b61230486828701612222565b9497909650939450505050565b60006020828403121561232357600080fd5b81518015158114610f1d57600080fd5b634e487b7160e01b600052602160045260246000fd5b6001600160a01b03858116825260808201906002861061237957634e487b7160e01b600052602160045260246000fd5b85602084015280851660408401525082606083015295945050505050565b60005b838110156123b257818101518382015260200161239a565b838111156123c1576000848401525b50505050565b60208152600082518060208401526123e6816040850160208701612397565b601f01601f19169190910160400192915050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612439576124396123fa565b604052919050565b60006020828403121561245357600080fd5b815167ffffffffffffffff8082111561246b57600080fd5b818401915084601f83011261247f57600080fd5b815181811115612491576124916123fa565b6124a46020601f19601f84011601612410565b91508082528560208285010111156124bb57600080fd5b6124cc816020840160208601612397565b50949350505050565b634e487b7160e01b600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361251c5761251c6124d5565b5060010190565b634e487b7160e01b600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa183360301811261256d57600080fd5b9190910192915050565b60006020828403121561258957600080fd5b813560068110610f1d57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126125cd57600080fd5b83018035915067ffffffffffffffff8211156125e857600080fd5b60200191503681900382131561226457600080fd5b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b60006020828403121561263e57600080fd5b5051919050565b6000602080838503121561265857600080fd5b825167ffffffffffffffff8082111561267057600080fd5b818501915085601f83011261268457600080fd5b815181811115612696576126966123fa565b8060051b91506126a7848301612410565b81815291830184019184810190888411156126c157600080fd5b938501935b838510156126df578451825293850193908501906126c6565b98975050505050505050565b6000828210156126fd576126fd6124d5565b500390565b60008219821115612715576127156124d5565b50019056fea26469706673582212204a37a8c055f4a83b7935bd418b3678afa9b17785adc2c692e0905a2af26b964764736f6c634300080d0033",
658
+ sourceMap: "1597:5816:43:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2986:85;3058:8;;-1:-1:-1;;;;;3058:8:43;2986:85;;;-1:-1:-1;;;;;205:55:72;;;187:74;;175:2;160:18;2986:85:43;;;;;;;;5317:199;;;;;;:::i;:::-;;:::i;:::-;;1739:30;;;;;-1:-1:-1;;;;;1739:30:43;;;3401:151;;;;;;:::i;:::-;;:::i;5613:115::-;;;;;;:::i;:::-;;:::i;7156:255::-;;;:::i;:::-;;;1549:25:72;;;1537:2;1522:18;7156:255:43;1403:177:72;6435:500:43;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;5825:150::-;;;;;;:::i;:::-;;:::i;3989:319::-;;;;;;:::i;:::-;;:::i;2785:91::-;2860:11;;-1:-1:-1;;;;;2860:11:43;2785:91;;4443:261;;;;;;:::i;:::-;;:::i;6204:94::-;;;:::i;4912:265::-;;;;;;:::i;:::-;;:::i;2445:221::-;;;:::i;7002:105::-;;;;;;:::i;:::-;;:::i;:::-;;;4627:14:72;;4620:22;4602:41;;4590:2;4575:18;7002:105:43;4462:187:72;3156:163:43;;;;;;:::i;:::-;;:::i;6072:128::-;;;;;;:::i;:::-;;:::i;5317:199::-;3700:11;;:43;;-1:-1:-1;;;3700:43:43;;5406:10;3700:43;;;1549:25:72;;;5406:10:43;-1:-1:-1;;;;;3700:11:43;;:15;;1522:18:72;;3700:43:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3692:80;;;;-1:-1:-1;;;3692:80:43;;5138:2:72;3692:80:43;;;5120:21:72;5177:2;5157:18;;;5150:30;5216:26;5196:18;;;5189:54;5260:18;;3692:80:43;;;;;;;;;5466:11:::1;::::0;5504:6;;5492:10:::1;::::0;5451:39:::1;::::0;-1:-1:-1;;;;;5466:11:43::1;5492:10:::0;5451:14:::1;:39::i;:::-;5429:82;::::0;::::1;::::0;;;::::1;5317:199:::0;;:::o;3401:151::-;3470:8;;3487:59;;-1:-1:-1;;;;;3470:8:43;;;;:16;;3487:59;;3498:10;;3470:8;;3531:10;;3543:2;;3487:59;;;:::i;:::-;;;;;;;;;;;;;3470:77;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3470:77:43;;;;;;;;;;;;:::i;:::-;;3401:151;;:::o;5613:115::-;5707:11;;5670:7;;5692:31;;-1:-1:-1;;;;;5707:11:43;5720:2;5692:14;:31::i;:::-;5685:38;5613:115;-1:-1:-1;;5613:115:43:o;7156:255::-;7206:7;7221:17;7241:16;:14;:16::i;:::-;7221:36;;7263:10;7279:112;7290:11;;;;:::i;:::-;;;;7349:9;7332:27;;;;;;8702:19:72;;8746:2;8737:12;;8573:182;7332:27:43;;;;;;;;;;;;;7322:38;;;;;;7314:47;;7309:52;;7376:13;7386:2;7376:9;:13::i;:::-;7279:112;;7404:2;7156:255;-1:-1:-1;;7156:255:43:o;6435:500::-;6522:16;6546:32;6601:19;6581:47;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;6581:47:43;;;;;;;;;;;;;;;;6546:82;;6639:9;6634:259;6650:30;;;6634:259;;;6710:176;;;;;;;;6733:19;;6753:1;6733:22;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:32;;;;;;;:::i;:::-;6710:176;;;;;;;;:::i;:::-;;;6792:11;;6710:176;;;;;6775:65;;-1:-1:-1;;;;;6792:11:43;6805:19;;6825:1;6805:22;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:34;;;6775:16;:65::i;:::-;-1:-1:-1;;;;;6710:176:43;;;;;6850:19;;6870:1;6850:22;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:28;;;;;;;:::i;:::-;6710:176;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6710:176:43;;-1:-1:-1;6695:12:43;;:9;;6705:1;;6695:12;;;;;;:::i;:::-;;;;;;:191;;;;6682:3;;;;;:::i;:::-;;;;6634:259;;;;6905:25;6920:9;6905:14;:25::i;:::-;6898:32;6435:500;-1:-1:-1;;;;6435:500:43:o;5825:150::-;5943:11;;5906:7;;5928:42;;-1:-1:-1;;;;;5943:11:43;5956:13;5928:14;:42::i;3989:319::-;3700:11;;4130:9;;-1:-1:-1;;;;;3700:11:43;:15;3716:26;4130:9;-1:-1:-1;;;;;604:22:71;;531:98;3716:26:43;3700:43;;;;;;;;;;;;;1549:25:72;;1537:2;1522:18;;1403:177;3700:43:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3692:80;;;;-1:-1:-1;;;3692:80:43;;5138:2:72;3692:80:43;;;5120:21:72;5177:2;5157:18;;;5150:30;5216:26;5196:18;;;5189:54;5260:18;;3692:80:43;4936:348:72;3692:80:43;4155:10:::1;-1:-1:-1::0;;;;;4155:23:43;::::1;;4147:32;;;::::0;::::1;;4189:8;::::0;4185:25:::1;::::0;;;;::::1;::::0;::::1;1549::72::0;;;-1:-1:-1;;;;;4189:8:43;;::::1;::::0;4185:17:::1;::::0;1522:18:72;;4185:25:43::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4254:11:43::1;::::0;4290:6;;-1:-1:-1;;;;;;4221:82:43;;::::1;::::0;-1:-1:-1;4239:38:43::1;::::0;4254:11:::1;4279:9:::0;4239:14:::1;:38::i;:::-;4221:82;4298:4;;4221:82;;;;;;;:::i;:::-;;;;;;;;3989:319:::0;;;;;:::o;4443:261::-;3700:11;;:43;;-1:-1:-1;;;3700:43:43;;4561:10;3700:43;;;1549:25:72;;;4561:10:43;-1:-1:-1;;;;;3700:11:43;;:15;;1522:18:72;;3700:43:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3692:80;;;;-1:-1:-1;;;3692:80:43;;5138:2:72;3692:80:43;;;5120:21:72;5177:2;5157:18;;;5150:30;5216:26;5196:18;;;5189:54;5260:18;;3692:80:43;4936:348:72;3692:80:43;4583:8:::1;::::0;4579:25:::1;::::0;;;;::::1;::::0;::::1;1549::72::0;;;-1:-1:-1;;;;;4583:8:43;;::::1;::::0;4579:17:::1;::::0;1522:18:72;;4579:25:43::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4648:11:43::1;::::0;4686:6;;-1:-1:-1;4674:10:43::1;::::0;-1:-1:-1;4633:39:43::1;::::0;-1:-1:-1;;;;;4648:11:43::1;4674:10:::0;4633:14:::1;:39::i;:::-;4615:84;4694:4;;4615:84;;;;;;;:::i;:::-;;;;;;;;4443:261:::0;;;;:::o;6204:94::-;6251:7;6277:8;;;;;;;;;-1:-1:-1;;;;;6277:8:43;-1:-1:-1;;;;;6273:18:43;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6266:27;;6204:94;:::o;4912:265::-;3700:11;;5032:9;;-1:-1:-1;;;;;3700:11:43;:15;3716:26;5032:9;-1:-1:-1;;;;;604:22:71;;531:98;3716:26:43;3700:43;;;;;;;;;;;;;1549:25:72;;1537:2;1522:18;;1403:177;3700:43:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3692:80;;;;-1:-1:-1;;;3692:80:43;;5138:2:72;3692:80:43;;;5120:21:72;5177:2;5157:18;;;5150:30;5216:26;5196:18;;;5189:54;5260:18;;3692:80:43;4936:348:72;3692:80:43;5057:10:::1;-1:-1:-1::0;;;;;5057:23:43;::::1;;5049:32;;;::::0;::::1;;5129:11;::::0;5165:6;;-1:-1:-1;;;;;5092:80:43;;::::1;::::0;5114:38:::1;::::0;5129:11:::1;5154:9:::0;5114:14:::1;:38::i;:::-;5092:80;::::0;::::1;::::0;;;::::1;4912:265:::0;;;:::o;2445:221::-;2474:11;;:40;;;;;2508:4;2474:40;;;187:74:72;-1:-1:-1;;;;;2474:11:43;;;;:25;;160:18:72;;2474:40:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2520:8:43;;:37;;;;;2551:4;2520:37;;;187:74:72;-1:-1:-1;;;;;2520:8:43;;;;-1:-1:-1;2520:22:43;;-1:-1:-1;160:18:72;;2520:37:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2563:8:43;;2580:80;;-1:-1:-1;;;;;2563:8:43;;;;-1:-1:-1;2563:16:43;;-1:-1:-1;2580:80:43;;2591:10;;2563:8;;;;540:34:57;;2580:80:43;;;:::i;:::-;;;;;;;;;;;;;2563:98;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2563:98:43;;;;;;;;;;;;:::i;:::-;;2445:221::o;7002:105::-;7058:4;7081:8;;7077:25;;-1:-1:-1;;;7077:25:43;;;;;1549::72;;;-1:-1:-1;;;;;7081:8:43;;;;7077:17;;1522:18:72;;7077:25:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;3156:163::-;3231:8;;3248:65;;-1:-1:-1;;;;;3231:8:43;;;;:16;;3248:65;;3259:10;;3231:8;;3295:13;;3310:2;;3248:65;;;:::i;6072:128::-;6176:8;;6139:7;;6161:34;;-1:-1:-1;;;;;6176:8:43;6186;6161:14;:34::i;1094:217:71:-;1174:7;1195:8;-1:-1:-1;;;;;1195:12:71;;1208:21;1224:4;-1:-1:-1;;;;;604:22:71;;531:98;1208:21;1195:35;;;;;;;;;;;;;1549:25:72;;1537:2;1522:18;;1403:177;1195:35:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1187:70;;;;-1:-1:-1;;;1187:70:71;;11053:2:72;1187:70:71;;;11035:21:72;11092:2;11072:18;;;11065:30;11131:24;11111:18;;;11104:52;11173:18;;1187:70:71;10851:346:72;1187:70:71;1268:8;-1:-1:-1;;;;;1268:17:71;;1286:21;1302:4;-1:-1:-1;;;;;604:22:71;;531:98;1286:21;1268:40;;;;;;;;;;;;;1549:25:72;;1537:2;1522:18;;1403:177;1268:40:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1261:47;1094:217;-1:-1:-1;;;1094:217:71:o;741:248::-;860:33;;;;;;;;1549:25:72;;;819:7:71;;;;-1:-1:-1;;;;;860:29:71;;;;;1522:18:72;;860:33:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;860:33:71;;;;;;;;;;;;:::i;:::-;832:61;;905:8;:15;924:1;905:20;897:50;;;;-1:-1:-1;;;897:50:71;;12345:2:72;897:50:71;;;12327:21:72;12384:2;12364:18;;;12357:30;12423:19;12403:18;;;12396:47;12460:18;;897:50:71;12143:341:72;897:50:71;958:28;974:8;983:1;974:11;;;;;;;;:::i;:::-;;;;;;;452:6;361:102;1406:150;1488:10;1522:30;1537:10;1549:2;1522:14;:30::i;3984:3450:32:-;4056:16;4080:18;;:::i;:::-;4237:24:26;4104:44:32;;:10;4154:13;;;:17;;;4233:4;4213:17;;;:24;4269:3109;4289:9;:16;4285:1;:20;4269:3109;;;4320:29;4352:9;4362:1;4352:12;;;;;;;;:::i;:::-;;;;;;;4320:44;;4376:27;4394:8;4376:17;:27::i;:::-;4372:3000;;;4507:19;4485:18;;:41;;;;;;;;:::i;:::-;;4481:69;;4528:11;;;:22;;;4481:69;4586:21;4564:18;;:43;;;;;;;;:::i;:::-;;4560:73;;4609:13;;;:24;;;4560:73;4372:3000;;;4652:1;:17;;;4648:2724;;;4788:28;4807:8;4788:18;:28::i;:::-;4780:66;;;;-1:-1:-1;;;4780:66:32;;12691:2:72;4780:66:32;;;12673:21:72;12730:2;12710:18;;;12703:30;12769:27;12749:18;;;12742:55;12814:18;;4780:66:32;12489:349:72;4780:66:32;4876:5;4856:17;;;:25;;;4876:5;4966:18;;:35;;;;;;;;:::i;:::-;;:148;;5059:8;:18;;;-1:-1:-1;;;;;5059:39:32;;5099:8;:14;;;5059:55;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5059:55:32;;;;;;;;;;;;:::i;:::-;4966:148;;;5014:8;:18;;;-1:-1:-1;;;;;5014:30:32;;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5014:32:32;;;;;;;;;;;;:::i;:::-;4935:179;;5138:24;5150:11;5138;:24::i;:::-;5125:37;;5188:18;;5172:13;;;;:34;;;;5316:13;;;;:23;;-1:-1:-1;;;;;5308:46:32;;;;;5307:98;;;5404:1;5370;:13;;;:19;;;5359:42;;;;;;;;;;;;:::i;:::-;:46;5307:98;5303:635;;;5424:11;5419:509;5443:11;:18;5437:3;:24;5419:509;;;5484:30;5517:159;5549:11;5561:3;5549:16;;;;;;;;:::i;:::-;;;;;;;5581:1;:13;;;:23;;;5631:1;:13;;;:19;;;5620:42;;;;;;;;;;;;:::i;:::-;5517:16;:159::i;:::-;5484:192;;5696:18;5691:225;5729:13;:20;5716:10;:33;5691:225;;;5794:76;5819:50;5827:41;;;;;;;;5839:13;5853:10;5839:25;;;;;;;;:::i;:::-;;;;;;;5827:41;;;;5866:1;5827:41;;;452:6:71;361:102;5819:50:32;5794:10;;;:24;:76::i;:::-;5781:89;;5886:13;;;:15;;;;;;:::i;:::-;;;-1:-1:-1;5751:12:32;;;;:::i;:::-;;;;5691:225;;;;5470:458;5463:5;;;;;:::i;:::-;;;;5419:509;;;;5303:635;4671:1275;4648:2724;;;6187:10;;4237:24:26;;6036:23:32;;6155:4;;4582:20:26;;;;6269:985:32;6276:7;6269:985;;;6297:23;6323:20;6335:7;-1:-1:-1;;;;;;;;;;;;;;;;;;579:3:32;448:140;6323:20;6372:10;;6297:46;;-1:-1:-1;6355:14:32;6495:37;6372:10;6523:8;6495:19;:37::i;:::-;6481:51;;6632:46;6650:1;6653:8;6663:6;6671;6632:17;:46::i;:::-;6623:55;;6782:6;6778:144;;;6819:59;6846:31;6854:22;;;;;;;;6866:6;6854:22;;;;6874:1;6854:22;;;452:6:71;361:102;6846:31:32;6819:12;;:26;:59::i;:::-;6804:74;-1:-1:-1;6892:17:32;;;;:::i;:::-;;;;6778:144;7077:71;7097:1;7100:8;7110:6;7118:12;7132:15;7077:19;:71::i;:::-;7219:10;;6494:3:26;6490:14;6477:28;;6471:35;7043:105:32;;-1:-1:-1;7043:105:32;-1:-1:-1;6529:14:26;;;7198:45:32;-1:-1:-1;7198:45:32;-1:-1:-1;6269:985:32;;-1:-1:-1;;;6269:985:32;;-1:-1:-1;;7297:25:32;;;7332:13;;;:31;4648:2724;-1:-1:-1;4307:3:32;;;;:::i;:::-;;;;4269:3109;;;;7391:38;7403:1;:10;;;7415:1;:13;;;7391:11;:38::i;938:180::-;1010:4;1049:19;1027:18;;:41;;;;;;;;:::i;:::-;;:88;;;-1:-1:-1;1094:21:32;1072:43;:18;;:43;;;;;;;;:::i;:::-;;1020:95;938:180;-1:-1:-1;;938:180:32:o;590:172::-;663:4;;680:18;;:35;;;;;;;;:::i;:::-;;:79;;;-1:-1:-1;741:18:32;719:40;;12216:251;4237:24:26;12282:15:32;12349:114;12369:5;:12;12365:1;:16;12349:114;;;12403:53;12422:33;12430:24;;;;;;;;12442:5;12448:1;12442:8;;;;;;;;:::i;12422:33::-;12403:4;;:18;:53::i;:::-;12396:60;-1:-1:-1;12383:3:32;;;;:::i;:::-;;;;12349:114;;;;12216:251;;;:::o;9853:1054::-;9971:16;9999:5;10008:1;9999:10;9995:39;;-1:-1:-1;10018:16:32;;;10032:1;10018:16;;;;;;;;10011:23;;9995:39;10041:31;10075:9;-1:-1:-1;;;;;10075:30:32;;10117:6;10106:18;;;;;;1549:25:72;;1537:2;1522:18;;1403:177;10106:18:32;;;;;;;;;;;;;10075:50;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;10075:50:32;;;;;;;;;;;;:::i;:::-;10041:84;;10135:5;10144:1;10135:10;10131:37;;10154:14;-1:-1:-1;10147:21:32;;10131:37;4237:24:26;10175:28:32;;10281:360;10301:14;:21;10297:1;:25;10281:360;;;10337:33;10373:57;10390:14;10405:1;10390:17;;;;;;;;:::i;:::-;;;;;;;10409:9;10428:1;10420:5;:9;;;;:::i;10373:57::-;10337:93;;10443:9;10438:197;10458:16;:23;10454:1;:27;10438:197;;;10518:77;10550:44;10558:35;;;;;;;;10570:16;10587:1;10570:19;;;;;;;;:::i;10550:44::-;10518:17;;:31;:77::i;:::-;10498:97;-1:-1:-1;10605:21:32;;;;:::i;:::-;;;;10483:3;;;;;:::i;:::-;;;;10438:197;;;;10329:312;10324:3;;;;;:::i;:::-;;;;10281:360;;;;10647:28;10678:75;10690:17;10731:14;:21;10709:19;:43;;;;:::i;:::-;10678:11;:75::i;:::-;10647:106;;10764:9;10759:119;10779:14;:21;10775:1;:25;10759:119;;;10854:14;10869:1;10854:17;;;;;;;;:::i;:::-;;;;;;;10815:11;10849:1;10827:19;:23;;;;:::i;:::-;10815:36;;;;;;;;:::i;:::-;;;;;;;;;;:56;10802:3;;;;:::i;:::-;;;;10759:119;;;-1:-1:-1;10891:11:32;9853:1054;-1:-1:-1;;;;;;;9853:1054:32:o;5475:835:26:-;5555:12;5653:1;5645:4;5641:2;5637:13;5632:3;5628:23;5625:30;5674:1;5669:462;;;;6271:7;6267:2;6263:16;6252:7;6248:2;6244:16;6238:4;6235:26;6232:48;6227:53;;5618:676;;5669:462;5988:7;5902:4;5897:3;5893:14;5841:4;5836:3;5832:14;5827:3;5823:24;5794:172;5766:247;6108:7;6104:2;6100:16;6088:9;6082:4;6078:20;6075:42;6070:47;;5618:676;;5475:835;;;;:::o;1391:843:32:-;1481:4;;1495:18;;:35;;;;;;;;:::i;:::-;;1491:129;;1585:18;;;;:30;;-1:-1:-1;;;1585:30:32;;;;;1549:25:72;;;-1:-1:-1;;;;;1585:22:32;;;;;;1522:18:72;;1585:30:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1578:37;;;;1491:129;1650:18;1628;;:40;;;;;;;;:::i;:::-;;1624:192;;1772:18;;;;:38;;;;;;;;1549:25:72;;;-1:-1:-1;;;;;1772:30:32;;;;;;1522:18:72;;1772:38:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1772:38:32;;;;;;;;;;;;:::i;:::-;1762:49;;;;;;1743:8;:14;;;1733:25;;;;;;:78;1726:85;;;;1624:192;1846:13;1824:18;;:35;;;;;;;;:::i;:::-;;1820:134;;1919:18;;;;:30;;-1:-1:-1;;;1919:30:32;;;;;1549:25:72;;;-1:-1:-1;;;;;1919:22:32;;;;;;1522:18:72;;1919:30:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1918:31;1911:38;;;;1820:134;1984:18;1962;;:40;;;;;;;;:::i;:::-;;1958:196;;2110:18;;;;:38;;;;;;;;1549:25:72;;;-1:-1:-1;;;;;2110:30:32;;;;;;1522:18:72;;2110:38:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2110:38:32;;;;;;;;;;;;:::i;:::-;2100:49;;;;;;2081:8;:14;;;2071:25;;;;;;:78;;2064:85;;;;1958:196;2166:26;2183:8;2166:16;:26::i;:::-;2158:57;;;;-1:-1:-1;;;2158:57:32;;13308:2:72;2158:57:32;;;13290:21:72;13347:2;13327:18;;;13320:30;13386:20;13366:18;;;13359:48;13424:18;;2158:57:32;13106:342:72;2158:57:32;-1:-1:-1;2226:5:32;1391:843;;;;:::o;7508:495::-;7689:11;;;;:21;;;7658:4;;-1:-1:-1;;;;;7681:44:32;;;;;:98;;;7778:1;7746;:11;;;:17;;;7735:40;;;;;;;;;;;;:::i;:::-;:44;7681:98;:146;;;;;7790:37;7810:6;7818:8;7790:19;:37::i;:::-;7789:38;7681:146;7670:310;;;7843:14;7859:15;7878:55;7903:6;7911:8;7921:1;:11;;;7878:24;:55::i;:::-;7842:91;;;;7945:10;7941:32;;;-1:-1:-1;7964:9:32;-1:-1:-1;7957:16:32;;7941:32;7834:146;;7670:310;-1:-1:-1;7992:6:32;7508:495;-1:-1:-1;;;7508:495:32:o;8108:1346::-;8341:13;;;;:23;;;8301:10;;;;-1:-1:-1;;;;;8333:46:32;;;;;8332:98;;;8429:1;8395;:13;;;:19;;;8384:42;;;;;;;;;;;;:::i;:::-;:46;8332:98;8328:1077;;;8440:30;8473:125;8499:6;8515:1;:13;;;:23;;;8559:1;:13;;;:19;;;8548:42;;;;;;;;;;;;:::i;8473:125::-;8440:158;;8612:11;8607:792;8631:13;:20;8625:3;:26;8607:792;;;8670:19;8692:13;8706:3;8692:18;;;;;;;;:::i;:::-;;;;;;;8670:40;;8783:16;8802:42;8822:11;8835:8;8802:19;:42::i;:::-;8783:61;;8946:11;8945:12;:60;;;;-1:-1:-1;8969:11:32;;;;:21;;;-1:-1:-1;;;;;8961:44:32;;;8945:60;:108;;;;;9052:1;9020;:11;;;:17;;;9009:40;;;;;;;;;;;;:::i;:::-;:44;8945:108;8930:308;;;9077:16;9095:15;9114:60;9139:11;9152:8;9162:1;:11;;;9114:24;:60::i;:::-;9076:98;;;;9190:10;9186:41;;;9216:11;9202:25;;9186:41;9064:174;;8930:308;9252:11;9248:143;;;9292:59;9319:31;9327:22;;;;;;;;9339:6;9327:22;;;;9347:1;9327:22;;;452:6:71;361:102;9319:31:32;9292:12;;:26;:59::i;:::-;9277:74;-1:-1:-1;9363:17:32;;;;:::i;:::-;;;;9248:143;8660:739;;8653:5;;;;;:::i;:::-;;;;8607:792;;;;8432:973;8328:1077;-1:-1:-1;9419:12:32;;9433:15;;-1:-1:-1;8108:1346:32;-1:-1:-1;;;8108:1346:32:o;11719:424::-;11794:22;11846:6;11832:21;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11832:21:32;-1:-1:-1;11824:29:32;-1:-1:-1;11859:29:32;;11876:12;11859:29;11910:4;4582:20:26;;;;;;11895:12:32;11975:164;11982:7;11975:164;;;11999:23;12025:20;12037:7;-1:-1:-1;;;;;;;;;;;;;;;;;;579:3:32;448:140;12025:20;11999:46;;12064:4;:10;;;12053:5;12059:1;12053:8;;;;;;;;:::i;:::-;;;;;;;;;;:21;12082:3;;;;:::i;:::-;6494::26;6490:14;;;6477:28;;;;6471:35;6529:14;;;;-1:-1:-1;6471:35:26;12082:3:32;-1:-1:-1;11975:164:32;;-1:-1:-1;;11975:164:32;;11818:325;;;11719:424;;;;:::o;1120:269::-;1191:4;;1212:18;;:35;;;;;;;;:::i;:::-;;:83;;;-1:-1:-1;1277:18:32;1255;;:40;;;;;;;;:::i;:::-;;1212:83;:126;;;-1:-1:-1;1325:13:32;1303:35;:18;;:35;;;;;;;;:::i;:::-;;1212:126;:174;;;-1:-1:-1;1368:18:32;1346:40;;3394:192;3481:4;3499:6;:38;;;;;3509:28;3528:8;3509:18;:28::i;:::-;3498:85;;;;3544:6;3543:7;:39;;;;;3554:28;3573:8;3554:18;:28::i;2236:858::-;2371:11;2384:15;2413:26;2430:8;2413:16;:26::i;:::-;2405:57;;;;-1:-1:-1;;;2405:57:32;;13308:2:72;2405:57:32;;;13290:21:72;13347:2;13327:18;;;13320:30;13386:20;13366:18;;;13359:48;13424:18;;2405:57:32;13106:342:72;2405:57:32;2497:19;2474;;:42;;;;;;;;:::i;:::-;;2466:77;;;;-1:-1:-1;;;2466:77:32;;13655:2:72;2466:77:32;;;13637:21:72;13694:2;13674:18;;;13667:30;13733:24;13713:18;;;13706:52;13775:18;;2466:77:32;13453:346:72;2466:77:32;2570:6;2548:19;2581:486;2612:9;:15;;;2601:38;;;;;;;;;;;;:::i;:::-;2597:1;:42;2581:486;;;2727:19;;;;:36;;-1:-1:-1;;;2727:36:32;;;;;1549:25:72;;;-1:-1:-1;;;;;2727:23:32;;;;;;1522:18:72;;2727:36:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2722:80;;-1:-1:-1;2789:5:32;;-1:-1:-1;2773:22:32;;-1:-1:-1;2773:22:32;2722:80;2864:19;;;;:44;;;;;;;;1549:25:72;;;-1:-1:-1;;;;;2864:31:32;;;;;;1522:18:72;;2864:44:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2864:44:32;;;;;;;;;;;;:::i;:::-;2853:67;;;;;;;;;;;;:::i;:::-;2839:81;;2935:42;2955:11;2968:8;2935:19;:42::i;:::-;2926:51;;2988:37;3008:6;3016:8;2988:19;:37::i;:::-;2984:79;;;-1:-1:-1;3051:4:32;;-1:-1:-1;3035:21:32;;-1:-1:-1;3035:21:32;2984:79;2641:3;;;;:::i;:::-;;;;2581:486;;;-1:-1:-1;3086:4:32;;-1:-1:-1;;2236:858:32;;;;;;;:::o;764:172::-;837:4;876:13;854:35;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;272:180:72:-;331:6;384:2;372:9;363:7;359:23;355:32;352:52;;;400:1;397;390:12;352:52;-1:-1:-1;423:23:72;;272:180;-1:-1:-1;272:180:72:o;712:196::-;780:20;;-1:-1:-1;;;;;829:54:72;;819:65;;809:93;;898:1;895;888:12;809:93;712:196;;;:::o;913:254::-;981:6;989;1042:2;1030:9;1021:7;1017:23;1013:32;1010:52;;;1058:1;1055;1048:12;1010:52;1081:29;1100:9;1081:29;:::i;:::-;1071:39;1157:2;1142:18;;;;1129:32;;-1:-1:-1;;;913:254:72:o;1585:654::-;1710:6;1718;1771:2;1759:9;1750:7;1746:23;1742:32;1739:52;;;1787:1;1784;1777:12;1739:52;1827:9;1814:23;1856:18;1897:2;1889:6;1886:14;1883:34;;;1913:1;1910;1903:12;1883:34;1951:6;1940:9;1936:22;1926:32;;1996:7;1989:4;1985:2;1981:13;1977:27;1967:55;;2018:1;2015;2008:12;1967:55;2058:2;2045:16;2084:2;2076:6;2073:14;2070:34;;;2100:1;2097;2090:12;2070:34;2153:7;2148:2;2138:6;2135:1;2131:14;2127:2;2123:23;2119:32;2116:45;2113:65;;;2174:1;2171;2164:12;2113:65;2205:2;2197:11;;;;;2227:6;;-1:-1:-1;1585:654:72;;-1:-1:-1;;;;1585:654:72:o;2244:632::-;2415:2;2467:21;;;2537:13;;2440:18;;;2559:22;;;2386:4;;2415:2;2638:15;;;;2612:2;2597:18;;;2386:4;2681:169;2695:6;2692:1;2689:13;2681:169;;;2756:13;;2744:26;;2825:15;;;;2790:12;;;;2717:1;2710:9;2681:169;;;-1:-1:-1;2867:3:72;;2244:632;-1:-1:-1;;;;;;2244:632:72:o;2881:186::-;2940:6;2993:2;2981:9;2972:7;2968:23;2964:32;2961:52;;;3009:1;3006;2999:12;2961:52;3032:29;3051:9;3032:29;:::i;3072:347::-;3123:8;3133:6;3187:3;3180:4;3172:6;3168:17;3164:27;3154:55;;3205:1;3202;3195:12;3154:55;-1:-1:-1;3228:20:72;;3271:18;3260:30;;3257:50;;;3303:1;3300;3293:12;3257:50;3340:4;3332:6;3328:17;3316:29;;3392:3;3385:4;3376:6;3368;3364:19;3360:30;3357:39;3354:59;;;3409:1;3406;3399:12;3354:59;3072:347;;;;;:::o;3424:551::-;3512:6;3520;3528;3536;3589:2;3577:9;3568:7;3564:23;3560:32;3557:52;;;3605:1;3602;3595:12;3557:52;3628:29;3647:9;3628:29;:::i;:::-;3618:39;;3704:2;3693:9;3689:18;3676:32;3666:42;;3759:2;3748:9;3744:18;3731:32;3786:18;3778:6;3775:30;3772:50;;;3818:1;3815;3808:12;3772:50;3857:58;3907:7;3898:6;3887:9;3883:22;3857:58;:::i;:::-;3424:551;;;;-1:-1:-1;3934:8:72;-1:-1:-1;;;;3424:551:72:o;3980:477::-;4059:6;4067;4075;4128:2;4116:9;4107:7;4103:23;4099:32;4096:52;;;4144:1;4141;4134:12;4096:52;4180:9;4167:23;4157:33;;4241:2;4230:9;4226:18;4213:32;4268:18;4260:6;4257:30;4254:50;;;4300:1;4297;4290:12;4254:50;4339:58;4389:7;4380:6;4369:9;4365:22;4339:58;:::i;:::-;3980:477;;4416:8;;-1:-1:-1;4313:84:72;;-1:-1:-1;;;;3980:477:72:o;4654:277::-;4721:6;4774:2;4762:9;4753:7;4749:23;4745:32;4742:52;;;4790:1;4787;4780:12;4742:52;4822:9;4816:16;4875:5;4868:13;4861:21;4854:5;4851:32;4841:60;;4897:1;4894;4887:12;5289:184;-1:-1:-1;;;5338:1:72;5331:88;5438:4;5435:1;5428:15;5462:4;5459:1;5452:15;5478:696;-1:-1:-1;;;;;5804:15:72;;;5786:34;;5712:3;5697:19;;;5850:1;5839:13;;5829:201;;-1:-1:-1;;;5883:1:72;5876:88;5987:4;5984:1;5977:15;6015:4;6012:1;6005:15;5829:201;6066:6;6061:2;6050:9;6046:18;6039:34;6121:2;6113:6;6109:15;6104:2;6093:9;6089:18;6082:43;;6161:6;6156:2;6145:9;6141:18;6134:34;5478:696;;;;;;;:::o;6179:258::-;6251:1;6261:113;6275:6;6272:1;6269:13;6261:113;;;6351:11;;;6345:18;6332:11;;;6325:39;6297:2;6290:10;6261:113;;;6392:6;6389:1;6386:13;6383:48;;;6427:1;6418:6;6413:3;6409:16;6402:27;6383:48;;6179:258;;;:::o;6442:440::-;6589:2;6578:9;6571:21;6552:4;6621:6;6615:13;6664:6;6659:2;6648:9;6644:18;6637:34;6680:66;6739:6;6734:2;6723:9;6719:18;6714:2;6706:6;6702:15;6680:66;:::i;:::-;6798:2;6786:15;-1:-1:-1;;6782:88:72;6767:104;;;;6873:2;6763:113;;6442:440;-1:-1:-1;;6442:440:72:o;6887:184::-;-1:-1:-1;;;6936:1:72;6929:88;7036:4;7033:1;7026:15;7060:4;7057:1;7050:15;7076:334;7147:2;7141:9;7203:2;7193:13;;-1:-1:-1;;7189:86:72;7177:99;;7306:18;7291:34;;7327:22;;;7288:62;7285:88;;;7353:18;;:::i;:::-;7389:2;7382:22;7076:334;;-1:-1:-1;7076:334:72:o;7415:764::-;7494:6;7547:2;7535:9;7526:7;7522:23;7518:32;7515:52;;;7563:1;7560;7553:12;7515:52;7596:9;7590:16;7625:18;7666:2;7658:6;7655:14;7652:34;;;7682:1;7679;7672:12;7652:34;7720:6;7709:9;7705:22;7695:32;;7765:7;7758:4;7754:2;7750:13;7746:27;7736:55;;7787:1;7784;7777:12;7736:55;7816:2;7810:9;7838:2;7834;7831:10;7828:36;;;7844:18;;:::i;:::-;7886:112;7994:2;-1:-1:-1;;7918:4:72;7914:2;7910:13;7906:86;7902:95;7886:112;:::i;:::-;7873:125;;8021:2;8014:5;8007:17;8061:7;8056:2;8051;8047;8043:11;8039:20;8036:33;8033:53;;;8082:1;8079;8072:12;8033:53;8095:54;8146:2;8141;8134:5;8130:14;8125:2;8121;8117:11;8095:54;:::i;:::-;-1:-1:-1;8168:5:72;7415:764;-1:-1:-1;;;;7415:764:72:o;8184:184::-;-1:-1:-1;;;8233:1:72;8226:88;8333:4;8330:1;8323:15;8357:4;8354:1;8347:15;8373:195;8412:3;8443:66;8436:5;8433:77;8430:103;;8513:18;;:::i;:::-;-1:-1:-1;8560:1:72;8549:13;;8373:195::o;8760:184::-;-1:-1:-1;;;8809:1:72;8802:88;8909:4;8906:1;8899:15;8933:4;8930:1;8923:15;8949:395;9054:4;9112:11;9099:25;9202:66;9191:8;9175:14;9171:29;9167:102;9147:18;9143:127;9133:155;;9284:1;9281;9274:12;9133:155;9305:33;;;;;8949:395;-1:-1:-1;;8949:395:72:o;9349:271::-;9423:6;9476:2;9464:9;9455:7;9451:23;9447:32;9444:52;;;9492:1;9489;9482:12;9444:52;9531:9;9518:23;9570:1;9563:5;9560:12;9550:40;;9586:1;9583;9576:12;9625:580;9702:4;9708:6;9768:11;9755:25;9858:66;9847:8;9831:14;9827:29;9823:102;9803:18;9799:127;9789:155;;9940:1;9937;9930:12;9789:155;9967:33;;10019:20;;;-1:-1:-1;10062:18:72;10051:30;;10048:50;;;10094:1;10091;10084:12;10048:50;10127:4;10115:17;;-1:-1:-1;10158:14:72;10154:27;;;10144:38;;10141:58;;;10195:1;10192;10185:12;10210:447;10367:2;10356:9;10349:21;10406:6;10401:2;10390:9;10386:18;10379:34;10463:6;10455;10450:2;10439:9;10435:18;10422:48;10519:1;10490:22;;;10514:2;10486:31;;;10479:42;;;;10573:2;10561:15;;;-1:-1:-1;;10557:88:72;10542:104;10538:113;;10210:447;-1:-1:-1;10210:447:72:o;10662:184::-;10732:6;10785:2;10773:9;10764:7;10760:23;10756:32;10753:52;;;10801:1;10798;10791:12;10753:52;-1:-1:-1;10824:16:72;;10662:184;-1:-1:-1;10662:184:72:o;11202:936::-;11297:6;11328:2;11371;11359:9;11350:7;11346:23;11342:32;11339:52;;;11387:1;11384;11377:12;11339:52;11420:9;11414:16;11449:18;11490:2;11482:6;11479:14;11476:34;;;11506:1;11503;11496:12;11476:34;11544:6;11533:9;11529:22;11519:32;;11589:7;11582:4;11578:2;11574:13;11570:27;11560:55;;11611:1;11608;11601:12;11560:55;11640:2;11634:9;11662:2;11658;11655:10;11652:36;;;11668:18;;:::i;:::-;11714:2;11711:1;11707:10;11697:20;;11737:28;11761:2;11757;11753:11;11737:28;:::i;:::-;11799:15;;;11869:11;;;11865:20;;;11830:12;;;;11897:19;;;11894:39;;;11929:1;11926;11919:12;11894:39;11953:11;;;;11973:135;11989:6;11984:3;11981:15;11973:135;;;12055:10;;12043:23;;12006:12;;;;12086;;;;11973:135;;;12127:5;11202:936;-1:-1:-1;;;;;;;;11202:936:72:o;12843:125::-;12883:4;12911:1;12908;12905:8;12902:34;;;12916:18;;:::i;:::-;-1:-1:-1;12953:9:72;;12843:125::o;12973:128::-;13013:3;13044:1;13040:6;13037:1;13034:13;13031:39;;;13050:18;;:::i;:::-;-1:-1:-1;13086:9:72;;12973:128::o",
661
659
  linkReferences: {}
662
660
  },
663
661
  methodIdentifiers: {
@@ -679,7 +677,7 @@ var World_default = {
679
677
  "registerSystem(address,uint256)": "1ee444b7",
680
678
  "systems()": "0d59332e"
681
679
  },
682
- rawMetadata: '{"compiler":{"version":"0.8.13+commit.abaa5c0e"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"componentId","type":"uint256"},{"indexed":true,"internalType":"address","name":"component","type":"address"},{"indexed":true,"internalType":"uint256","name":"entity","type":"uint256"}],"name":"ComponentValueRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"componentId","type":"uint256"},{"indexed":true,"internalType":"address","name":"component","type":"address"},{"indexed":true,"internalType":"uint256","name":"entity","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"}],"name":"ComponentValueSet","type":"event"},{"inputs":[],"name":"components","outputs":[{"internalType":"contract IUint256Component","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"name":"getComponent","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"componentAddr","type":"address"}],"name":"getComponentIdFromAddress","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNumEntities","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"systemId","type":"uint256"}],"name":"getSystemAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getUniqueEntityId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"entity","type":"uint256"}],"name":"hasEntity","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"init","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"enum QueryType","name":"queryType","type":"uint8"},{"internalType":"uint256","name":"componentId","type":"uint256"},{"internalType":"bytes","name":"value","type":"bytes"}],"internalType":"struct WorldQueryFragment[]","name":"worldQueryFragments","type":"tuple[]"}],"name":"query","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"register","outputs":[{"internalType":"contract RegisterSystem","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"componentAddr","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"registerComponent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"entity","type":"uint256"}],"name":"registerComponentValueRemoved","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"component","type":"address"},{"internalType":"uint256","name":"entity","type":"uint256"}],"name":"registerComponentValueRemoved","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"component","type":"address"},{"internalType":"uint256","name":"entity","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"registerComponentValueSet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"entity","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"registerComponentValueSet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"systemAddr","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"registerSystem","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"systems","outputs":[{"internalType":"contract IUint256Component","name":"","type":"address"}],"stateMutability":"view","type":"function"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{"components()":{"notice":"Get the component registry Uint256Component (mapping from component address to component id)"},"getComponent(uint256)":{"notice":"Deprecated, but left here for backward compatibility. TODO: refactor all consumers. "},"getComponentIdFromAddress(address)":{"notice":"Deprecated, but left here for backward compatibility. TODO: refactor all consumers. "},"getSystemAddress(uint256)":{"notice":"Deprecated, but left here for backward compatibility. TODO: refactor all consumers. "},"getUniqueEntityId()":{"notice":"Get a new unique entity ID."},"hasEntity(uint256)":{"notice":"Check whether an entity exists in this world."},"init()":{"notice":"Initialize the World. Separated from the constructor to prevent circular dependencies."},"query((uint8,uint256,bytes)[])":{"notice":"Helper function to execute a query with query fragments referring to a component ID instead of a component address."},"registerComponent(address,uint256)":{"notice":"Register a new component in this World. ID must be unique."},"registerComponentValueRemoved(address,uint256)":{"notice":"Deprecated - use registerComponentValueRemoved(entity) instead Register a component value removal. Emits the `ComponentValueRemoved` event for clients to reconstruct the state."},"registerComponentValueRemoved(uint256)":{"notice":"Register a component value removal. Emits the `ComponentValueRemoved` event for clients to reconstruct the state."},"registerComponentValueSet(address,uint256,bytes)":{"notice":"Deprecated - use registerComponentValueSet(entity, data) instead Register a component value update. Emits the `ComponentValueSet` event for clients to reconstruct the state."},"registerComponentValueSet(uint256,bytes)":{"notice":"Register a component value update. Emits the `ComponentValueSet` event for clients to reconstruct the state."},"registerSystem(address,uint256)":{"notice":"Register a new system in this World. ID must be unique."},"systems()":{"notice":"Get the system registry Uint256Component (mapping from system address to system id)"}},"notice":"The `World` contract is at the core of every on-chain world. Entities, components and systems are registered in the `World`. Components register updates to their state via the `registerComponentValueSet` and `registerComponentValueRemoved` methods, which emit the `ComponentValueSet` and `ComponentValueRemoved` events respectively. Clients can reconstruct the entire state (of all components) by listening to these two events, instead of having to add a separate getter or event listener for every type of data. (Have a look at the MUD network package for a TypeScript implementation of contract/client state sync.) The `World` is an ownerless and permissionless contract. Anyone can register new components and systems in the world (via the `registerComponent` and `registerSystem` methods). Clients decide which components and systems they care about.","version":1}},"settings":{"compilationTarget":{"src/World.sol":"World"},"evmVersion":"london","libraries":{},"metadata":{"bytecodeHash":"ipfs"},"optimizer":{"enabled":true,"runs":3000},"remappings":[":@rari-capital/=../../node_modules/@rari-capital/",":@solidstate/=../../node_modules/@solidstate/",":abdk-libraries-solidity/=../../node_modules/abdk-libraries-solidity/",":base64-sol/=../../node_modules/base64-sol/",":create-mud/=../../node_modules/create-mud/",":ds-test/=../../node_modules/ds-test/src/",":forge-std/=../../node_modules/forge-std/src/",":hardhat/=../../node_modules/hardhat/",":memmove/=../../node_modules/memmove/src/",":solmate/=../../node_modules/@rari-capital/solmate/src/"]},"sources":{"../../node_modules/@solidstate/contracts/access/ownable/IOwnable.sol":{"keccak256":"0xd2d21c507ed587cd5de6cc016d4b9c7e956e468108b784455a400301707031c1","license":"MIT","urls":["bzz-raw://091a98176309554295f1d471f888b1567d07e0250b11e23fa540739b6dfdce38","dweb:/ipfs/Qme69DrKhhtwkSBMU456C3NxzXNMC7AJ4sVNMg5rKcrtPn"]},"../../node_modules/@solidstate/contracts/access/ownable/IOwnableInternal.sol":{"keccak256":"0x6237a634712261bd82d5c7753780d35f77af215406d1e59512052f743f8f1c60","license":"MIT","urls":["bzz-raw://8e54ac6cd1b376224b8d148c704693ff3f7ac9f69954fd30ee3d949fa17210c3","dweb:/ipfs/QmWjq37K3gg29XhFbepg5GbmmFYoyXb81sh2K1MnVZqG6y"]},"../../node_modules/@solidstate/contracts/access/ownable/Ownable.sol":{"keccak256":"0xe16b09090c1251f8cc97fb2cc10c86675e0d0d9f0fc0032b417c37c8dba2db5f","license":"MIT","urls":["bzz-raw://8482effd630de3e3eb3c66ce6bc5ddd12838381e6e585df42116b4fd7764e4bc","dweb:/ipfs/Qma9ga6QS2SooCYKyB7J5EHE8uUGiAv49kosEyjHt9Zg79"]},"../../node_modules/@solidstate/contracts/access/ownable/OwnableInternal.sol":{"keccak256":"0x0185d24250a5e6fbafce443b9ba19bba761803e3e5d91ba423bfb1f5f0bbdbf9","license":"MIT","urls":["bzz-raw://547fadeaec559ee824f4dd37b2ef972a061ca59576f5733cf643e00d88a4db52","dweb:/ipfs/QmYx6rmRmZZQkoS8TykMVsz9ZvfQ8MfSPt6UzWJ8pyj8qF"]},"../../node_modules/@solidstate/contracts/access/ownable/OwnableStorage.sol":{"keccak256":"0x7385e2020de914f75cabdc83c6adf88ed21e9de14669a89b3832b80f4f8c7b73","license":"MIT","urls":["bzz-raw://a367c512bf29fb4923ed5d2454783e3dae88e5e03dec216e65c3986f3c3a8995","dweb:/ipfs/QmfYkD6osr6SQzod6wc7WPae6YvVnYbn2BjJuHrYL3ERXM"]},"../../node_modules/@solidstate/contracts/interfaces/IERC173.sol":{"keccak256":"0x9b18a5ad66323c65a81ecd62c3536db99115fe69a30b56a04409de941da7deb6","license":"MIT","urls":["bzz-raw://a93684363c5bfd4e31fa2cc2d3402e9451ba61c7dbb404e8e50658610fb2a555","dweb:/ipfs/QmanFgF5v5GjBBrAEYCpaZyXRFRvzLGgB8SQcSEf9Dkj5Q"]},"../../node_modules/@solidstate/contracts/interfaces/IERC173Internal.sol":{"keccak256":"0x9644c3e56c9ecd1763f8aaa437d5d573a7f64a8d93ad7bea1a9c44beb5911b89","license":"MIT","urls":["bzz-raw://c32cfda38b44878ab196d32eeb72823a9f9904e8193286c787caccfb2e5bfa75","dweb:/ipfs/QmfBNKWUSKaJtYL3JJ3YFioXCVFeeakqQ4cR5XzAxxZkCx"]},"../../node_modules/@solidstate/contracts/utils/AddressUtils.sol":{"keccak256":"0x7d924db4dbd9210923ab08db77db3c77438014c255fd49fa208ebce283d991bf","license":"MIT","urls":["bzz-raw://5189eebdf91899224a14b4cd5184fa9e67a9b8904e6d88ff9610944d06c63929","dweb:/ipfs/QmRwNhfcp98pPgbzK4i9hbypHLTWPGYpuRCtEJRCTNASRm"]},"../../node_modules/@solidstate/contracts/utils/UintUtils.sol":{"keccak256":"0x5aaeaea22a0800402c6f2d8ce6185293bc64f74f6c390c1b1c53b624b43972f8","license":"MIT","urls":["bzz-raw://8b1c95c745da8ca4de7b68e65ef9122dab4e748c3ae3c9f5fd5aa7c65887c9d2","dweb:/ipfs/QmX2KURY4JbM4NVFp5KPYsNxoJGA8n8w6SdAFdD5Pasgza"]},"../../node_modules/memmove/src/Array.sol":{"keccak256":"0x0d7681d3392c34f811cebc9598c5e8f4eef6aba431dca9e1fa87267ba51a4515","license":"MIT","urls":["bzz-raw://0ffb5179dd40ccacadc2cb26ac99e9ea5148796f6d21413d7e0f37913831bea1","dweb:/ipfs/QmfJogaoqook5JgnUZKib6w6khzViUag3EQb1EZ8aUEasQ"]},"../../node_modules/memmove/src/LinkedList.sol":{"keccak256":"0x2374863d39689178dda92b841e77b835ba8fa550561be23b7861d2e52c0fe8c1","license":"MIT","urls":["bzz-raw://8538ec6ca6be4e1b25b74dfd2139586fa2b9dab8d49d91428ed64dc683884598","dweb:/ipfs/Qma7Z6urenqG5Dzqwe8ouGiFH37mbsJEX83tqjSq1PTnRc"]},"src/BareComponent.sol":{"keccak256":"0x2cd722acd3cad5a9318bd5907a3d9f3849756727a5b2303eaf76aa7ea8caa65a","license":"MIT","urls":["bzz-raw://890e17cd1f2f2ed87c99ca7b9383f7eabb31570989247a81e268a636b163a89a","dweb:/ipfs/QmXJEKkMBQniSwHvC9aqHjRCaMohwkpPT7ssCtkL31j4FA"]},"src/Component.sol":{"keccak256":"0x40085c2f86bf6be7a756015025477aa46308b1618083ece93ae13093881a6874","license":"MIT","urls":["bzz-raw://ca8653540b5674e50abfd4b4898009b472fc7fd2fba456146c1a1c44b615d83a","dweb:/ipfs/QmSqbRng5fHuGUKgkFuNw3BfoefNteYU95sYi4g9QjCCNh"]},"src/LibQuery.sol":{"keccak256":"0x880ef5273d93926a8edb17b0314c5a7368a0da4ea4b818e354c89891b1080ba0","license":"MIT","urls":["bzz-raw://6163c65c40133c58326c9890d1db1feb4cb9291c4d15149d801ae52865df9f4c","dweb:/ipfs/QmdrfbUFc3ApNSYWWv4t7GMbaMwxwpPTJf8SfZHsH3X3Hd"]},"src/LibTypes.sol":{"keccak256":"0xa3898035fd9fa865bcfc9861e3b5ecce36be3196fb27705e50a02fed9831f102","license":"MIT","urls":["bzz-raw://273284a35a950f6d0bc4223d345cf46c59972a00510ddbc4ba695ede38714798","dweb:/ipfs/QmdqzKMaAfKWfBzUsrzsDMWnyxSKJRuEvrc6VTR5VarQaH"]},"src/MapSet.sol":{"keccak256":"0xe1a1f412b22d586c01a3e9e0e0af40893b880260f6765b9a5e23e56154dae1db","license":"MIT","urls":["bzz-raw://f8aeddb1af783e43e8ca8a004954016c9f00d9d217d86454b3a3839ef0981288","dweb:/ipfs/QmegHggcpmgGgL9xbZKqnWMwNMSqvs622MuhyEhR9bVfb9"]},"src/Ownable.sol":{"keccak256":"0x7572ffd98860b2539eacdbb2112ce3d25ad8521c5d95f91e21ea5588a6904209","license":"MIT","urls":["bzz-raw://3516b95146224d3fc04c5cc2818161fa9504a048894f6dd905b1e42307494fc4","dweb:/ipfs/QmTqvvAs1fSLzXVWjAgSt3TtE3MM3M1DFXRzkkSsixtVza"]},"src/OwnableWritable.sol":{"keccak256":"0x0e3e9a7ca8ee0a020753c233db1b757f09f3be37d9ea21614892311e6d29baaf","license":"MIT","urls":["bzz-raw://43d631dfbedce59f2f0d594bfd432eafaaa75e76a381368d309bbadb062ec76c","dweb:/ipfs/QmNjGZPJGAXf26HgMCUk68euquWUkKQ13sEyLMvkjTJ91A"]},"src/OwnableWritableStorage.sol":{"keccak256":"0x9f99bbacdfd6c5b0779bd18d3900dd4f957c5a0d89d5986815fae2eff8254df5","license":"MIT","urls":["bzz-raw://3ee736ebade674846118859290603b8ad2cc91efbe13e3621aa52fb4987cb0b4","dweb:/ipfs/QmNUzZS4LPhBCacrPNjbQXLV4anrvNxQ2yPEPETj3sgbzW"]},"src/Set.sol":{"keccak256":"0xcddfd88e4fd1c183470f470dbe5e6fdd48ed0d26bd1ccefb8070a476bc8ba344","license":"MIT","urls":["bzz-raw://e81ffd8a5b104abd04876a42d613378181009bae9368779223fabc1b1d514e46","dweb:/ipfs/QmUywR2WzJfzPn1bRkd7e6Sy6jo3q9AjuQWU55BHKUiNME"]},"src/System.sol":{"keccak256":"0xa26b5061fdcbb516111cebd798db1ac8d7733cbf562700aa9892276f3e40e1e7","license":"MIT","urls":["bzz-raw://471b323faa1baf8b14f3c0a4acf539643ac2fba105b13314066452ebaa228281","dweb:/ipfs/QmRmTjgggZcziB9FH2oPyQGQAAnxEsubiY1gDC1vQz6uWW"]},"src/SystemStorage.sol":{"keccak256":"0x3adf624854f860099d0911cdc51b29e6690e413f2c260e3536552d223fe77b2b","license":"MIT","urls":["bzz-raw://9fa473135604adb13a95583e6cc8092bc82be534bdcdd915e1f344eb78fc645d","dweb:/ipfs/QmYvRKgZ2iRVmSykLAtrrdsr27Eyg6QorhHGL5ZLE8wTTW"]},"src/World.sol":{"keccak256":"0x5eb54e585f9edeba68519e411e9a73a6d80460b01f87590f2b212f7ac511b9bd","license":"MIT","urls":["bzz-raw://6caf469b0a696767bb72288b16d4dca20187daa9261cdca253671489738cf27c","dweb:/ipfs/QmbEoVs4VUh7uK8LTyS4A6jd9Fkkoix6tWPHAm2DZmkkVX"]},"src/components/Uint256Component.sol":{"keccak256":"0x6f4f16d1a14a8587d9bd21a7f33744d1ffb3cfd5309c6b8229236e5e2d84b465","license":"MIT","urls":["bzz-raw://2dde592cc08fb85378b2b4c263434122c4e4a19a10a6a0b5857c48b002571470","dweb:/ipfs/QmafCQgVugZuVfCNBQaFGFM2Qc9sWML4fG6Pct5ujRXt94"]},"src/constants.sol":{"keccak256":"0x024a3ff3077a272339b7baa96b826fd75f040d7cd2c6e13b9c8cf7ad16f789b8","license":"MIT","urls":["bzz-raw://1ddcb26a7703e9b03b34d5465010a4ae5ced137021c94987053544ad1156a644","dweb:/ipfs/QmYue4gnb8noyoxxTchs5chZji7DKynKMp2x33RgRW6xqZ"]},"src/interfaces/IComponent.sol":{"keccak256":"0xc25ab58cac1449fcd501ddcc56dade0653a7946adcd9eee2931bc095eda2a6b4","license":"MIT","urls":["bzz-raw://c9505da36322f3b3de4dc0aaf0aec911e76be6cbd091f4d142070a7316df4629","dweb:/ipfs/QmY5aGhwzBV5fXeLRDuzWMUfbPZGGdggbLdARhrkjmPBYW"]},"src/interfaces/IERC173.sol":{"keccak256":"0x2bd9a729a3bfcfc445bc557a914aee17fcaf1c0f74b909b6a91a5d3755a699e9","license":"MIT","urls":["bzz-raw://203741d681a686fb75f0715332e554083733f349100dfe11252c17fbe9cd094e","dweb:/ipfs/QmaBXDHiU4ZdJ8K5jQZ3FfswMpWEqSPsBWGFkJMU2qmmWi"]},"src/interfaces/IEntityContainer.sol":{"keccak256":"0x4506db1dcbdbe68a397107a57bfa3da888a889f14181a90eb728cfecc60700b8","license":"MIT","urls":["bzz-raw://23f5c02d110f5abf6340a08a2a8b7e0b5668f211fe6baf41213e6c4f69dece10","dweb:/ipfs/QmYfKeZMeEUNExsxjkCF5nGdw8KRyPe1t5tcGFTEkP7CkV"]},"src/interfaces/IEntityIndexer.sol":{"keccak256":"0xd89023b2a5e9961be3c9d49d9f7f9ac7dcc416e3f43a8758dc058d1db2eea6b5","license":"MIT","urls":["bzz-raw://3266ea1dd5a7f372f8814db24ac4981730f66fba8e6f90f614246ca5cec529b4","dweb:/ipfs/QmQ71BtaBsDjfke46dndaTBVhyXAHxs5qs7d9GHJwVXuvw"]},"src/interfaces/IOwnableWritable.sol":{"keccak256":"0x804db2685d65f5d4029431c47276b6ac43d3c329ea4ce75358928dbd4d11ee77","license":"MIT","urls":["bzz-raw://a1d85dfe46f678ce4cf3a788092519251a24c2c015f9e858a81111b506b0ee78","dweb:/ipfs/QmVmE4f8axCeh8V2kcs8nxYd27rSiwvXJbDbNCg3VZHSXY"]},"src/interfaces/ISystem.sol":{"keccak256":"0xbc1c0b0c72ab5e20ff7eae3cf53627aac367a2f9a65d2e87451a0313869d3bed","license":"MIT","urls":["bzz-raw://b2a7c4c30beb9b96c4e8112b9864f7bac5c761e61765e0dc359d926572feaa5a","dweb:/ipfs/QmVNJbky7itfqBBdDCh8anSWMaHhXs2mKhzuW7hbCVWgj3"]},"src/interfaces/IUint256Component.sol":{"keccak256":"0x12e2eaa4c5663048343e43a1994c446baacb16a4aacbe314ed5202d878751be9","license":"MIT","urls":["bzz-raw://2d78184a1b1868773f2d5a7cf54bb42bccc666dc75cea14eeed15b8573fd000f","dweb:/ipfs/QmemXPHPB7V8StWR8kZcKt3eDxB78sZFZW4Dp7TcEFTxx9"]},"src/interfaces/IWorld.sol":{"keccak256":"0x3ac1853f4cade8f432f5b3144e0c914b93f110ea3eabd85438cde39160716114","license":"MIT","urls":["bzz-raw://1f0ba421b481b66d43c9da4de63171a79ffadc708956893bddf10eec666a0f4a","dweb:/ipfs/QmdSyzQUDrP3MXt8JjgXt1QUgraUKBUPHE2CVzJiEwfMAK"]},"src/interfaces/Query.sol":{"keccak256":"0x987e47a4d3f076910382b4e8619f607ea15abdedd786d6095bd27126ff6f941c","license":"MIT","urls":["bzz-raw://8c3d57f9da85917b77e1043a179d3b516bc8c00a8880fdcb1bffca7e53169059","dweb:/ipfs/QmaHxqsT1ZpS8toN88qxgbeaDSMvnhYv9J9FMjVnKrMgoP"]},"src/systems/RegisterSystem.sol":{"keccak256":"0x5b238c1bacaa26480ae434f15754b9ad53856accb46ca41ce769713bbfc73f8f","license":"MIT","urls":["bzz-raw://c5449b9bf09030b85130d1fc3de196484d75459bea492175d13d01ec4d11e469","dweb:/ipfs/QmWPf9LREhwNLn2Bc1MYw9vQM1RN7Dstadh8NYsF5zrPTq"]},"src/utils.sol":{"keccak256":"0x17f7831c03bdd77f0c7d98c94931d830fbbfa1878c365f54b12841c85611e24e","license":"MIT","urls":["bzz-raw://6ae566ee03c5050b239277ef4184b9e5dcb332c8cc65b032f8e0d9e46408ea6d","dweb:/ipfs/QmetdhxahRf7FJk1kn8KgDmizU2zYk3jjt9qo6Gwz2M5YP"]}},"version":1}',
680
+ rawMetadata: '{"compiler":{"version":"0.8.13+commit.abaa5c0e"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"componentId","type":"uint256"},{"indexed":true,"internalType":"address","name":"component","type":"address"},{"indexed":true,"internalType":"uint256","name":"entity","type":"uint256"}],"name":"ComponentValueRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"componentId","type":"uint256"},{"indexed":true,"internalType":"address","name":"component","type":"address"},{"indexed":true,"internalType":"uint256","name":"entity","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"}],"name":"ComponentValueSet","type":"event"},{"inputs":[],"name":"components","outputs":[{"internalType":"contract IUint256Component","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"name":"getComponent","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"componentAddr","type":"address"}],"name":"getComponentIdFromAddress","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNumEntities","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"systemId","type":"uint256"}],"name":"getSystemAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getUniqueEntityId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"entity","type":"uint256"}],"name":"hasEntity","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"init","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"enum QueryType","name":"queryType","type":"uint8"},{"internalType":"uint256","name":"componentId","type":"uint256"},{"internalType":"bytes","name":"value","type":"bytes"}],"internalType":"struct WorldQueryFragment[]","name":"worldQueryFragments","type":"tuple[]"}],"name":"query","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"register","outputs":[{"internalType":"contract RegisterSystem","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"componentAddr","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"registerComponent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"entity","type":"uint256"}],"name":"registerComponentValueRemoved","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"component","type":"address"},{"internalType":"uint256","name":"entity","type":"uint256"}],"name":"registerComponentValueRemoved","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"component","type":"address"},{"internalType":"uint256","name":"entity","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"registerComponentValueSet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"entity","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"registerComponentValueSet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"systemAddr","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"registerSystem","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"systems","outputs":[{"internalType":"contract IUint256Component","name":"","type":"address"}],"stateMutability":"view","type":"function"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{"components()":{"notice":"Get the component registry Uint256Component (mapping from component address to component id)"},"getComponent(uint256)":{"notice":"Deprecated, but left here for backward compatibility. TODO: refactor all consumers. "},"getComponentIdFromAddress(address)":{"notice":"Deprecated, but left here for backward compatibility. TODO: refactor all consumers. "},"getSystemAddress(uint256)":{"notice":"Deprecated, but left here for backward compatibility. TODO: refactor all consumers. "},"getUniqueEntityId()":{"notice":"Get a new unique entity ID."},"hasEntity(uint256)":{"notice":"Check whether an entity exists in this world."},"init()":{"notice":"Initialize the World. Separated from the constructor to prevent circular dependencies."},"query((uint8,uint256,bytes)[])":{"notice":"Helper function to execute a query with query fragments referring to a component ID instead of a component address."},"registerComponent(address,uint256)":{"notice":"Register a new component in this World. ID must be unique."},"registerComponentValueRemoved(address,uint256)":{"notice":"Deprecated - use registerComponentValueRemoved(entity) instead Register a component value removal. Emits the `ComponentValueRemoved` event for clients to reconstruct the state."},"registerComponentValueRemoved(uint256)":{"notice":"Register a component value removal. Emits the `ComponentValueRemoved` event for clients to reconstruct the state."},"registerComponentValueSet(address,uint256,bytes)":{"notice":"Deprecated - use registerComponentValueSet(entity, data) instead Register a component value update. Emits the `ComponentValueSet` event for clients to reconstruct the state."},"registerComponentValueSet(uint256,bytes)":{"notice":"Register a component value update. Emits the `ComponentValueSet` event for clients to reconstruct the state."},"registerSystem(address,uint256)":{"notice":"Register a new system in this World. ID must be unique."},"systems()":{"notice":"Get the system registry Uint256Component (mapping from system address to system id)"}},"notice":"The `World` contract is at the core of every on-chain world. Entities, components and systems are registered in the `World`. Components register updates to their state via the `registerComponentValueSet` and `registerComponentValueRemoved` methods, which emit the `ComponentValueSet` and `ComponentValueRemoved` events respectively. Clients can reconstruct the entire state (of all components) by listening to these two events, instead of having to add a separate getter or event listener for every type of data. (Have a look at the MUD network package for a TypeScript implementation of contract/client state sync.) The `World` is an ownerless and permissionless contract. Anyone can register new components and systems in the world (via the `registerComponent` and `registerSystem` methods). Clients decide which components and systems they care about.","version":1}},"settings":{"compilationTarget":{"src/World.sol":"World"},"evmVersion":"london","libraries":{},"metadata":{"bytecodeHash":"ipfs"},"optimizer":{"enabled":true,"runs":3000},"remappings":[":@solidstate/=node_modules/@solidstate/",":ds-test/=node_modules/ds-test/src/",":forge-std/=node_modules/forge-std/src/",":memmove/=node_modules/memmove/src/",":solmate/=node_modules/solmate/src/"]},"sources":{"node_modules/@solidstate/contracts/access/ownable/IOwnable.sol":{"keccak256":"0xd2d21c507ed587cd5de6cc016d4b9c7e956e468108b784455a400301707031c1","license":"MIT","urls":["bzz-raw://091a98176309554295f1d471f888b1567d07e0250b11e23fa540739b6dfdce38","dweb:/ipfs/Qme69DrKhhtwkSBMU456C3NxzXNMC7AJ4sVNMg5rKcrtPn"]},"node_modules/@solidstate/contracts/access/ownable/IOwnableInternal.sol":{"keccak256":"0x6237a634712261bd82d5c7753780d35f77af215406d1e59512052f743f8f1c60","license":"MIT","urls":["bzz-raw://8e54ac6cd1b376224b8d148c704693ff3f7ac9f69954fd30ee3d949fa17210c3","dweb:/ipfs/QmWjq37K3gg29XhFbepg5GbmmFYoyXb81sh2K1MnVZqG6y"]},"node_modules/@solidstate/contracts/access/ownable/Ownable.sol":{"keccak256":"0xe16b09090c1251f8cc97fb2cc10c86675e0d0d9f0fc0032b417c37c8dba2db5f","license":"MIT","urls":["bzz-raw://8482effd630de3e3eb3c66ce6bc5ddd12838381e6e585df42116b4fd7764e4bc","dweb:/ipfs/Qma9ga6QS2SooCYKyB7J5EHE8uUGiAv49kosEyjHt9Zg79"]},"node_modules/@solidstate/contracts/access/ownable/OwnableInternal.sol":{"keccak256":"0x0185d24250a5e6fbafce443b9ba19bba761803e3e5d91ba423bfb1f5f0bbdbf9","license":"MIT","urls":["bzz-raw://547fadeaec559ee824f4dd37b2ef972a061ca59576f5733cf643e00d88a4db52","dweb:/ipfs/QmYx6rmRmZZQkoS8TykMVsz9ZvfQ8MfSPt6UzWJ8pyj8qF"]},"node_modules/@solidstate/contracts/access/ownable/OwnableStorage.sol":{"keccak256":"0x7385e2020de914f75cabdc83c6adf88ed21e9de14669a89b3832b80f4f8c7b73","license":"MIT","urls":["bzz-raw://a367c512bf29fb4923ed5d2454783e3dae88e5e03dec216e65c3986f3c3a8995","dweb:/ipfs/QmfYkD6osr6SQzod6wc7WPae6YvVnYbn2BjJuHrYL3ERXM"]},"node_modules/@solidstate/contracts/interfaces/IERC173.sol":{"keccak256":"0x9b18a5ad66323c65a81ecd62c3536db99115fe69a30b56a04409de941da7deb6","license":"MIT","urls":["bzz-raw://a93684363c5bfd4e31fa2cc2d3402e9451ba61c7dbb404e8e50658610fb2a555","dweb:/ipfs/QmanFgF5v5GjBBrAEYCpaZyXRFRvzLGgB8SQcSEf9Dkj5Q"]},"node_modules/@solidstate/contracts/interfaces/IERC173Internal.sol":{"keccak256":"0x9644c3e56c9ecd1763f8aaa437d5d573a7f64a8d93ad7bea1a9c44beb5911b89","license":"MIT","urls":["bzz-raw://c32cfda38b44878ab196d32eeb72823a9f9904e8193286c787caccfb2e5bfa75","dweb:/ipfs/QmfBNKWUSKaJtYL3JJ3YFioXCVFeeakqQ4cR5XzAxxZkCx"]},"node_modules/@solidstate/contracts/utils/AddressUtils.sol":{"keccak256":"0x7d924db4dbd9210923ab08db77db3c77438014c255fd49fa208ebce283d991bf","license":"MIT","urls":["bzz-raw://5189eebdf91899224a14b4cd5184fa9e67a9b8904e6d88ff9610944d06c63929","dweb:/ipfs/QmRwNhfcp98pPgbzK4i9hbypHLTWPGYpuRCtEJRCTNASRm"]},"node_modules/@solidstate/contracts/utils/UintUtils.sol":{"keccak256":"0x5aaeaea22a0800402c6f2d8ce6185293bc64f74f6c390c1b1c53b624b43972f8","license":"MIT","urls":["bzz-raw://8b1c95c745da8ca4de7b68e65ef9122dab4e748c3ae3c9f5fd5aa7c65887c9d2","dweb:/ipfs/QmX2KURY4JbM4NVFp5KPYsNxoJGA8n8w6SdAFdD5Pasgza"]},"node_modules/memmove/src/Array.sol":{"keccak256":"0x0d7681d3392c34f811cebc9598c5e8f4eef6aba431dca9e1fa87267ba51a4515","license":"MIT","urls":["bzz-raw://0ffb5179dd40ccacadc2cb26ac99e9ea5148796f6d21413d7e0f37913831bea1","dweb:/ipfs/QmfJogaoqook5JgnUZKib6w6khzViUag3EQb1EZ8aUEasQ"]},"node_modules/memmove/src/LinkedList.sol":{"keccak256":"0x2374863d39689178dda92b841e77b835ba8fa550561be23b7861d2e52c0fe8c1","license":"MIT","urls":["bzz-raw://8538ec6ca6be4e1b25b74dfd2139586fa2b9dab8d49d91428ed64dc683884598","dweb:/ipfs/Qma7Z6urenqG5Dzqwe8ouGiFH37mbsJEX83tqjSq1PTnRc"]},"src/BareComponent.sol":{"keccak256":"0x2cd722acd3cad5a9318bd5907a3d9f3849756727a5b2303eaf76aa7ea8caa65a","license":"MIT","urls":["bzz-raw://890e17cd1f2f2ed87c99ca7b9383f7eabb31570989247a81e268a636b163a89a","dweb:/ipfs/QmXJEKkMBQniSwHvC9aqHjRCaMohwkpPT7ssCtkL31j4FA"]},"src/Component.sol":{"keccak256":"0x40085c2f86bf6be7a756015025477aa46308b1618083ece93ae13093881a6874","license":"MIT","urls":["bzz-raw://ca8653540b5674e50abfd4b4898009b472fc7fd2fba456146c1a1c44b615d83a","dweb:/ipfs/QmSqbRng5fHuGUKgkFuNw3BfoefNteYU95sYi4g9QjCCNh"]},"src/LibQuery.sol":{"keccak256":"0x880ef5273d93926a8edb17b0314c5a7368a0da4ea4b818e354c89891b1080ba0","license":"MIT","urls":["bzz-raw://6163c65c40133c58326c9890d1db1feb4cb9291c4d15149d801ae52865df9f4c","dweb:/ipfs/QmdrfbUFc3ApNSYWWv4t7GMbaMwxwpPTJf8SfZHsH3X3Hd"]},"src/LibTypes.sol":{"keccak256":"0xa3898035fd9fa865bcfc9861e3b5ecce36be3196fb27705e50a02fed9831f102","license":"MIT","urls":["bzz-raw://273284a35a950f6d0bc4223d345cf46c59972a00510ddbc4ba695ede38714798","dweb:/ipfs/QmdqzKMaAfKWfBzUsrzsDMWnyxSKJRuEvrc6VTR5VarQaH"]},"src/MapSet.sol":{"keccak256":"0xe1a1f412b22d586c01a3e9e0e0af40893b880260f6765b9a5e23e56154dae1db","license":"MIT","urls":["bzz-raw://f8aeddb1af783e43e8ca8a004954016c9f00d9d217d86454b3a3839ef0981288","dweb:/ipfs/QmegHggcpmgGgL9xbZKqnWMwNMSqvs622MuhyEhR9bVfb9"]},"src/Ownable.sol":{"keccak256":"0x7572ffd98860b2539eacdbb2112ce3d25ad8521c5d95f91e21ea5588a6904209","license":"MIT","urls":["bzz-raw://3516b95146224d3fc04c5cc2818161fa9504a048894f6dd905b1e42307494fc4","dweb:/ipfs/QmTqvvAs1fSLzXVWjAgSt3TtE3MM3M1DFXRzkkSsixtVza"]},"src/OwnableWritable.sol":{"keccak256":"0x0e3e9a7ca8ee0a020753c233db1b757f09f3be37d9ea21614892311e6d29baaf","license":"MIT","urls":["bzz-raw://43d631dfbedce59f2f0d594bfd432eafaaa75e76a381368d309bbadb062ec76c","dweb:/ipfs/QmNjGZPJGAXf26HgMCUk68euquWUkKQ13sEyLMvkjTJ91A"]},"src/OwnableWritableStorage.sol":{"keccak256":"0x9f99bbacdfd6c5b0779bd18d3900dd4f957c5a0d89d5986815fae2eff8254df5","license":"MIT","urls":["bzz-raw://3ee736ebade674846118859290603b8ad2cc91efbe13e3621aa52fb4987cb0b4","dweb:/ipfs/QmNUzZS4LPhBCacrPNjbQXLV4anrvNxQ2yPEPETj3sgbzW"]},"src/Set.sol":{"keccak256":"0xcddfd88e4fd1c183470f470dbe5e6fdd48ed0d26bd1ccefb8070a476bc8ba344","license":"MIT","urls":["bzz-raw://e81ffd8a5b104abd04876a42d613378181009bae9368779223fabc1b1d514e46","dweb:/ipfs/QmUywR2WzJfzPn1bRkd7e6Sy6jo3q9AjuQWU55BHKUiNME"]},"src/System.sol":{"keccak256":"0xa26b5061fdcbb516111cebd798db1ac8d7733cbf562700aa9892276f3e40e1e7","license":"MIT","urls":["bzz-raw://471b323faa1baf8b14f3c0a4acf539643ac2fba105b13314066452ebaa228281","dweb:/ipfs/QmRmTjgggZcziB9FH2oPyQGQAAnxEsubiY1gDC1vQz6uWW"]},"src/SystemStorage.sol":{"keccak256":"0x3adf624854f860099d0911cdc51b29e6690e413f2c260e3536552d223fe77b2b","license":"MIT","urls":["bzz-raw://9fa473135604adb13a95583e6cc8092bc82be534bdcdd915e1f344eb78fc645d","dweb:/ipfs/QmYvRKgZ2iRVmSykLAtrrdsr27Eyg6QorhHGL5ZLE8wTTW"]},"src/World.sol":{"keccak256":"0xd5d4cbbed0168a14cb296251af17a4ecd35ab03c5160457e3860a91b4cc537e5","license":"MIT","urls":["bzz-raw://cb6ac8bcf8d5d2881238962382f9c8f5254cd25acc1db2761612c1f6518a1211","dweb:/ipfs/QmS1kbvSKzC5HgBMAJcnU18fya8YibAYRtoGeJLYXFbn2F"]},"src/components/Uint256Component.sol":{"keccak256":"0x6f4f16d1a14a8587d9bd21a7f33744d1ffb3cfd5309c6b8229236e5e2d84b465","license":"MIT","urls":["bzz-raw://2dde592cc08fb85378b2b4c263434122c4e4a19a10a6a0b5857c48b002571470","dweb:/ipfs/QmafCQgVugZuVfCNBQaFGFM2Qc9sWML4fG6Pct5ujRXt94"]},"src/constants.sol":{"keccak256":"0x024a3ff3077a272339b7baa96b826fd75f040d7cd2c6e13b9c8cf7ad16f789b8","license":"MIT","urls":["bzz-raw://1ddcb26a7703e9b03b34d5465010a4ae5ced137021c94987053544ad1156a644","dweb:/ipfs/QmYue4gnb8noyoxxTchs5chZji7DKynKMp2x33RgRW6xqZ"]},"src/interfaces/IComponent.sol":{"keccak256":"0xc25ab58cac1449fcd501ddcc56dade0653a7946adcd9eee2931bc095eda2a6b4","license":"MIT","urls":["bzz-raw://c9505da36322f3b3de4dc0aaf0aec911e76be6cbd091f4d142070a7316df4629","dweb:/ipfs/QmY5aGhwzBV5fXeLRDuzWMUfbPZGGdggbLdARhrkjmPBYW"]},"src/interfaces/IERC173.sol":{"keccak256":"0x2bd9a729a3bfcfc445bc557a914aee17fcaf1c0f74b909b6a91a5d3755a699e9","license":"MIT","urls":["bzz-raw://203741d681a686fb75f0715332e554083733f349100dfe11252c17fbe9cd094e","dweb:/ipfs/QmaBXDHiU4ZdJ8K5jQZ3FfswMpWEqSPsBWGFkJMU2qmmWi"]},"src/interfaces/IEntityContainer.sol":{"keccak256":"0x4506db1dcbdbe68a397107a57bfa3da888a889f14181a90eb728cfecc60700b8","license":"MIT","urls":["bzz-raw://23f5c02d110f5abf6340a08a2a8b7e0b5668f211fe6baf41213e6c4f69dece10","dweb:/ipfs/QmYfKeZMeEUNExsxjkCF5nGdw8KRyPe1t5tcGFTEkP7CkV"]},"src/interfaces/IEntityIndexer.sol":{"keccak256":"0xd89023b2a5e9961be3c9d49d9f7f9ac7dcc416e3f43a8758dc058d1db2eea6b5","license":"MIT","urls":["bzz-raw://3266ea1dd5a7f372f8814db24ac4981730f66fba8e6f90f614246ca5cec529b4","dweb:/ipfs/QmQ71BtaBsDjfke46dndaTBVhyXAHxs5qs7d9GHJwVXuvw"]},"src/interfaces/IOwnableWritable.sol":{"keccak256":"0x804db2685d65f5d4029431c47276b6ac43d3c329ea4ce75358928dbd4d11ee77","license":"MIT","urls":["bzz-raw://a1d85dfe46f678ce4cf3a788092519251a24c2c015f9e858a81111b506b0ee78","dweb:/ipfs/QmVmE4f8axCeh8V2kcs8nxYd27rSiwvXJbDbNCg3VZHSXY"]},"src/interfaces/ISystem.sol":{"keccak256":"0xbc1c0b0c72ab5e20ff7eae3cf53627aac367a2f9a65d2e87451a0313869d3bed","license":"MIT","urls":["bzz-raw://b2a7c4c30beb9b96c4e8112b9864f7bac5c761e61765e0dc359d926572feaa5a","dweb:/ipfs/QmVNJbky7itfqBBdDCh8anSWMaHhXs2mKhzuW7hbCVWgj3"]},"src/interfaces/IUint256Component.sol":{"keccak256":"0x12e2eaa4c5663048343e43a1994c446baacb16a4aacbe314ed5202d878751be9","license":"MIT","urls":["bzz-raw://2d78184a1b1868773f2d5a7cf54bb42bccc666dc75cea14eeed15b8573fd000f","dweb:/ipfs/QmemXPHPB7V8StWR8kZcKt3eDxB78sZFZW4Dp7TcEFTxx9"]},"src/interfaces/IWorld.sol":{"keccak256":"0xd4e257a8c2c2ddceba671d791df0556d40b15b06f6ca479784afb143d2919adf","license":"MIT","urls":["bzz-raw://dcf752a88f0679992ebea18e93de0c13bf0d840c222b764865c889c72349d9e1","dweb:/ipfs/QmaSpUThcJGNkZnz4uAHLJKdhYTeQQCSCKagDaTF8h9DJ7"]},"src/interfaces/Query.sol":{"keccak256":"0x987e47a4d3f076910382b4e8619f607ea15abdedd786d6095bd27126ff6f941c","license":"MIT","urls":["bzz-raw://8c3d57f9da85917b77e1043a179d3b516bc8c00a8880fdcb1bffca7e53169059","dweb:/ipfs/QmaHxqsT1ZpS8toN88qxgbeaDSMvnhYv9J9FMjVnKrMgoP"]},"src/systems/RegisterSystem.sol":{"keccak256":"0x5b238c1bacaa26480ae434f15754b9ad53856accb46ca41ce769713bbfc73f8f","license":"MIT","urls":["bzz-raw://c5449b9bf09030b85130d1fc3de196484d75459bea492175d13d01ec4d11e469","dweb:/ipfs/QmWPf9LREhwNLn2Bc1MYw9vQM1RN7Dstadh8NYsF5zrPTq"]},"src/utils.sol":{"keccak256":"0x17f7831c03bdd77f0c7d98c94931d830fbbfa1878c365f54b12841c85611e24e","license":"MIT","urls":["bzz-raw://6ae566ee03c5050b239277ef4184b9e5dcb332c8cc65b032f8e0d9e46408ea6d","dweb:/ipfs/QmetdhxahRf7FJk1kn8KgDmizU2zYk3jjt9qo6Gwz2M5YP"]}},"version":1}',
683
681
  metadata: {
684
682
  compiler: {
685
683
  version: "0.8.13+commit.abaa5c0e"
@@ -1093,16 +1091,11 @@ var World_default = {
1093
1091
  },
1094
1092
  settings: {
1095
1093
  remappings: [
1096
- ":@rari-capital/=../../node_modules/@rari-capital/",
1097
- ":@solidstate/=../../node_modules/@solidstate/",
1098
- ":abdk-libraries-solidity/=../../node_modules/abdk-libraries-solidity/",
1099
- ":base64-sol/=../../node_modules/base64-sol/",
1100
- ":create-mud/=../../node_modules/create-mud/",
1101
- ":ds-test/=../../node_modules/ds-test/src/",
1102
- ":forge-std/=../../node_modules/forge-std/src/",
1103
- ":hardhat/=../../node_modules/hardhat/",
1104
- ":memmove/=../../node_modules/memmove/src/",
1105
- ":solmate/=../../node_modules/@rari-capital/solmate/src/"
1094
+ ":@solidstate/=node_modules/@solidstate/",
1095
+ ":ds-test/=node_modules/ds-test/src/",
1096
+ ":forge-std/=node_modules/forge-std/src/",
1097
+ ":memmove/=node_modules/memmove/src/",
1098
+ ":solmate/=node_modules/solmate/src/"
1106
1099
  ],
1107
1100
  optimizer: {
1108
1101
  enabled: true,
@@ -1117,7 +1110,7 @@ var World_default = {
1117
1110
  libraries: {}
1118
1111
  },
1119
1112
  sources: {
1120
- "../../node_modules/@solidstate/contracts/access/ownable/IOwnable.sol": {
1113
+ "node_modules/@solidstate/contracts/access/ownable/IOwnable.sol": {
1121
1114
  keccak256: "0xd2d21c507ed587cd5de6cc016d4b9c7e956e468108b784455a400301707031c1",
1122
1115
  urls: [
1123
1116
  "bzz-raw://091a98176309554295f1d471f888b1567d07e0250b11e23fa540739b6dfdce38",
@@ -1125,7 +1118,7 @@ var World_default = {
1125
1118
  ],
1126
1119
  license: "MIT"
1127
1120
  },
1128
- "../../node_modules/@solidstate/contracts/access/ownable/IOwnableInternal.sol": {
1121
+ "node_modules/@solidstate/contracts/access/ownable/IOwnableInternal.sol": {
1129
1122
  keccak256: "0x6237a634712261bd82d5c7753780d35f77af215406d1e59512052f743f8f1c60",
1130
1123
  urls: [
1131
1124
  "bzz-raw://8e54ac6cd1b376224b8d148c704693ff3f7ac9f69954fd30ee3d949fa17210c3",
@@ -1133,7 +1126,7 @@ var World_default = {
1133
1126
  ],
1134
1127
  license: "MIT"
1135
1128
  },
1136
- "../../node_modules/@solidstate/contracts/access/ownable/Ownable.sol": {
1129
+ "node_modules/@solidstate/contracts/access/ownable/Ownable.sol": {
1137
1130
  keccak256: "0xe16b09090c1251f8cc97fb2cc10c86675e0d0d9f0fc0032b417c37c8dba2db5f",
1138
1131
  urls: [
1139
1132
  "bzz-raw://8482effd630de3e3eb3c66ce6bc5ddd12838381e6e585df42116b4fd7764e4bc",
@@ -1141,7 +1134,7 @@ var World_default = {
1141
1134
  ],
1142
1135
  license: "MIT"
1143
1136
  },
1144
- "../../node_modules/@solidstate/contracts/access/ownable/OwnableInternal.sol": {
1137
+ "node_modules/@solidstate/contracts/access/ownable/OwnableInternal.sol": {
1145
1138
  keccak256: "0x0185d24250a5e6fbafce443b9ba19bba761803e3e5d91ba423bfb1f5f0bbdbf9",
1146
1139
  urls: [
1147
1140
  "bzz-raw://547fadeaec559ee824f4dd37b2ef972a061ca59576f5733cf643e00d88a4db52",
@@ -1149,7 +1142,7 @@ var World_default = {
1149
1142
  ],
1150
1143
  license: "MIT"
1151
1144
  },
1152
- "../../node_modules/@solidstate/contracts/access/ownable/OwnableStorage.sol": {
1145
+ "node_modules/@solidstate/contracts/access/ownable/OwnableStorage.sol": {
1153
1146
  keccak256: "0x7385e2020de914f75cabdc83c6adf88ed21e9de14669a89b3832b80f4f8c7b73",
1154
1147
  urls: [
1155
1148
  "bzz-raw://a367c512bf29fb4923ed5d2454783e3dae88e5e03dec216e65c3986f3c3a8995",
@@ -1157,7 +1150,7 @@ var World_default = {
1157
1150
  ],
1158
1151
  license: "MIT"
1159
1152
  },
1160
- "../../node_modules/@solidstate/contracts/interfaces/IERC173.sol": {
1153
+ "node_modules/@solidstate/contracts/interfaces/IERC173.sol": {
1161
1154
  keccak256: "0x9b18a5ad66323c65a81ecd62c3536db99115fe69a30b56a04409de941da7deb6",
1162
1155
  urls: [
1163
1156
  "bzz-raw://a93684363c5bfd4e31fa2cc2d3402e9451ba61c7dbb404e8e50658610fb2a555",
@@ -1165,7 +1158,7 @@ var World_default = {
1165
1158
  ],
1166
1159
  license: "MIT"
1167
1160
  },
1168
- "../../node_modules/@solidstate/contracts/interfaces/IERC173Internal.sol": {
1161
+ "node_modules/@solidstate/contracts/interfaces/IERC173Internal.sol": {
1169
1162
  keccak256: "0x9644c3e56c9ecd1763f8aaa437d5d573a7f64a8d93ad7bea1a9c44beb5911b89",
1170
1163
  urls: [
1171
1164
  "bzz-raw://c32cfda38b44878ab196d32eeb72823a9f9904e8193286c787caccfb2e5bfa75",
@@ -1173,7 +1166,7 @@ var World_default = {
1173
1166
  ],
1174
1167
  license: "MIT"
1175
1168
  },
1176
- "../../node_modules/@solidstate/contracts/utils/AddressUtils.sol": {
1169
+ "node_modules/@solidstate/contracts/utils/AddressUtils.sol": {
1177
1170
  keccak256: "0x7d924db4dbd9210923ab08db77db3c77438014c255fd49fa208ebce283d991bf",
1178
1171
  urls: [
1179
1172
  "bzz-raw://5189eebdf91899224a14b4cd5184fa9e67a9b8904e6d88ff9610944d06c63929",
@@ -1181,7 +1174,7 @@ var World_default = {
1181
1174
  ],
1182
1175
  license: "MIT"
1183
1176
  },
1184
- "../../node_modules/@solidstate/contracts/utils/UintUtils.sol": {
1177
+ "node_modules/@solidstate/contracts/utils/UintUtils.sol": {
1185
1178
  keccak256: "0x5aaeaea22a0800402c6f2d8ce6185293bc64f74f6c390c1b1c53b624b43972f8",
1186
1179
  urls: [
1187
1180
  "bzz-raw://8b1c95c745da8ca4de7b68e65ef9122dab4e748c3ae3c9f5fd5aa7c65887c9d2",
@@ -1189,7 +1182,7 @@ var World_default = {
1189
1182
  ],
1190
1183
  license: "MIT"
1191
1184
  },
1192
- "../../node_modules/memmove/src/Array.sol": {
1185
+ "node_modules/memmove/src/Array.sol": {
1193
1186
  keccak256: "0x0d7681d3392c34f811cebc9598c5e8f4eef6aba431dca9e1fa87267ba51a4515",
1194
1187
  urls: [
1195
1188
  "bzz-raw://0ffb5179dd40ccacadc2cb26ac99e9ea5148796f6d21413d7e0f37913831bea1",
@@ -1197,7 +1190,7 @@ var World_default = {
1197
1190
  ],
1198
1191
  license: "MIT"
1199
1192
  },
1200
- "../../node_modules/memmove/src/LinkedList.sol": {
1193
+ "node_modules/memmove/src/LinkedList.sol": {
1201
1194
  keccak256: "0x2374863d39689178dda92b841e77b835ba8fa550561be23b7861d2e52c0fe8c1",
1202
1195
  urls: [
1203
1196
  "bzz-raw://8538ec6ca6be4e1b25b74dfd2139586fa2b9dab8d49d91428ed64dc683884598",
@@ -1294,10 +1287,10 @@ var World_default = {
1294
1287
  license: "MIT"
1295
1288
  },
1296
1289
  "src/World.sol": {
1297
- keccak256: "0x5eb54e585f9edeba68519e411e9a73a6d80460b01f87590f2b212f7ac511b9bd",
1290
+ keccak256: "0xd5d4cbbed0168a14cb296251af17a4ecd35ab03c5160457e3860a91b4cc537e5",
1298
1291
  urls: [
1299
- "bzz-raw://6caf469b0a696767bb72288b16d4dca20187daa9261cdca253671489738cf27c",
1300
- "dweb:/ipfs/QmbEoVs4VUh7uK8LTyS4A6jd9Fkkoix6tWPHAm2DZmkkVX"
1292
+ "bzz-raw://cb6ac8bcf8d5d2881238962382f9c8f5254cd25acc1db2761612c1f6518a1211",
1293
+ "dweb:/ipfs/QmS1kbvSKzC5HgBMAJcnU18fya8YibAYRtoGeJLYXFbn2F"
1301
1294
  ],
1302
1295
  license: "MIT"
1303
1296
  },
@@ -1374,10 +1367,10 @@ var World_default = {
1374
1367
  license: "MIT"
1375
1368
  },
1376
1369
  "src/interfaces/IWorld.sol": {
1377
- keccak256: "0x3ac1853f4cade8f432f5b3144e0c914b93f110ea3eabd85438cde39160716114",
1370
+ keccak256: "0xd4e257a8c2c2ddceba671d791df0556d40b15b06f6ca479784afb143d2919adf",
1378
1371
  urls: [
1379
- "bzz-raw://1f0ba421b481b66d43c9da4de63171a79ffadc708956893bddf10eec666a0f4a",
1380
- "dweb:/ipfs/QmdSyzQUDrP3MXt8JjgXt1QUgraUKBUPHE2CVzJiEwfMAK"
1372
+ "bzz-raw://dcf752a88f0679992ebea18e93de0c13bf0d840c222b764865c889c72349d9e1",
1373
+ "dweb:/ipfs/QmaSpUThcJGNkZnz4uAHLJKdhYTeQQCSCKagDaTF8h9DJ7"
1381
1374
  ],
1382
1375
  license: "MIT"
1383
1376
  },
@@ -1468,7 +1461,7 @@ var World_default = {
1468
1461
  ]
1469
1462
  },
1470
1463
  nodeType: "SourceUnit",
1471
- src: "32:7378:43",
1464
+ src: "32:7382:43",
1472
1465
  nodes: [
1473
1466
  {
1474
1467
  id: 16414,
@@ -1816,7 +1809,7 @@ var World_default = {
1816
1809
  {
1817
1810
  id: 16950,
1818
1811
  nodeType: "ContractDefinition",
1819
- src: "1597:5812:43",
1812
+ src: "1597:5816:43",
1820
1813
  nodes: [
1821
1814
  {
1822
1815
  id: 16450,
@@ -5016,12 +5009,12 @@ var World_default = {
5016
5009
  {
5017
5010
  id: 16728,
5018
5011
  nodeType: "FunctionDefinition",
5019
- src: "4443:259:43",
5012
+ src: "4443:261:43",
5020
5013
  nodes: [],
5021
5014
  body: {
5022
5015
  id: 16727,
5023
5016
  nodeType: "Block",
5024
- src: "4571:131:43",
5017
+ src: "4573:131:43",
5025
5018
  nodes: [],
5026
5019
  statements: [
5027
5020
  {
@@ -5033,7 +5026,7 @@ var World_default = {
5033
5026
  nodeType: "Identifier",
5034
5027
  overloadedDeclarations: [],
5035
5028
  referencedDeclaration: 16699,
5036
- src: "4595:6:43",
5029
+ src: "4597:6:43",
5037
5030
  typeDescriptions: {
5038
5031
  typeIdentifier: "t_uint256",
5039
5032
  typeString: "uint256"
@@ -5055,7 +5048,7 @@ var World_default = {
5055
5048
  nodeType: "Identifier",
5056
5049
  overloadedDeclarations: [],
5057
5050
  referencedDeclaration: 16450,
5058
- src: "4581:8:43",
5051
+ src: "4583:8:43",
5059
5052
  typeDescriptions: {
5060
5053
  typeIdentifier: "t_contract$_Set_$16225",
5061
5054
  typeString: "contract Set"
@@ -5074,7 +5067,7 @@ var World_default = {
5074
5067
  nodeType: "Identifier",
5075
5068
  overloadedDeclarations: [],
5076
5069
  referencedDeclaration: 16225,
5077
- src: "4577:3:43",
5070
+ src: "4579:3:43",
5078
5071
  typeDescriptions: {
5079
5072
  typeIdentifier: "t_type$_t_contract$_Set_$16225_$",
5080
5073
  typeString: "type(contract Set)"
@@ -5088,7 +5081,7 @@ var World_default = {
5088
5081
  lValueRequested: false,
5089
5082
  names: [],
5090
5083
  nodeType: "FunctionCall",
5091
- src: "4577:13:43",
5084
+ src: "4579:13:43",
5092
5085
  tryCall: false,
5093
5086
  typeDescriptions: {
5094
5087
  typeIdentifier: "t_contract$_Set_$16225",
@@ -5103,7 +5096,7 @@ var World_default = {
5103
5096
  memberName: "add",
5104
5097
  nodeType: "MemberAccess",
5105
5098
  referencedDeclaration: 16099,
5106
- src: "4577:17:43",
5099
+ src: "4579:17:43",
5107
5100
  typeDescriptions: {
5108
5101
  typeIdentifier: "t_function_external_nonpayable$_t_uint256_$returns$__$",
5109
5102
  typeString: "function (uint256) external"
@@ -5117,7 +5110,7 @@ var World_default = {
5117
5110
  lValueRequested: false,
5118
5111
  names: [],
5119
5112
  nodeType: "FunctionCall",
5120
- src: "4577:25:43",
5113
+ src: "4579:25:43",
5121
5114
  tryCall: false,
5122
5115
  typeDescriptions: {
5123
5116
  typeIdentifier: "t_tuple$__$",
@@ -5126,7 +5119,7 @@ var World_default = {
5126
5119
  },
5127
5120
  id: 16714,
5128
5121
  nodeType: "ExpressionStatement",
5129
- src: "4577:25:43"
5122
+ src: "4579:25:43"
5130
5123
  },
5131
5124
  {
5132
5125
  eventCall: {
@@ -5139,7 +5132,7 @@ var World_default = {
5139
5132
  nodeType: "Identifier",
5140
5133
  overloadedDeclarations: [],
5141
5134
  referencedDeclaration: 16453,
5142
- src: "4646:11:43",
5135
+ src: "4648:11:43",
5143
5136
  typeDescriptions: {
5144
5137
  typeIdentifier: "t_contract$_Uint256Component_$17073",
5145
5138
  typeString: "contract Uint256Component"
@@ -5152,7 +5145,7 @@ var World_default = {
5152
5145
  nodeType: "Identifier",
5153
5146
  overloadedDeclarations: [],
5154
5147
  referencedDeclaration: -15,
5155
- src: "4659:3:43",
5148
+ src: "4661:3:43",
5156
5149
  typeDescriptions: {
5157
5150
  typeIdentifier: "t_magic_message",
5158
5151
  typeString: "msg"
@@ -5165,7 +5158,7 @@ var World_default = {
5165
5158
  lValueRequested: false,
5166
5159
  memberName: "sender",
5167
5160
  nodeType: "MemberAccess",
5168
- src: "4659:10:43",
5161
+ src: "4661:10:43",
5169
5162
  typeDescriptions: {
5170
5163
  typeIdentifier: "t_address",
5171
5164
  typeString: "address"
@@ -5188,7 +5181,7 @@ var World_default = {
5188
5181
  nodeType: "Identifier",
5189
5182
  overloadedDeclarations: [],
5190
5183
  referencedDeclaration: 22718,
5191
- src: "4631:14:43",
5184
+ src: "4633:14:43",
5192
5185
  typeDescriptions: {
5193
5186
  typeIdentifier: "t_function_internal_view$_t_contract$_IUint256Component_$17286_$_t_address_$returns$_t_uint256_$",
5194
5187
  typeString: "function (contract IUint256Component,address) view returns (uint256)"
@@ -5202,7 +5195,7 @@ var World_default = {
5202
5195
  lValueRequested: false,
5203
5196
  names: [],
5204
5197
  nodeType: "FunctionCall",
5205
- src: "4631:39:43",
5198
+ src: "4633:39:43",
5206
5199
  tryCall: false,
5207
5200
  typeDescriptions: {
5208
5201
  typeIdentifier: "t_uint256",
@@ -5216,7 +5209,7 @@ var World_default = {
5216
5209
  nodeType: "Identifier",
5217
5210
  overloadedDeclarations: [],
5218
5211
  referencedDeclaration: -15,
5219
- src: "4672:3:43",
5212
+ src: "4674:3:43",
5220
5213
  typeDescriptions: {
5221
5214
  typeIdentifier: "t_magic_message",
5222
5215
  typeString: "msg"
@@ -5229,7 +5222,7 @@ var World_default = {
5229
5222
  lValueRequested: false,
5230
5223
  memberName: "sender",
5231
5224
  nodeType: "MemberAccess",
5232
- src: "4672:10:43",
5225
+ src: "4674:10:43",
5233
5226
  typeDescriptions: {
5234
5227
  typeIdentifier: "t_address",
5235
5228
  typeString: "address"
@@ -5241,7 +5234,7 @@ var World_default = {
5241
5234
  nodeType: "Identifier",
5242
5235
  overloadedDeclarations: [],
5243
5236
  referencedDeclaration: 16699,
5244
- src: "4684:6:43",
5237
+ src: "4686:6:43",
5245
5238
  typeDescriptions: {
5246
5239
  typeIdentifier: "t_uint256",
5247
5240
  typeString: "uint256"
@@ -5253,7 +5246,7 @@ var World_default = {
5253
5246
  nodeType: "Identifier",
5254
5247
  overloadedDeclarations: [],
5255
5248
  referencedDeclaration: 16701,
5256
- src: "4692:4:43",
5249
+ src: "4694:4:43",
5257
5250
  typeDescriptions: {
5258
5251
  typeIdentifier: "t_bytes_calldata_ptr",
5259
5252
  typeString: "bytes calldata"
@@ -5284,7 +5277,7 @@ var World_default = {
5284
5277
  nodeType: "Identifier",
5285
5278
  overloadedDeclarations: [],
5286
5279
  referencedDeclaration: 16469,
5287
- src: "4613:17:43",
5280
+ src: "4615:17:43",
5288
5281
  typeDescriptions: {
5289
5282
  typeIdentifier: "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$",
5290
5283
  typeString: "function (uint256,address,uint256,bytes memory)"
@@ -5298,7 +5291,7 @@ var World_default = {
5298
5291
  lValueRequested: false,
5299
5292
  names: [],
5300
5293
  nodeType: "FunctionCall",
5301
- src: "4613:84:43",
5294
+ src: "4615:84:43",
5302
5295
  tryCall: false,
5303
5296
  typeDescriptions: {
5304
5297
  typeIdentifier: "t_tuple$__$",
@@ -5307,7 +5300,7 @@ var World_default = {
5307
5300
  },
5308
5301
  id: 16726,
5309
5302
  nodeType: "EmitStatement",
5310
- src: "4608:89:43"
5303
+ src: "4610:89:43"
5311
5304
  }
5312
5305
  ]
5313
5306
  },
@@ -5333,7 +5326,7 @@ var World_default = {
5333
5326
  nodeType: "Identifier",
5334
5327
  overloadedDeclarations: [],
5335
5328
  referencedDeclaration: -15,
5336
- src: "4557:3:43",
5329
+ src: "4561:3:43",
5337
5330
  typeDescriptions: {
5338
5331
  typeIdentifier: "t_magic_message",
5339
5332
  typeString: "msg"
@@ -5346,7 +5339,7 @@ var World_default = {
5346
5339
  lValueRequested: false,
5347
5340
  memberName: "sender",
5348
5341
  nodeType: "MemberAccess",
5349
- src: "4557:10:43",
5342
+ src: "4561:10:43",
5350
5343
  typeDescriptions: {
5351
5344
  typeIdentifier: "t_address",
5352
5345
  typeString: "address"
@@ -5360,10 +5353,10 @@ var World_default = {
5360
5353
  name: "requireComponentRegistered",
5361
5354
  nodeType: "IdentifierPath",
5362
5355
  referencedDeclaration: 16658,
5363
- src: "4530:26:43"
5356
+ src: "4534:26:43"
5364
5357
  },
5365
5358
  nodeType: "ModifierInvocation",
5366
- src: "4530:38:43"
5359
+ src: "4534:38:43"
5367
5360
  }
5368
5361
  ],
5369
5362
  name: "registerComponentValueSet",
@@ -5377,10 +5370,10 @@ var World_default = {
5377
5370
  id: 16699,
5378
5371
  mutability: "mutable",
5379
5372
  name: "entity",
5380
- nameLocation: "4486:6:43",
5373
+ nameLocation: "4491:6:43",
5381
5374
  nodeType: "VariableDeclaration",
5382
5375
  scope: 16728,
5383
- src: "4478:14:43",
5376
+ src: "4483:14:43",
5384
5377
  stateVariable: false,
5385
5378
  storageLocation: "default",
5386
5379
  typeDescriptions: {
@@ -5391,7 +5384,7 @@ var World_default = {
5391
5384
  id: 16698,
5392
5385
  name: "uint256",
5393
5386
  nodeType: "ElementaryTypeName",
5394
- src: "4478:7:43",
5387
+ src: "4483:7:43",
5395
5388
  typeDescriptions: {
5396
5389
  typeIdentifier: "t_uint256",
5397
5390
  typeString: "uint256"
@@ -5404,10 +5397,10 @@ var World_default = {
5404
5397
  id: 16701,
5405
5398
  mutability: "mutable",
5406
5399
  name: "data",
5407
- nameLocation: "4509:4:43",
5400
+ nameLocation: "4518:4:43",
5408
5401
  nodeType: "VariableDeclaration",
5409
5402
  scope: 16728,
5410
- src: "4494:19:43",
5403
+ src: "4503:19:43",
5411
5404
  stateVariable: false,
5412
5405
  storageLocation: "calldata",
5413
5406
  typeDescriptions: {
@@ -5418,7 +5411,7 @@ var World_default = {
5418
5411
  id: 16700,
5419
5412
  name: "bytes",
5420
5413
  nodeType: "ElementaryTypeName",
5421
- src: "4494:5:43",
5414
+ src: "4503:5:43",
5422
5415
  typeDescriptions: {
5423
5416
  typeIdentifier: "t_bytes_storage_ptr",
5424
5417
  typeString: "bytes"
@@ -5427,13 +5420,13 @@ var World_default = {
5427
5420
  visibility: "internal"
5428
5421
  }
5429
5422
  ],
5430
- src: "4477:37:43"
5423
+ src: "4477:49:43"
5431
5424
  },
5432
5425
  returnParameters: {
5433
5426
  id: 16707,
5434
5427
  nodeType: "ParameterList",
5435
5428
  parameters: [],
5436
- src: "4571:0:43"
5429
+ src: "4573:0:43"
5437
5430
  },
5438
5431
  scope: 16950,
5439
5432
  stateMutability: "nonpayable",
@@ -5443,12 +5436,12 @@ var World_default = {
5443
5436
  {
5444
5437
  id: 16756,
5445
5438
  nodeType: "FunctionDefinition",
5446
- src: "4910:263:43",
5439
+ src: "4912:265:43",
5447
5440
  nodes: [],
5448
5441
  body: {
5449
5442
  id: 16755,
5450
5443
  nodeType: "Block",
5451
- src: "5039:134:43",
5444
+ src: "5043:134:43",
5452
5445
  nodes: [],
5453
5446
  statements: [
5454
5447
  {
@@ -5471,7 +5464,7 @@ var World_default = {
5471
5464
  nodeType: "Identifier",
5472
5465
  overloadedDeclarations: [],
5473
5466
  referencedDeclaration: -15,
5474
- src: "5053:3:43",
5467
+ src: "5057:3:43",
5475
5468
  typeDescriptions: {
5476
5469
  typeIdentifier: "t_magic_message",
5477
5470
  typeString: "msg"
@@ -5484,7 +5477,7 @@ var World_default = {
5484
5477
  lValueRequested: false,
5485
5478
  memberName: "sender",
5486
5479
  nodeType: "MemberAccess",
5487
- src: "5053:10:43",
5480
+ src: "5057:10:43",
5488
5481
  typeDescriptions: {
5489
5482
  typeIdentifier: "t_address",
5490
5483
  typeString: "address"
@@ -5498,13 +5491,13 @@ var World_default = {
5498
5491
  nodeType: "Identifier",
5499
5492
  overloadedDeclarations: [],
5500
5493
  referencedDeclaration: 16731,
5501
- src: "5067:9:43",
5494
+ src: "5071:9:43",
5502
5495
  typeDescriptions: {
5503
5496
  typeIdentifier: "t_address",
5504
5497
  typeString: "address"
5505
5498
  }
5506
5499
  },
5507
- src: "5053:23:43",
5500
+ src: "5057:23:43",
5508
5501
  typeDescriptions: {
5509
5502
  typeIdentifier: "t_bool",
5510
5503
  typeString: "bool"
@@ -5526,7 +5519,7 @@ var World_default = {
5526
5519
  -18
5527
5520
  ],
5528
5521
  referencedDeclaration: -18,
5529
- src: "5045:7:43",
5522
+ src: "5049:7:43",
5530
5523
  typeDescriptions: {
5531
5524
  typeIdentifier: "t_function_require_pure$_t_bool_$returns$__$",
5532
5525
  typeString: "function (bool) pure"
@@ -5540,7 +5533,7 @@ var World_default = {
5540
5533
  lValueRequested: false,
5541
5534
  names: [],
5542
5535
  nodeType: "FunctionCall",
5543
- src: "5045:32:43",
5536
+ src: "5049:32:43",
5544
5537
  tryCall: false,
5545
5538
  typeDescriptions: {
5546
5539
  typeIdentifier: "t_tuple$__$",
@@ -5549,7 +5542,7 @@ var World_default = {
5549
5542
  },
5550
5543
  id: 16745,
5551
5544
  nodeType: "ExpressionStatement",
5552
- src: "5045:32:43"
5545
+ src: "5049:32:43"
5553
5546
  },
5554
5547
  {
5555
5548
  eventCall: {
@@ -5562,7 +5555,7 @@ var World_default = {
5562
5555
  nodeType: "Identifier",
5563
5556
  overloadedDeclarations: [],
5564
5557
  referencedDeclaration: 16453,
5565
- src: "5125:11:43",
5558
+ src: "5129:11:43",
5566
5559
  typeDescriptions: {
5567
5560
  typeIdentifier: "t_contract$_Uint256Component_$17073",
5568
5561
  typeString: "contract Uint256Component"
@@ -5574,7 +5567,7 @@ var World_default = {
5574
5567
  nodeType: "Identifier",
5575
5568
  overloadedDeclarations: [],
5576
5569
  referencedDeclaration: 16731,
5577
- src: "5138:9:43",
5570
+ src: "5142:9:43",
5578
5571
  typeDescriptions: {
5579
5572
  typeIdentifier: "t_address",
5580
5573
  typeString: "address"
@@ -5597,7 +5590,7 @@ var World_default = {
5597
5590
  nodeType: "Identifier",
5598
5591
  overloadedDeclarations: [],
5599
5592
  referencedDeclaration: 22718,
5600
- src: "5110:14:43",
5593
+ src: "5114:14:43",
5601
5594
  typeDescriptions: {
5602
5595
  typeIdentifier: "t_function_internal_view$_t_contract$_IUint256Component_$17286_$_t_address_$returns$_t_uint256_$",
5603
5596
  typeString: "function (contract IUint256Component,address) view returns (uint256)"
@@ -5611,7 +5604,7 @@ var World_default = {
5611
5604
  lValueRequested: false,
5612
5605
  names: [],
5613
5606
  nodeType: "FunctionCall",
5614
- src: "5110:38:43",
5607
+ src: "5114:38:43",
5615
5608
  tryCall: false,
5616
5609
  typeDescriptions: {
5617
5610
  typeIdentifier: "t_uint256",
@@ -5624,7 +5617,7 @@ var World_default = {
5624
5617
  nodeType: "Identifier",
5625
5618
  overloadedDeclarations: [],
5626
5619
  referencedDeclaration: 16731,
5627
- src: "5150:9:43",
5620
+ src: "5154:9:43",
5628
5621
  typeDescriptions: {
5629
5622
  typeIdentifier: "t_address",
5630
5623
  typeString: "address"
@@ -5636,7 +5629,7 @@ var World_default = {
5636
5629
  nodeType: "Identifier",
5637
5630
  overloadedDeclarations: [],
5638
5631
  referencedDeclaration: 16733,
5639
- src: "5161:6:43",
5632
+ src: "5165:6:43",
5640
5633
  typeDescriptions: {
5641
5634
  typeIdentifier: "t_uint256",
5642
5635
  typeString: "uint256"
@@ -5663,7 +5656,7 @@ var World_default = {
5663
5656
  nodeType: "Identifier",
5664
5657
  overloadedDeclarations: [],
5665
5658
  referencedDeclaration: 16477,
5666
- src: "5088:21:43",
5659
+ src: "5092:21:43",
5667
5660
  typeDescriptions: {
5668
5661
  typeIdentifier: "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$",
5669
5662
  typeString: "function (uint256,address,uint256)"
@@ -5677,7 +5670,7 @@ var World_default = {
5677
5670
  lValueRequested: false,
5678
5671
  names: [],
5679
5672
  nodeType: "FunctionCall",
5680
- src: "5088:80:43",
5673
+ src: "5092:80:43",
5681
5674
  tryCall: false,
5682
5675
  typeDescriptions: {
5683
5676
  typeIdentifier: "t_tuple$__$",
@@ -5686,7 +5679,7 @@ var World_default = {
5686
5679
  },
5687
5680
  id: 16754,
5688
5681
  nodeType: "EmitStatement",
5689
- src: "5083:85:43"
5682
+ src: "5087:85:43"
5690
5683
  }
5691
5684
  ]
5692
5685
  },
@@ -5696,7 +5689,7 @@ var World_default = {
5696
5689
  documentation: {
5697
5690
  id: 16729,
5698
5691
  nodeType: "StructuredDocumentation",
5699
- src: "4706:201:43",
5692
+ src: "4708:201:43",
5700
5693
  text: " Deprecated - use registerComponentValueRemoved(entity) instead\n Register a component value removal.\n Emits the `ComponentValueRemoved` event for clients to reconstruct the state."
5701
5694
  },
5702
5695
  functionSelector: "d803064a",
@@ -5711,7 +5704,7 @@ var World_default = {
5711
5704
  nodeType: "Identifier",
5712
5705
  overloadedDeclarations: [],
5713
5706
  referencedDeclaration: 16731,
5714
- src: "5026:9:43",
5707
+ src: "5032:9:43",
5715
5708
  typeDescriptions: {
5716
5709
  typeIdentifier: "t_address",
5717
5710
  typeString: "address"
@@ -5725,14 +5718,14 @@ var World_default = {
5725
5718
  name: "requireComponentRegistered",
5726
5719
  nodeType: "IdentifierPath",
5727
5720
  referencedDeclaration: 16658,
5728
- src: "4999:26:43"
5721
+ src: "5005:26:43"
5729
5722
  },
5730
5723
  nodeType: "ModifierInvocation",
5731
- src: "4999:37:43"
5724
+ src: "5005:37:43"
5732
5725
  }
5733
5726
  ],
5734
5727
  name: "registerComponentValueRemoved",
5735
- nameLocation: "4919:29:43",
5728
+ nameLocation: "4921:29:43",
5736
5729
  parameters: {
5737
5730
  id: 16734,
5738
5731
  nodeType: "ParameterList",
@@ -5742,10 +5735,10 @@ var World_default = {
5742
5735
  id: 16731,
5743
5736
  mutability: "mutable",
5744
5737
  name: "component",
5745
- nameLocation: "4957:9:43",
5738
+ nameLocation: "4964:9:43",
5746
5739
  nodeType: "VariableDeclaration",
5747
5740
  scope: 16756,
5748
- src: "4949:17:43",
5741
+ src: "4956:17:43",
5749
5742
  stateVariable: false,
5750
5743
  storageLocation: "default",
5751
5744
  typeDescriptions: {
@@ -5756,7 +5749,7 @@ var World_default = {
5756
5749
  id: 16730,
5757
5750
  name: "address",
5758
5751
  nodeType: "ElementaryTypeName",
5759
- src: "4949:7:43",
5752
+ src: "4956:7:43",
5760
5753
  stateMutability: "nonpayable",
5761
5754
  typeDescriptions: {
5762
5755
  typeIdentifier: "t_address",
@@ -5770,10 +5763,10 @@ var World_default = {
5770
5763
  id: 16733,
5771
5764
  mutability: "mutable",
5772
5765
  name: "entity",
5773
- nameLocation: "4976:6:43",
5766
+ nameLocation: "4987:6:43",
5774
5767
  nodeType: "VariableDeclaration",
5775
5768
  scope: 16756,
5776
- src: "4968:14:43",
5769
+ src: "4979:14:43",
5777
5770
  stateVariable: false,
5778
5771
  storageLocation: "default",
5779
5772
  typeDescriptions: {
@@ -5784,7 +5777,7 @@ var World_default = {
5784
5777
  id: 16732,
5785
5778
  name: "uint256",
5786
5779
  nodeType: "ElementaryTypeName",
5787
- src: "4968:7:43",
5780
+ src: "4979:7:43",
5788
5781
  typeDescriptions: {
5789
5782
  typeIdentifier: "t_uint256",
5790
5783
  typeString: "uint256"
@@ -5793,13 +5786,13 @@ var World_default = {
5793
5786
  visibility: "internal"
5794
5787
  }
5795
5788
  ],
5796
- src: "4948:35:43"
5789
+ src: "4950:47:43"
5797
5790
  },
5798
5791
  returnParameters: {
5799
5792
  id: 16738,
5800
5793
  nodeType: "ParameterList",
5801
5794
  parameters: [],
5802
- src: "5039:0:43"
5795
+ src: "5043:0:43"
5803
5796
  },
5804
5797
  scope: 16950,
5805
5798
  stateMutability: "nonpayable",
@@ -5809,12 +5802,12 @@ var World_default = {
5809
5802
  {
5810
5803
  id: 16778,
5811
5804
  nodeType: "FunctionDefinition",
5812
- src: "5313:199:43",
5805
+ src: "5317:199:43",
5813
5806
  nodes: [],
5814
5807
  body: {
5815
5808
  id: 16777,
5816
5809
  nodeType: "Block",
5817
- src: "5414:98:43",
5810
+ src: "5418:98:43",
5818
5811
  nodes: [],
5819
5812
  statements: [
5820
5813
  {
@@ -5828,7 +5821,7 @@ var World_default = {
5828
5821
  nodeType: "Identifier",
5829
5822
  overloadedDeclarations: [],
5830
5823
  referencedDeclaration: 16453,
5831
- src: "5462:11:43",
5824
+ src: "5466:11:43",
5832
5825
  typeDescriptions: {
5833
5826
  typeIdentifier: "t_contract$_Uint256Component_$17073",
5834
5827
  typeString: "contract Uint256Component"
@@ -5841,7 +5834,7 @@ var World_default = {
5841
5834
  nodeType: "Identifier",
5842
5835
  overloadedDeclarations: [],
5843
5836
  referencedDeclaration: -15,
5844
- src: "5475:3:43",
5837
+ src: "5479:3:43",
5845
5838
  typeDescriptions: {
5846
5839
  typeIdentifier: "t_magic_message",
5847
5840
  typeString: "msg"
@@ -5854,7 +5847,7 @@ var World_default = {
5854
5847
  lValueRequested: false,
5855
5848
  memberName: "sender",
5856
5849
  nodeType: "MemberAccess",
5857
- src: "5475:10:43",
5850
+ src: "5479:10:43",
5858
5851
  typeDescriptions: {
5859
5852
  typeIdentifier: "t_address",
5860
5853
  typeString: "address"
@@ -5877,7 +5870,7 @@ var World_default = {
5877
5870
  nodeType: "Identifier",
5878
5871
  overloadedDeclarations: [],
5879
5872
  referencedDeclaration: 22718,
5880
- src: "5447:14:43",
5873
+ src: "5451:14:43",
5881
5874
  typeDescriptions: {
5882
5875
  typeIdentifier: "t_function_internal_view$_t_contract$_IUint256Component_$17286_$_t_address_$returns$_t_uint256_$",
5883
5876
  typeString: "function (contract IUint256Component,address) view returns (uint256)"
@@ -5891,7 +5884,7 @@ var World_default = {
5891
5884
  lValueRequested: false,
5892
5885
  names: [],
5893
5886
  nodeType: "FunctionCall",
5894
- src: "5447:39:43",
5887
+ src: "5451:39:43",
5895
5888
  tryCall: false,
5896
5889
  typeDescriptions: {
5897
5890
  typeIdentifier: "t_uint256",
@@ -5905,7 +5898,7 @@ var World_default = {
5905
5898
  nodeType: "Identifier",
5906
5899
  overloadedDeclarations: [],
5907
5900
  referencedDeclaration: -15,
5908
- src: "5488:3:43",
5901
+ src: "5492:3:43",
5909
5902
  typeDescriptions: {
5910
5903
  typeIdentifier: "t_magic_message",
5911
5904
  typeString: "msg"
@@ -5918,7 +5911,7 @@ var World_default = {
5918
5911
  lValueRequested: false,
5919
5912
  memberName: "sender",
5920
5913
  nodeType: "MemberAccess",
5921
- src: "5488:10:43",
5914
+ src: "5492:10:43",
5922
5915
  typeDescriptions: {
5923
5916
  typeIdentifier: "t_address",
5924
5917
  typeString: "address"
@@ -5930,7 +5923,7 @@ var World_default = {
5930
5923
  nodeType: "Identifier",
5931
5924
  overloadedDeclarations: [],
5932
5925
  referencedDeclaration: 16759,
5933
- src: "5500:6:43",
5926
+ src: "5504:6:43",
5934
5927
  typeDescriptions: {
5935
5928
  typeIdentifier: "t_uint256",
5936
5929
  typeString: "uint256"
@@ -5957,7 +5950,7 @@ var World_default = {
5957
5950
  nodeType: "Identifier",
5958
5951
  overloadedDeclarations: [],
5959
5952
  referencedDeclaration: 16477,
5960
- src: "5425:21:43",
5953
+ src: "5429:21:43",
5961
5954
  typeDescriptions: {
5962
5955
  typeIdentifier: "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$",
5963
5956
  typeString: "function (uint256,address,uint256)"
@@ -5971,7 +5964,7 @@ var World_default = {
5971
5964
  lValueRequested: false,
5972
5965
  names: [],
5973
5966
  nodeType: "FunctionCall",
5974
- src: "5425:82:43",
5967
+ src: "5429:82:43",
5975
5968
  tryCall: false,
5976
5969
  typeDescriptions: {
5977
5970
  typeIdentifier: "t_tuple$__$",
@@ -5980,7 +5973,7 @@ var World_default = {
5980
5973
  },
5981
5974
  id: 16776,
5982
5975
  nodeType: "EmitStatement",
5983
- src: "5420:87:43"
5976
+ src: "5424:87:43"
5984
5977
  }
5985
5978
  ]
5986
5979
  },
@@ -5990,7 +5983,7 @@ var World_default = {
5990
5983
  documentation: {
5991
5984
  id: 16757,
5992
5985
  nodeType: "StructuredDocumentation",
5993
- src: "5177:133:43",
5986
+ src: "5181:133:43",
5994
5987
  text: " Register a component value removal.\n Emits the `ComponentValueRemoved` event for clients to reconstruct the state."
5995
5988
  },
5996
5989
  functionSelector: "0de3b7b5",
@@ -6006,7 +5999,7 @@ var World_default = {
6006
5999
  nodeType: "Identifier",
6007
6000
  overloadedDeclarations: [],
6008
6001
  referencedDeclaration: -15,
6009
- src: "5402:3:43",
6002
+ src: "5406:3:43",
6010
6003
  typeDescriptions: {
6011
6004
  typeIdentifier: "t_magic_message",
6012
6005
  typeString: "msg"
@@ -6019,7 +6012,7 @@ var World_default = {
6019
6012
  lValueRequested: false,
6020
6013
  memberName: "sender",
6021
6014
  nodeType: "MemberAccess",
6022
- src: "5402:10:43",
6015
+ src: "5406:10:43",
6023
6016
  typeDescriptions: {
6024
6017
  typeIdentifier: "t_address",
6025
6018
  typeString: "address"
@@ -6033,14 +6026,14 @@ var World_default = {
6033
6026
  name: "requireComponentRegistered",
6034
6027
  nodeType: "IdentifierPath",
6035
6028
  referencedDeclaration: 16658,
6036
- src: "5375:26:43"
6029
+ src: "5379:26:43"
6037
6030
  },
6038
6031
  nodeType: "ModifierInvocation",
6039
- src: "5375:38:43"
6032
+ src: "5379:38:43"
6040
6033
  }
6041
6034
  ],
6042
6035
  name: "registerComponentValueRemoved",
6043
- nameLocation: "5322:29:43",
6036
+ nameLocation: "5326:29:43",
6044
6037
  parameters: {
6045
6038
  id: 16760,
6046
6039
  nodeType: "ParameterList",
@@ -6050,10 +6043,10 @@ var World_default = {
6050
6043
  id: 16759,
6051
6044
  mutability: "mutable",
6052
6045
  name: "entity",
6053
- nameLocation: "5360:6:43",
6046
+ nameLocation: "5364:6:43",
6054
6047
  nodeType: "VariableDeclaration",
6055
6048
  scope: 16778,
6056
- src: "5352:14:43",
6049
+ src: "5356:14:43",
6057
6050
  stateVariable: false,
6058
6051
  storageLocation: "default",
6059
6052
  typeDescriptions: {
@@ -6064,7 +6057,7 @@ var World_default = {
6064
6057
  id: 16758,
6065
6058
  name: "uint256",
6066
6059
  nodeType: "ElementaryTypeName",
6067
- src: "5352:7:43",
6060
+ src: "5356:7:43",
6068
6061
  typeDescriptions: {
6069
6062
  typeIdentifier: "t_uint256",
6070
6063
  typeString: "uint256"
@@ -6073,13 +6066,13 @@ var World_default = {
6073
6066
  visibility: "internal"
6074
6067
  }
6075
6068
  ],
6076
- src: "5351:16:43"
6069
+ src: "5355:16:43"
6077
6070
  },
6078
6071
  returnParameters: {
6079
6072
  id: 16765,
6080
6073
  nodeType: "ParameterList",
6081
6074
  parameters: [],
6082
- src: "5414:0:43"
6075
+ src: "5418:0:43"
6083
6076
  },
6084
6077
  scope: 16950,
6085
6078
  stateMutability: "nonpayable",
@@ -6089,12 +6082,12 @@ var World_default = {
6089
6082
  {
6090
6083
  id: 16792,
6091
6084
  nodeType: "FunctionDefinition",
6092
- src: "5609:115:43",
6085
+ src: "5613:115:43",
6093
6086
  nodes: [],
6094
6087
  body: {
6095
6088
  id: 16791,
6096
6089
  nodeType: "Block",
6097
- src: "5675:49:43",
6090
+ src: "5679:49:43",
6098
6091
  nodes: [],
6099
6092
  statements: [
6100
6093
  {
@@ -6106,7 +6099,7 @@ var World_default = {
6106
6099
  nodeType: "Identifier",
6107
6100
  overloadedDeclarations: [],
6108
6101
  referencedDeclaration: 16453,
6109
- src: "5703:11:43",
6102
+ src: "5707:11:43",
6110
6103
  typeDescriptions: {
6111
6104
  typeIdentifier: "t_contract$_Uint256Component_$17073",
6112
6105
  typeString: "contract Uint256Component"
@@ -6118,7 +6111,7 @@ var World_default = {
6118
6111
  nodeType: "Identifier",
6119
6112
  overloadedDeclarations: [],
6120
6113
  referencedDeclaration: 16781,
6121
- src: "5716:2:43",
6114
+ src: "5720:2:43",
6122
6115
  typeDescriptions: {
6123
6116
  typeIdentifier: "t_uint256",
6124
6117
  typeString: "uint256"
@@ -6141,7 +6134,7 @@ var World_default = {
6141
6134
  nodeType: "Identifier",
6142
6135
  overloadedDeclarations: [],
6143
6136
  referencedDeclaration: 22689,
6144
- src: "5688:14:43",
6137
+ src: "5692:14:43",
6145
6138
  typeDescriptions: {
6146
6139
  typeIdentifier: "t_function_internal_view$_t_contract$_IUint256Component_$17286_$_t_uint256_$returns$_t_address_$",
6147
6140
  typeString: "function (contract IUint256Component,uint256) view returns (address)"
@@ -6155,7 +6148,7 @@ var World_default = {
6155
6148
  lValueRequested: false,
6156
6149
  names: [],
6157
6150
  nodeType: "FunctionCall",
6158
- src: "5688:31:43",
6151
+ src: "5692:31:43",
6159
6152
  tryCall: false,
6160
6153
  typeDescriptions: {
6161
6154
  typeIdentifier: "t_address",
@@ -6165,7 +6158,7 @@ var World_default = {
6165
6158
  functionReturnParameters: 16785,
6166
6159
  id: 16790,
6167
6160
  nodeType: "Return",
6168
- src: "5681:38:43"
6161
+ src: "5685:38:43"
6169
6162
  }
6170
6163
  ]
6171
6164
  },
@@ -6175,7 +6168,7 @@ var World_default = {
6175
6168
  documentation: {
6176
6169
  id: 16779,
6177
6170
  nodeType: "StructuredDocumentation",
6178
- src: "5516:90:43",
6171
+ src: "5520:90:43",
6179
6172
  text: "Deprecated, but left here for backward compatibility. TODO: refactor all consumers. "
6180
6173
  },
6181
6174
  functionSelector: "4f27da18",
@@ -6183,7 +6176,7 @@ var World_default = {
6183
6176
  kind: "function",
6184
6177
  modifiers: [],
6185
6178
  name: "getComponent",
6186
- nameLocation: "5618:12:43",
6179
+ nameLocation: "5622:12:43",
6187
6180
  parameters: {
6188
6181
  id: 16782,
6189
6182
  nodeType: "ParameterList",
@@ -6193,10 +6186,10 @@ var World_default = {
6193
6186
  id: 16781,
6194
6187
  mutability: "mutable",
6195
6188
  name: "id",
6196
- nameLocation: "5639:2:43",
6189
+ nameLocation: "5643:2:43",
6197
6190
  nodeType: "VariableDeclaration",
6198
6191
  scope: 16792,
6199
- src: "5631:10:43",
6192
+ src: "5635:10:43",
6200
6193
  stateVariable: false,
6201
6194
  storageLocation: "default",
6202
6195
  typeDescriptions: {
@@ -6207,7 +6200,7 @@ var World_default = {
6207
6200
  id: 16780,
6208
6201
  name: "uint256",
6209
6202
  nodeType: "ElementaryTypeName",
6210
- src: "5631:7:43",
6203
+ src: "5635:7:43",
6211
6204
  typeDescriptions: {
6212
6205
  typeIdentifier: "t_uint256",
6213
6206
  typeString: "uint256"
@@ -6216,7 +6209,7 @@ var World_default = {
6216
6209
  visibility: "internal"
6217
6210
  }
6218
6211
  ],
6219
- src: "5630:12:43"
6212
+ src: "5634:12:43"
6220
6213
  },
6221
6214
  returnParameters: {
6222
6215
  id: 16785,
@@ -6230,7 +6223,7 @@ var World_default = {
6230
6223
  nameLocation: "-1:-1:-1",
6231
6224
  nodeType: "VariableDeclaration",
6232
6225
  scope: 16792,
6233
- src: "5666:7:43",
6226
+ src: "5670:7:43",
6234
6227
  stateVariable: false,
6235
6228
  storageLocation: "default",
6236
6229
  typeDescriptions: {
@@ -6241,7 +6234,7 @@ var World_default = {
6241
6234
  id: 16783,
6242
6235
  name: "address",
6243
6236
  nodeType: "ElementaryTypeName",
6244
- src: "5666:7:43",
6237
+ src: "5670:7:43",
6245
6238
  stateMutability: "nonpayable",
6246
6239
  typeDescriptions: {
6247
6240
  typeIdentifier: "t_address",
@@ -6251,7 +6244,7 @@ var World_default = {
6251
6244
  visibility: "internal"
6252
6245
  }
6253
6246
  ],
6254
- src: "5665:9:43"
6247
+ src: "5669:9:43"
6255
6248
  },
6256
6249
  scope: 16950,
6257
6250
  stateMutability: "view",
@@ -6261,12 +6254,12 @@ var World_default = {
6261
6254
  {
6262
6255
  id: 16806,
6263
6256
  nodeType: "FunctionDefinition",
6264
- src: "5821:150:43",
6257
+ src: "5825:150:43",
6265
6258
  nodes: [],
6266
6259
  body: {
6267
6260
  id: 16805,
6268
6261
  nodeType: "Block",
6269
- src: "5911:60:43",
6262
+ src: "5915:60:43",
6270
6263
  nodes: [],
6271
6264
  statements: [
6272
6265
  {
@@ -6278,7 +6271,7 @@ var World_default = {
6278
6271
  nodeType: "Identifier",
6279
6272
  overloadedDeclarations: [],
6280
6273
  referencedDeclaration: 16453,
6281
- src: "5939:11:43",
6274
+ src: "5943:11:43",
6282
6275
  typeDescriptions: {
6283
6276
  typeIdentifier: "t_contract$_Uint256Component_$17073",
6284
6277
  typeString: "contract Uint256Component"
@@ -6290,7 +6283,7 @@ var World_default = {
6290
6283
  nodeType: "Identifier",
6291
6284
  overloadedDeclarations: [],
6292
6285
  referencedDeclaration: 16795,
6293
- src: "5952:13:43",
6286
+ src: "5956:13:43",
6294
6287
  typeDescriptions: {
6295
6288
  typeIdentifier: "t_address",
6296
6289
  typeString: "address"
@@ -6313,7 +6306,7 @@ var World_default = {
6313
6306
  nodeType: "Identifier",
6314
6307
  overloadedDeclarations: [],
6315
6308
  referencedDeclaration: 22718,
6316
- src: "5924:14:43",
6309
+ src: "5928:14:43",
6317
6310
  typeDescriptions: {
6318
6311
  typeIdentifier: "t_function_internal_view$_t_contract$_IUint256Component_$17286_$_t_address_$returns$_t_uint256_$",
6319
6312
  typeString: "function (contract IUint256Component,address) view returns (uint256)"
@@ -6327,7 +6320,7 @@ var World_default = {
6327
6320
  lValueRequested: false,
6328
6321
  names: [],
6329
6322
  nodeType: "FunctionCall",
6330
- src: "5924:42:43",
6323
+ src: "5928:42:43",
6331
6324
  tryCall: false,
6332
6325
  typeDescriptions: {
6333
6326
  typeIdentifier: "t_uint256",
@@ -6337,7 +6330,7 @@ var World_default = {
6337
6330
  functionReturnParameters: 16799,
6338
6331
  id: 16804,
6339
6332
  nodeType: "Return",
6340
- src: "5917:49:43"
6333
+ src: "5921:49:43"
6341
6334
  }
6342
6335
  ]
6343
6336
  },
@@ -6347,7 +6340,7 @@ var World_default = {
6347
6340
  documentation: {
6348
6341
  id: 16793,
6349
6342
  nodeType: "StructuredDocumentation",
6350
- src: "5728:90:43",
6343
+ src: "5732:90:43",
6351
6344
  text: "Deprecated, but left here for backward compatibility. TODO: refactor all consumers. "
6352
6345
  },
6353
6346
  functionSelector: "9f54f545",
@@ -6355,7 +6348,7 @@ var World_default = {
6355
6348
  kind: "function",
6356
6349
  modifiers: [],
6357
6350
  name: "getComponentIdFromAddress",
6358
- nameLocation: "5830:25:43",
6351
+ nameLocation: "5834:25:43",
6359
6352
  parameters: {
6360
6353
  id: 16796,
6361
6354
  nodeType: "ParameterList",
@@ -6365,10 +6358,10 @@ var World_default = {
6365
6358
  id: 16795,
6366
6359
  mutability: "mutable",
6367
6360
  name: "componentAddr",
6368
- nameLocation: "5864:13:43",
6361
+ nameLocation: "5868:13:43",
6369
6362
  nodeType: "VariableDeclaration",
6370
6363
  scope: 16806,
6371
- src: "5856:21:43",
6364
+ src: "5860:21:43",
6372
6365
  stateVariable: false,
6373
6366
  storageLocation: "default",
6374
6367
  typeDescriptions: {
@@ -6379,7 +6372,7 @@ var World_default = {
6379
6372
  id: 16794,
6380
6373
  name: "address",
6381
6374
  nodeType: "ElementaryTypeName",
6382
- src: "5856:7:43",
6375
+ src: "5860:7:43",
6383
6376
  stateMutability: "nonpayable",
6384
6377
  typeDescriptions: {
6385
6378
  typeIdentifier: "t_address",
@@ -6389,7 +6382,7 @@ var World_default = {
6389
6382
  visibility: "internal"
6390
6383
  }
6391
6384
  ],
6392
- src: "5855:23:43"
6385
+ src: "5859:23:43"
6393
6386
  },
6394
6387
  returnParameters: {
6395
6388
  id: 16799,
@@ -6403,7 +6396,7 @@ var World_default = {
6403
6396
  nameLocation: "-1:-1:-1",
6404
6397
  nodeType: "VariableDeclaration",
6405
6398
  scope: 16806,
6406
- src: "5902:7:43",
6399
+ src: "5906:7:43",
6407
6400
  stateVariable: false,
6408
6401
  storageLocation: "default",
6409
6402
  typeDescriptions: {
@@ -6414,7 +6407,7 @@ var World_default = {
6414
6407
  id: 16797,
6415
6408
  name: "uint256",
6416
6409
  nodeType: "ElementaryTypeName",
6417
- src: "5902:7:43",
6410
+ src: "5906:7:43",
6418
6411
  typeDescriptions: {
6419
6412
  typeIdentifier: "t_uint256",
6420
6413
  typeString: "uint256"
@@ -6423,7 +6416,7 @@ var World_default = {
6423
6416
  visibility: "internal"
6424
6417
  }
6425
6418
  ],
6426
- src: "5901:9:43"
6419
+ src: "5905:9:43"
6427
6420
  },
6428
6421
  scope: 16950,
6429
6422
  stateMutability: "view",
@@ -6433,12 +6426,12 @@ var World_default = {
6433
6426
  {
6434
6427
  id: 16820,
6435
6428
  nodeType: "FunctionDefinition",
6436
- src: "6068:128:43",
6429
+ src: "6072:128:43",
6437
6430
  nodes: [],
6438
6431
  body: {
6439
6432
  id: 16819,
6440
6433
  nodeType: "Block",
6441
- src: "6144:52:43",
6434
+ src: "6148:52:43",
6442
6435
  nodes: [],
6443
6436
  statements: [
6444
6437
  {
@@ -6450,7 +6443,7 @@ var World_default = {
6450
6443
  nodeType: "Identifier",
6451
6444
  overloadedDeclarations: [],
6452
6445
  referencedDeclaration: 16456,
6453
- src: "6172:8:43",
6446
+ src: "6176:8:43",
6454
6447
  typeDescriptions: {
6455
6448
  typeIdentifier: "t_contract$_Uint256Component_$17073",
6456
6449
  typeString: "contract Uint256Component"
@@ -6462,7 +6455,7 @@ var World_default = {
6462
6455
  nodeType: "Identifier",
6463
6456
  overloadedDeclarations: [],
6464
6457
  referencedDeclaration: 16809,
6465
- src: "6182:8:43",
6458
+ src: "6186:8:43",
6466
6459
  typeDescriptions: {
6467
6460
  typeIdentifier: "t_uint256",
6468
6461
  typeString: "uint256"
@@ -6485,7 +6478,7 @@ var World_default = {
6485
6478
  nodeType: "Identifier",
6486
6479
  overloadedDeclarations: [],
6487
6480
  referencedDeclaration: 22689,
6488
- src: "6157:14:43",
6481
+ src: "6161:14:43",
6489
6482
  typeDescriptions: {
6490
6483
  typeIdentifier: "t_function_internal_view$_t_contract$_IUint256Component_$17286_$_t_uint256_$returns$_t_address_$",
6491
6484
  typeString: "function (contract IUint256Component,uint256) view returns (address)"
@@ -6499,7 +6492,7 @@ var World_default = {
6499
6492
  lValueRequested: false,
6500
6493
  names: [],
6501
6494
  nodeType: "FunctionCall",
6502
- src: "6157:34:43",
6495
+ src: "6161:34:43",
6503
6496
  tryCall: false,
6504
6497
  typeDescriptions: {
6505
6498
  typeIdentifier: "t_address",
@@ -6509,14 +6502,14 @@ var World_default = {
6509
6502
  functionReturnParameters: 16813,
6510
6503
  id: 16818,
6511
6504
  nodeType: "Return",
6512
- src: "6150:41:43"
6505
+ src: "6154:41:43"
6513
6506
  }
6514
6507
  ]
6515
6508
  },
6516
6509
  documentation: {
6517
6510
  id: 16807,
6518
6511
  nodeType: "StructuredDocumentation",
6519
- src: "5975:90:43",
6512
+ src: "5979:90:43",
6520
6513
  text: "Deprecated, but left here for backward compatibility. TODO: refactor all consumers. "
6521
6514
  },
6522
6515
  functionSelector: "fb3ec48b",
@@ -6524,7 +6517,7 @@ var World_default = {
6524
6517
  kind: "function",
6525
6518
  modifiers: [],
6526
6519
  name: "getSystemAddress",
6527
- nameLocation: "6077:16:43",
6520
+ nameLocation: "6081:16:43",
6528
6521
  parameters: {
6529
6522
  id: 16810,
6530
6523
  nodeType: "ParameterList",
@@ -6534,10 +6527,10 @@ var World_default = {
6534
6527
  id: 16809,
6535
6528
  mutability: "mutable",
6536
6529
  name: "systemId",
6537
- nameLocation: "6102:8:43",
6530
+ nameLocation: "6106:8:43",
6538
6531
  nodeType: "VariableDeclaration",
6539
6532
  scope: 16820,
6540
- src: "6094:16:43",
6533
+ src: "6098:16:43",
6541
6534
  stateVariable: false,
6542
6535
  storageLocation: "default",
6543
6536
  typeDescriptions: {
@@ -6548,7 +6541,7 @@ var World_default = {
6548
6541
  id: 16808,
6549
6542
  name: "uint256",
6550
6543
  nodeType: "ElementaryTypeName",
6551
- src: "6094:7:43",
6544
+ src: "6098:7:43",
6552
6545
  typeDescriptions: {
6553
6546
  typeIdentifier: "t_uint256",
6554
6547
  typeString: "uint256"
@@ -6557,7 +6550,7 @@ var World_default = {
6557
6550
  visibility: "internal"
6558
6551
  }
6559
6552
  ],
6560
- src: "6093:18:43"
6553
+ src: "6097:18:43"
6561
6554
  },
6562
6555
  returnParameters: {
6563
6556
  id: 16813,
@@ -6571,7 +6564,7 @@ var World_default = {
6571
6564
  nameLocation: "-1:-1:-1",
6572
6565
  nodeType: "VariableDeclaration",
6573
6566
  scope: 16820,
6574
- src: "6135:7:43",
6567
+ src: "6139:7:43",
6575
6568
  stateVariable: false,
6576
6569
  storageLocation: "default",
6577
6570
  typeDescriptions: {
@@ -6582,7 +6575,7 @@ var World_default = {
6582
6575
  id: 16811,
6583
6576
  name: "address",
6584
6577
  nodeType: "ElementaryTypeName",
6585
- src: "6135:7:43",
6578
+ src: "6139:7:43",
6586
6579
  stateMutability: "nonpayable",
6587
6580
  typeDescriptions: {
6588
6581
  typeIdentifier: "t_address",
@@ -6592,7 +6585,7 @@ var World_default = {
6592
6585
  visibility: "internal"
6593
6586
  }
6594
6587
  ],
6595
- src: "6134:9:43"
6588
+ src: "6138:9:43"
6596
6589
  },
6597
6590
  scope: 16950,
6598
6591
  stateMutability: "view",
@@ -6602,12 +6595,12 @@ var World_default = {
6602
6595
  {
6603
6596
  id: 16832,
6604
6597
  nodeType: "FunctionDefinition",
6605
- src: "6200:94:43",
6598
+ src: "6204:94:43",
6606
6599
  nodes: [],
6607
6600
  body: {
6608
6601
  id: 16831,
6609
6602
  nodeType: "Block",
6610
- src: "6256:38:43",
6603
+ src: "6260:38:43",
6611
6604
  nodes: [],
6612
6605
  statements: [
6613
6606
  {
@@ -6623,7 +6616,7 @@ var World_default = {
6623
6616
  nodeType: "Identifier",
6624
6617
  overloadedDeclarations: [],
6625
6618
  referencedDeclaration: 16450,
6626
- src: "6273:8:43",
6619
+ src: "6277:8:43",
6627
6620
  typeDescriptions: {
6628
6621
  typeIdentifier: "t_contract$_Set_$16225",
6629
6622
  typeString: "contract Set"
@@ -6642,7 +6635,7 @@ var World_default = {
6642
6635
  nodeType: "Identifier",
6643
6636
  overloadedDeclarations: [],
6644
6637
  referencedDeclaration: 16225,
6645
- src: "6269:3:43",
6638
+ src: "6273:3:43",
6646
6639
  typeDescriptions: {
6647
6640
  typeIdentifier: "t_type$_t_contract$_Set_$16225_$",
6648
6641
  typeString: "type(contract Set)"
@@ -6656,7 +6649,7 @@ var World_default = {
6656
6649
  lValueRequested: false,
6657
6650
  names: [],
6658
6651
  nodeType: "FunctionCall",
6659
- src: "6269:13:43",
6652
+ src: "6273:13:43",
6660
6653
  tryCall: false,
6661
6654
  typeDescriptions: {
6662
6655
  typeIdentifier: "t_contract$_Set_$16225",
@@ -6671,7 +6664,7 @@ var World_default = {
6671
6664
  memberName: "size",
6672
6665
  nodeType: "MemberAccess",
6673
6666
  referencedDeclaration: 16224,
6674
- src: "6269:18:43",
6667
+ src: "6273:18:43",
6675
6668
  typeDescriptions: {
6676
6669
  typeIdentifier: "t_function_external_view$__$returns$_t_uint256_$",
6677
6670
  typeString: "function () view external returns (uint256)"
@@ -6685,7 +6678,7 @@ var World_default = {
6685
6678
  lValueRequested: false,
6686
6679
  names: [],
6687
6680
  nodeType: "FunctionCall",
6688
- src: "6269:20:43",
6681
+ src: "6273:20:43",
6689
6682
  tryCall: false,
6690
6683
  typeDescriptions: {
6691
6684
  typeIdentifier: "t_uint256",
@@ -6695,7 +6688,7 @@ var World_default = {
6695
6688
  functionReturnParameters: 16824,
6696
6689
  id: 16830,
6697
6690
  nodeType: "Return",
6698
- src: "6262:27:43"
6691
+ src: "6266:27:43"
6699
6692
  }
6700
6693
  ]
6701
6694
  },
@@ -6707,12 +6700,12 @@ var World_default = {
6707
6700
  kind: "function",
6708
6701
  modifiers: [],
6709
6702
  name: "getNumEntities",
6710
- nameLocation: "6209:14:43",
6703
+ nameLocation: "6213:14:43",
6711
6704
  parameters: {
6712
6705
  id: 16821,
6713
6706
  nodeType: "ParameterList",
6714
6707
  parameters: [],
6715
- src: "6223:2:43"
6708
+ src: "6227:2:43"
6716
6709
  },
6717
6710
  returnParameters: {
6718
6711
  id: 16824,
@@ -6726,7 +6719,7 @@ var World_default = {
6726
6719
  nameLocation: "-1:-1:-1",
6727
6720
  nodeType: "VariableDeclaration",
6728
6721
  scope: 16832,
6729
- src: "6247:7:43",
6722
+ src: "6251:7:43",
6730
6723
  stateVariable: false,
6731
6724
  storageLocation: "default",
6732
6725
  typeDescriptions: {
@@ -6737,7 +6730,7 @@ var World_default = {
6737
6730
  id: 16822,
6738
6731
  name: "uint256",
6739
6732
  nodeType: "ElementaryTypeName",
6740
- src: "6247:7:43",
6733
+ src: "6251:7:43",
6741
6734
  typeDescriptions: {
6742
6735
  typeIdentifier: "t_uint256",
6743
6736
  typeString: "uint256"
@@ -6746,7 +6739,7 @@ var World_default = {
6746
6739
  visibility: "internal"
6747
6740
  }
6748
6741
  ],
6749
- src: "6246:9:43"
6742
+ src: "6250:9:43"
6750
6743
  },
6751
6744
  scope: 16950,
6752
6745
  stateMutability: "view",
@@ -6756,12 +6749,12 @@ var World_default = {
6756
6749
  {
6757
6750
  id: 16896,
6758
6751
  nodeType: "FunctionDefinition",
6759
- src: "6431:500:43",
6752
+ src: "6435:500:43",
6760
6753
  nodes: [],
6761
6754
  body: {
6762
6755
  id: 16895,
6763
6756
  nodeType: "Block",
6764
- src: "6536:395:43",
6757
+ src: "6540:395:43",
6765
6758
  nodes: [],
6766
6759
  statements: [
6767
6760
  {
@@ -6774,10 +6767,10 @@ var World_default = {
6774
6767
  id: 16847,
6775
6768
  mutability: "mutable",
6776
6769
  name: "fragments",
6777
- nameLocation: "6565:9:43",
6770
+ nameLocation: "6569:9:43",
6778
6771
  nodeType: "VariableDeclaration",
6779
6772
  scope: 16895,
6780
- src: "6542:32:43",
6773
+ src: "6546:32:43",
6781
6774
  stateVariable: false,
6782
6775
  storageLocation: "memory",
6783
6776
  typeDescriptions: {
@@ -6793,10 +6786,10 @@ var World_default = {
6793
6786
  name: "QueryFragment",
6794
6787
  nodeType: "IdentifierPath",
6795
6788
  referencedDeclaration: 17421,
6796
- src: "6542:13:43"
6789
+ src: "6546:13:43"
6797
6790
  },
6798
6791
  referencedDeclaration: 17421,
6799
- src: "6542:13:43",
6792
+ src: "6546:13:43",
6800
6793
  typeDescriptions: {
6801
6794
  typeIdentifier: "t_struct$_QueryFragment_$17421_storage_ptr",
6802
6795
  typeString: "struct QueryFragment"
@@ -6804,7 +6797,7 @@ var World_default = {
6804
6797
  },
6805
6798
  id: 16846,
6806
6799
  nodeType: "ArrayTypeName",
6807
- src: "6542:15:43",
6800
+ src: "6546:15:43",
6808
6801
  typeDescriptions: {
6809
6802
  typeIdentifier: "t_array$_t_struct$_QueryFragment_$17421_storage_$dyn_storage_ptr",
6810
6803
  typeString: "struct QueryFragment[]"
@@ -6823,7 +6816,7 @@ var World_default = {
6823
6816
  nodeType: "Identifier",
6824
6817
  overloadedDeclarations: [],
6825
6818
  referencedDeclaration: 16837,
6826
- src: "6597:19:43",
6819
+ src: "6601:19:43",
6827
6820
  typeDescriptions: {
6828
6821
  typeIdentifier: "t_array$_t_struct$_WorldQueryFragment_$17300_calldata_ptr_$dyn_calldata_ptr",
6829
6822
  typeString: "struct WorldQueryFragment calldata[] calldata"
@@ -6836,7 +6829,7 @@ var World_default = {
6836
6829
  lValueRequested: false,
6837
6830
  memberName: "length",
6838
6831
  nodeType: "MemberAccess",
6839
- src: "6597:26:43",
6832
+ src: "6601:26:43",
6840
6833
  typeDescriptions: {
6841
6834
  typeIdentifier: "t_uint256",
6842
6835
  typeString: "uint256"
@@ -6856,7 +6849,7 @@ var World_default = {
6856
6849
  isPure: true,
6857
6850
  lValueRequested: false,
6858
6851
  nodeType: "NewExpression",
6859
- src: "6577:19:43",
6852
+ src: "6581:19:43",
6860
6853
  typeDescriptions: {
6861
6854
  typeIdentifier: "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_QueryFragment_$17421_memory_ptr_$dyn_memory_ptr_$",
6862
6855
  typeString: "function (uint256) pure returns (struct QueryFragment memory[] memory)"
@@ -6870,10 +6863,10 @@ var World_default = {
6870
6863
  name: "QueryFragment",
6871
6864
  nodeType: "IdentifierPath",
6872
6865
  referencedDeclaration: 17421,
6873
- src: "6581:13:43"
6866
+ src: "6585:13:43"
6874
6867
  },
6875
6868
  referencedDeclaration: 17421,
6876
- src: "6581:13:43",
6869
+ src: "6585:13:43",
6877
6870
  typeDescriptions: {
6878
6871
  typeIdentifier: "t_struct$_QueryFragment_$17421_storage_ptr",
6879
6872
  typeString: "struct QueryFragment"
@@ -6881,7 +6874,7 @@ var World_default = {
6881
6874
  },
6882
6875
  id: 16850,
6883
6876
  nodeType: "ArrayTypeName",
6884
- src: "6581:15:43",
6877
+ src: "6585:15:43",
6885
6878
  typeDescriptions: {
6886
6879
  typeIdentifier: "t_array$_t_struct$_QueryFragment_$17421_storage_$dyn_storage_ptr",
6887
6880
  typeString: "struct QueryFragment[]"
@@ -6896,7 +6889,7 @@ var World_default = {
6896
6889
  lValueRequested: false,
6897
6890
  names: [],
6898
6891
  nodeType: "FunctionCall",
6899
- src: "6577:47:43",
6892
+ src: "6581:47:43",
6900
6893
  tryCall: false,
6901
6894
  typeDescriptions: {
6902
6895
  typeIdentifier: "t_array$_t_struct$_QueryFragment_$17421_memory_ptr_$dyn_memory_ptr",
@@ -6904,13 +6897,13 @@ var World_default = {
6904
6897
  }
6905
6898
  },
6906
6899
  nodeType: "VariableDeclarationStatement",
6907
- src: "6542:82:43"
6900
+ src: "6546:82:43"
6908
6901
  },
6909
6902
  {
6910
6903
  body: {
6911
6904
  id: 16888,
6912
6905
  nodeType: "Block",
6913
- src: "6683:206:43",
6906
+ src: "6687:206:43",
6914
6907
  statements: [
6915
6908
  {
6916
6909
  expression: {
@@ -6926,7 +6919,7 @@ var World_default = {
6926
6919
  nodeType: "Identifier",
6927
6920
  overloadedDeclarations: [],
6928
6921
  referencedDeclaration: 16847,
6929
- src: "6691:9:43",
6922
+ src: "6695:9:43",
6930
6923
  typeDescriptions: {
6931
6924
  typeIdentifier: "t_array$_t_struct$_QueryFragment_$17421_memory_ptr_$dyn_memory_ptr",
6932
6925
  typeString: "struct QueryFragment memory[] memory"
@@ -6939,7 +6932,7 @@ var World_default = {
6939
6932
  nodeType: "Identifier",
6940
6933
  overloadedDeclarations: [],
6941
6934
  referencedDeclaration: 16857,
6942
- src: "6701:1:43",
6935
+ src: "6705:1:43",
6943
6936
  typeDescriptions: {
6944
6937
  typeIdentifier: "t_uint256",
6945
6938
  typeString: "uint256"
@@ -6950,7 +6943,7 @@ var World_default = {
6950
6943
  isPure: false,
6951
6944
  lValueRequested: true,
6952
6945
  nodeType: "IndexAccess",
6953
- src: "6691:12:43",
6946
+ src: "6695:12:43",
6954
6947
  typeDescriptions: {
6955
6948
  typeIdentifier: "t_struct$_QueryFragment_$17421_memory_ptr",
6956
6949
  typeString: "struct QueryFragment memory"
@@ -6968,7 +6961,7 @@ var World_default = {
6968
6961
  nodeType: "Identifier",
6969
6962
  overloadedDeclarations: [],
6970
6963
  referencedDeclaration: 16837,
6971
- src: "6729:19:43",
6964
+ src: "6733:19:43",
6972
6965
  typeDescriptions: {
6973
6966
  typeIdentifier: "t_array$_t_struct$_WorldQueryFragment_$17300_calldata_ptr_$dyn_calldata_ptr",
6974
6967
  typeString: "struct WorldQueryFragment calldata[] calldata"
@@ -6981,7 +6974,7 @@ var World_default = {
6981
6974
  nodeType: "Identifier",
6982
6975
  overloadedDeclarations: [],
6983
6976
  referencedDeclaration: 16857,
6984
- src: "6749:1:43",
6977
+ src: "6753:1:43",
6985
6978
  typeDescriptions: {
6986
6979
  typeIdentifier: "t_uint256",
6987
6980
  typeString: "uint256"
@@ -6992,7 +6985,7 @@ var World_default = {
6992
6985
  isPure: false,
6993
6986
  lValueRequested: false,
6994
6987
  nodeType: "IndexAccess",
6995
- src: "6729:22:43",
6988
+ src: "6733:22:43",
6996
6989
  typeDescriptions: {
6997
6990
  typeIdentifier: "t_struct$_WorldQueryFragment_$17300_calldata_ptr",
6998
6991
  typeString: "struct WorldQueryFragment calldata"
@@ -7006,7 +6999,7 @@ var World_default = {
7006
6999
  memberName: "queryType",
7007
7000
  nodeType: "MemberAccess",
7008
7001
  referencedDeclaration: 17295,
7009
- src: "6729:32:43",
7002
+ src: "6733:32:43",
7010
7003
  typeDescriptions: {
7011
7004
  typeIdentifier: "t_enum$_QueryType_$17412",
7012
7005
  typeString: "enum QueryType"
@@ -7020,7 +7013,7 @@ var World_default = {
7020
7013
  nodeType: "Identifier",
7021
7014
  overloadedDeclarations: [],
7022
7015
  referencedDeclaration: 16453,
7023
- src: "6788:11:43",
7016
+ src: "6792:11:43",
7024
7017
  typeDescriptions: {
7025
7018
  typeIdentifier: "t_contract$_Uint256Component_$17073",
7026
7019
  typeString: "contract Uint256Component"
@@ -7034,7 +7027,7 @@ var World_default = {
7034
7027
  nodeType: "Identifier",
7035
7028
  overloadedDeclarations: [],
7036
7029
  referencedDeclaration: 16837,
7037
- src: "6801:19:43",
7030
+ src: "6805:19:43",
7038
7031
  typeDescriptions: {
7039
7032
  typeIdentifier: "t_array$_t_struct$_WorldQueryFragment_$17300_calldata_ptr_$dyn_calldata_ptr",
7040
7033
  typeString: "struct WorldQueryFragment calldata[] calldata"
@@ -7047,7 +7040,7 @@ var World_default = {
7047
7040
  nodeType: "Identifier",
7048
7041
  overloadedDeclarations: [],
7049
7042
  referencedDeclaration: 16857,
7050
- src: "6821:1:43",
7043
+ src: "6825:1:43",
7051
7044
  typeDescriptions: {
7052
7045
  typeIdentifier: "t_uint256",
7053
7046
  typeString: "uint256"
@@ -7058,7 +7051,7 @@ var World_default = {
7058
7051
  isPure: false,
7059
7052
  lValueRequested: false,
7060
7053
  nodeType: "IndexAccess",
7061
- src: "6801:22:43",
7054
+ src: "6805:22:43",
7062
7055
  typeDescriptions: {
7063
7056
  typeIdentifier: "t_struct$_WorldQueryFragment_$17300_calldata_ptr",
7064
7057
  typeString: "struct WorldQueryFragment calldata"
@@ -7072,7 +7065,7 @@ var World_default = {
7072
7065
  memberName: "componentId",
7073
7066
  nodeType: "MemberAccess",
7074
7067
  referencedDeclaration: 17297,
7075
- src: "6801:34:43",
7068
+ src: "6805:34:43",
7076
7069
  typeDescriptions: {
7077
7070
  typeIdentifier: "t_uint256",
7078
7071
  typeString: "uint256"
@@ -7095,7 +7088,7 @@ var World_default = {
7095
7088
  nodeType: "Identifier",
7096
7089
  overloadedDeclarations: [],
7097
7090
  referencedDeclaration: 22738,
7098
- src: "6771:16:43",
7091
+ src: "6775:16:43",
7099
7092
  typeDescriptions: {
7100
7093
  typeIdentifier: "t_function_internal_view$_t_contract$_IUint256Component_$17286_$_t_uint256_$returns$_t_contract$_IComponent_$17161_$",
7101
7094
  typeString: "function (contract IUint256Component,uint256) view returns (contract IComponent)"
@@ -7109,7 +7102,7 @@ var World_default = {
7109
7102
  lValueRequested: false,
7110
7103
  names: [],
7111
7104
  nodeType: "FunctionCall",
7112
- src: "6771:65:43",
7105
+ src: "6775:65:43",
7113
7106
  tryCall: false,
7114
7107
  typeDescriptions: {
7115
7108
  typeIdentifier: "t_contract$_IComponent_$17161",
@@ -7124,7 +7117,7 @@ var World_default = {
7124
7117
  nodeType: "Identifier",
7125
7118
  overloadedDeclarations: [],
7126
7119
  referencedDeclaration: 16837,
7127
- src: "6846:19:43",
7120
+ src: "6850:19:43",
7128
7121
  typeDescriptions: {
7129
7122
  typeIdentifier: "t_array$_t_struct$_WorldQueryFragment_$17300_calldata_ptr_$dyn_calldata_ptr",
7130
7123
  typeString: "struct WorldQueryFragment calldata[] calldata"
@@ -7137,7 +7130,7 @@ var World_default = {
7137
7130
  nodeType: "Identifier",
7138
7131
  overloadedDeclarations: [],
7139
7132
  referencedDeclaration: 16857,
7140
- src: "6866:1:43",
7133
+ src: "6870:1:43",
7141
7134
  typeDescriptions: {
7142
7135
  typeIdentifier: "t_uint256",
7143
7136
  typeString: "uint256"
@@ -7148,7 +7141,7 @@ var World_default = {
7148
7141
  isPure: false,
7149
7142
  lValueRequested: false,
7150
7143
  nodeType: "IndexAccess",
7151
- src: "6846:22:43",
7144
+ src: "6850:22:43",
7152
7145
  typeDescriptions: {
7153
7146
  typeIdentifier: "t_struct$_WorldQueryFragment_$17300_calldata_ptr",
7154
7147
  typeString: "struct WorldQueryFragment calldata"
@@ -7162,7 +7155,7 @@ var World_default = {
7162
7155
  memberName: "value",
7163
7156
  nodeType: "MemberAccess",
7164
7157
  referencedDeclaration: 17299,
7165
- src: "6846:28:43",
7158
+ src: "6850:28:43",
7166
7159
  typeDescriptions: {
7167
7160
  typeIdentifier: "t_bytes_calldata_ptr",
7168
7161
  typeString: "bytes calldata"
@@ -7189,7 +7182,7 @@ var World_default = {
7189
7182
  nodeType: "Identifier",
7190
7183
  overloadedDeclarations: [],
7191
7184
  referencedDeclaration: 17421,
7192
- src: "6706:13:43",
7185
+ src: "6710:13:43",
7193
7186
  typeDescriptions: {
7194
7187
  typeIdentifier: "t_type$_t_struct$_QueryFragment_$17421_storage_ptr_$",
7195
7188
  typeString: "type(struct QueryFragment storage pointer)"
@@ -7203,14 +7196,14 @@ var World_default = {
7203
7196
  lValueRequested: false,
7204
7197
  names: [],
7205
7198
  nodeType: "FunctionCall",
7206
- src: "6706:176:43",
7199
+ src: "6710:176:43",
7207
7200
  tryCall: false,
7208
7201
  typeDescriptions: {
7209
7202
  typeIdentifier: "t_struct$_QueryFragment_$17421_memory_ptr",
7210
7203
  typeString: "struct QueryFragment memory"
7211
7204
  }
7212
7205
  },
7213
- src: "6691:191:43",
7206
+ src: "6695:191:43",
7214
7207
  typeDescriptions: {
7215
7208
  typeIdentifier: "t_struct$_QueryFragment_$17421_memory_ptr",
7216
7209
  typeString: "struct QueryFragment memory"
@@ -7218,7 +7211,7 @@ var World_default = {
7218
7211
  },
7219
7212
  id: 16887,
7220
7213
  nodeType: "ExpressionStatement",
7221
- src: "6691:191:43"
7214
+ src: "6695:191:43"
7222
7215
  }
7223
7216
  ]
7224
7217
  },
@@ -7238,7 +7231,7 @@ var World_default = {
7238
7231
  nodeType: "Identifier",
7239
7232
  overloadedDeclarations: [],
7240
7233
  referencedDeclaration: 16857,
7241
- src: "6646:1:43",
7234
+ src: "6650:1:43",
7242
7235
  typeDescriptions: {
7243
7236
  typeIdentifier: "t_uint256",
7244
7237
  typeString: "uint256"
@@ -7253,7 +7246,7 @@ var World_default = {
7253
7246
  nodeType: "Identifier",
7254
7247
  overloadedDeclarations: [],
7255
7248
  referencedDeclaration: 16837,
7256
- src: "6650:19:43",
7249
+ src: "6654:19:43",
7257
7250
  typeDescriptions: {
7258
7251
  typeIdentifier: "t_array$_t_struct$_WorldQueryFragment_$17300_calldata_ptr_$dyn_calldata_ptr",
7259
7252
  typeString: "struct WorldQueryFragment calldata[] calldata"
@@ -7266,13 +7259,13 @@ var World_default = {
7266
7259
  lValueRequested: false,
7267
7260
  memberName: "length",
7268
7261
  nodeType: "MemberAccess",
7269
- src: "6650:26:43",
7262
+ src: "6654:26:43",
7270
7263
  typeDescriptions: {
7271
7264
  typeIdentifier: "t_uint256",
7272
7265
  typeString: "uint256"
7273
7266
  }
7274
7267
  },
7275
- src: "6646:30:43",
7268
+ src: "6650:30:43",
7276
7269
  typeDescriptions: {
7277
7270
  typeIdentifier: "t_bool",
7278
7271
  typeString: "bool"
@@ -7289,10 +7282,10 @@ var World_default = {
7289
7282
  id: 16857,
7290
7283
  mutability: "mutable",
7291
7284
  name: "i",
7292
- nameLocation: "6643:1:43",
7285
+ nameLocation: "6647:1:43",
7293
7286
  nodeType: "VariableDeclaration",
7294
7287
  scope: 16889,
7295
- src: "6635:9:43",
7288
+ src: "6639:9:43",
7296
7289
  stateVariable: false,
7297
7290
  storageLocation: "default",
7298
7291
  typeDescriptions: {
@@ -7303,7 +7296,7 @@ var World_default = {
7303
7296
  id: 16856,
7304
7297
  name: "uint256",
7305
7298
  nodeType: "ElementaryTypeName",
7306
- src: "6635:7:43",
7299
+ src: "6639:7:43",
7307
7300
  typeDescriptions: {
7308
7301
  typeIdentifier: "t_uint256",
7309
7302
  typeString: "uint256"
@@ -7314,7 +7307,7 @@ var World_default = {
7314
7307
  ],
7315
7308
  id: 16858,
7316
7309
  nodeType: "VariableDeclarationStatement",
7317
- src: "6635:9:43"
7310
+ src: "6639:9:43"
7318
7311
  },
7319
7312
  loopExpression: {
7320
7313
  expression: {
@@ -7326,14 +7319,14 @@ var World_default = {
7326
7319
  nodeType: "UnaryOperation",
7327
7320
  operator: "++",
7328
7321
  prefix: false,
7329
- src: "6678:3:43",
7322
+ src: "6682:3:43",
7330
7323
  subExpression: {
7331
7324
  id: 16863,
7332
7325
  name: "i",
7333
7326
  nodeType: "Identifier",
7334
7327
  overloadedDeclarations: [],
7335
7328
  referencedDeclaration: 16857,
7336
- src: "6678:1:43",
7329
+ src: "6682:1:43",
7337
7330
  typeDescriptions: {
7338
7331
  typeIdentifier: "t_uint256",
7339
7332
  typeString: "uint256"
@@ -7346,10 +7339,10 @@ var World_default = {
7346
7339
  },
7347
7340
  id: 16865,
7348
7341
  nodeType: "ExpressionStatement",
7349
- src: "6678:3:43"
7342
+ src: "6682:3:43"
7350
7343
  },
7351
7344
  nodeType: "ForStatement",
7352
- src: "6630:259:43"
7345
+ src: "6634:259:43"
7353
7346
  },
7354
7347
  {
7355
7348
  expression: {
@@ -7360,7 +7353,7 @@ var World_default = {
7360
7353
  nodeType: "Identifier",
7361
7354
  overloadedDeclarations: [],
7362
7355
  referencedDeclaration: 16847,
7363
- src: "6916:9:43",
7356
+ src: "6920:9:43",
7364
7357
  typeDescriptions: {
7365
7358
  typeIdentifier: "t_array$_t_struct$_QueryFragment_$17421_memory_ptr_$dyn_memory_ptr",
7366
7359
  typeString: "struct QueryFragment memory[] memory"
@@ -7380,7 +7373,7 @@ var World_default = {
7380
7373
  nodeType: "Identifier",
7381
7374
  overloadedDeclarations: [],
7382
7375
  referencedDeclaration: 15641,
7383
- src: "6901:8:43",
7376
+ src: "6905:8:43",
7384
7377
  typeDescriptions: {
7385
7378
  typeIdentifier: "t_type$_t_contract$_LibQuery_$15641_$",
7386
7379
  typeString: "type(library LibQuery)"
@@ -7394,7 +7387,7 @@ var World_default = {
7394
7387
  memberName: "query",
7395
7388
  nodeType: "MemberAccess",
7396
7389
  referencedDeclaration: 15073,
7397
- src: "6901:14:43",
7390
+ src: "6905:14:43",
7398
7391
  typeDescriptions: {
7399
7392
  typeIdentifier: "t_function_internal_view$_t_array$_t_struct$_QueryFragment_$17421_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$",
7400
7393
  typeString: "function (struct QueryFragment memory[] memory) view returns (uint256[] memory)"
@@ -7408,7 +7401,7 @@ var World_default = {
7408
7401
  lValueRequested: false,
7409
7402
  names: [],
7410
7403
  nodeType: "FunctionCall",
7411
- src: "6901:25:43",
7404
+ src: "6905:25:43",
7412
7405
  tryCall: false,
7413
7406
  typeDescriptions: {
7414
7407
  typeIdentifier: "t_array$_t_uint256_$dyn_memory_ptr",
@@ -7418,7 +7411,7 @@ var World_default = {
7418
7411
  functionReturnParameters: 16842,
7419
7412
  id: 16894,
7420
7413
  nodeType: "Return",
7421
- src: "6894:32:43"
7414
+ src: "6898:32:43"
7422
7415
  }
7423
7416
  ]
7424
7417
  },
@@ -7428,7 +7421,7 @@ var World_default = {
7428
7421
  documentation: {
7429
7422
  id: 16833,
7430
7423
  nodeType: "StructuredDocumentation",
7431
- src: "6298:130:43",
7424
+ src: "6302:130:43",
7432
7425
  text: " Helper function to execute a query with query fragments referring to a component ID instead of a component address."
7433
7426
  },
7434
7427
  functionSelector: "687485a6",
@@ -7436,7 +7429,7 @@ var World_default = {
7436
7429
  kind: "function",
7437
7430
  modifiers: [],
7438
7431
  name: "query",
7439
- nameLocation: "6440:5:43",
7432
+ nameLocation: "6444:5:43",
7440
7433
  parameters: {
7441
7434
  id: 16838,
7442
7435
  nodeType: "ParameterList",
@@ -7446,10 +7439,10 @@ var World_default = {
7446
7439
  id: 16837,
7447
7440
  mutability: "mutable",
7448
7441
  name: "worldQueryFragments",
7449
- nameLocation: "6476:19:43",
7442
+ nameLocation: "6480:19:43",
7450
7443
  nodeType: "VariableDeclaration",
7451
7444
  scope: 16896,
7452
- src: "6446:49:43",
7445
+ src: "6450:49:43",
7453
7446
  stateVariable: false,
7454
7447
  storageLocation: "calldata",
7455
7448
  typeDescriptions: {
@@ -7465,10 +7458,10 @@ var World_default = {
7465
7458
  name: "WorldQueryFragment",
7466
7459
  nodeType: "IdentifierPath",
7467
7460
  referencedDeclaration: 17300,
7468
- src: "6446:18:43"
7461
+ src: "6450:18:43"
7469
7462
  },
7470
7463
  referencedDeclaration: 17300,
7471
- src: "6446:18:43",
7464
+ src: "6450:18:43",
7472
7465
  typeDescriptions: {
7473
7466
  typeIdentifier: "t_struct$_WorldQueryFragment_$17300_storage_ptr",
7474
7467
  typeString: "struct WorldQueryFragment"
@@ -7476,7 +7469,7 @@ var World_default = {
7476
7469
  },
7477
7470
  id: 16836,
7478
7471
  nodeType: "ArrayTypeName",
7479
- src: "6446:20:43",
7472
+ src: "6450:20:43",
7480
7473
  typeDescriptions: {
7481
7474
  typeIdentifier: "t_array$_t_struct$_WorldQueryFragment_$17300_storage_$dyn_storage_ptr",
7482
7475
  typeString: "struct WorldQueryFragment[]"
@@ -7485,7 +7478,7 @@ var World_default = {
7485
7478
  visibility: "internal"
7486
7479
  }
7487
7480
  ],
7488
- src: "6445:51:43"
7481
+ src: "6449:51:43"
7489
7482
  },
7490
7483
  returnParameters: {
7491
7484
  id: 16842,
@@ -7499,7 +7492,7 @@ var World_default = {
7499
7492
  nameLocation: "-1:-1:-1",
7500
7493
  nodeType: "VariableDeclaration",
7501
7494
  scope: 16896,
7502
- src: "6518:16:43",
7495
+ src: "6522:16:43",
7503
7496
  stateVariable: false,
7504
7497
  storageLocation: "memory",
7505
7498
  typeDescriptions: {
@@ -7511,7 +7504,7 @@ var World_default = {
7511
7504
  id: 16839,
7512
7505
  name: "uint256",
7513
7506
  nodeType: "ElementaryTypeName",
7514
- src: "6518:7:43",
7507
+ src: "6522:7:43",
7515
7508
  typeDescriptions: {
7516
7509
  typeIdentifier: "t_uint256",
7517
7510
  typeString: "uint256"
@@ -7519,7 +7512,7 @@ var World_default = {
7519
7512
  },
7520
7513
  id: 16840,
7521
7514
  nodeType: "ArrayTypeName",
7522
- src: "6518:9:43",
7515
+ src: "6522:9:43",
7523
7516
  typeDescriptions: {
7524
7517
  typeIdentifier: "t_array$_t_uint256_$dyn_storage_ptr",
7525
7518
  typeString: "uint256[]"
@@ -7528,7 +7521,7 @@ var World_default = {
7528
7521
  visibility: "internal"
7529
7522
  }
7530
7523
  ],
7531
- src: "6517:18:43"
7524
+ src: "6521:18:43"
7532
7525
  },
7533
7526
  scope: 16950,
7534
7527
  stateMutability: "view",
@@ -7538,12 +7531,12 @@ var World_default = {
7538
7531
  {
7539
7532
  id: 16912,
7540
7533
  nodeType: "FunctionDefinition",
7541
- src: "6998:105:43",
7534
+ src: "7002:105:43",
7542
7535
  nodes: [],
7543
7536
  body: {
7544
7537
  id: 16911,
7545
7538
  nodeType: "Block",
7546
- src: "7060:43:43",
7539
+ src: "7064:43:43",
7547
7540
  nodes: [],
7548
7541
  statements: [
7549
7542
  {
@@ -7555,7 +7548,7 @@ var World_default = {
7555
7548
  nodeType: "Identifier",
7556
7549
  overloadedDeclarations: [],
7557
7550
  referencedDeclaration: 16899,
7558
- src: "7091:6:43",
7551
+ src: "7095:6:43",
7559
7552
  typeDescriptions: {
7560
7553
  typeIdentifier: "t_uint256",
7561
7554
  typeString: "uint256"
@@ -7577,7 +7570,7 @@ var World_default = {
7577
7570
  nodeType: "Identifier",
7578
7571
  overloadedDeclarations: [],
7579
7572
  referencedDeclaration: 16450,
7580
- src: "7077:8:43",
7573
+ src: "7081:8:43",
7581
7574
  typeDescriptions: {
7582
7575
  typeIdentifier: "t_contract$_Set_$16225",
7583
7576
  typeString: "contract Set"
@@ -7596,7 +7589,7 @@ var World_default = {
7596
7589
  nodeType: "Identifier",
7597
7590
  overloadedDeclarations: [],
7598
7591
  referencedDeclaration: 16225,
7599
- src: "7073:3:43",
7592
+ src: "7077:3:43",
7600
7593
  typeDescriptions: {
7601
7594
  typeIdentifier: "t_type$_t_contract$_Set_$16225_$",
7602
7595
  typeString: "type(contract Set)"
@@ -7610,7 +7603,7 @@ var World_default = {
7610
7603
  lValueRequested: false,
7611
7604
  names: [],
7612
7605
  nodeType: "FunctionCall",
7613
- src: "7073:13:43",
7606
+ src: "7077:13:43",
7614
7607
  tryCall: false,
7615
7608
  typeDescriptions: {
7616
7609
  typeIdentifier: "t_contract$_Set_$16225",
@@ -7625,7 +7618,7 @@ var World_default = {
7625
7618
  memberName: "has",
7626
7619
  nodeType: "MemberAccess",
7627
7620
  referencedDeclaration: 16206,
7628
- src: "7073:17:43",
7621
+ src: "7077:17:43",
7629
7622
  typeDescriptions: {
7630
7623
  typeIdentifier: "t_function_external_view$_t_uint256_$returns$_t_bool_$",
7631
7624
  typeString: "function (uint256) view external returns (bool)"
@@ -7639,7 +7632,7 @@ var World_default = {
7639
7632
  lValueRequested: false,
7640
7633
  names: [],
7641
7634
  nodeType: "FunctionCall",
7642
- src: "7073:25:43",
7635
+ src: "7077:25:43",
7643
7636
  tryCall: false,
7644
7637
  typeDescriptions: {
7645
7638
  typeIdentifier: "t_bool",
@@ -7649,7 +7642,7 @@ var World_default = {
7649
7642
  functionReturnParameters: 16903,
7650
7643
  id: 16910,
7651
7644
  nodeType: "Return",
7652
- src: "7066:32:43"
7645
+ src: "7070:32:43"
7653
7646
  }
7654
7647
  ]
7655
7648
  },
@@ -7659,7 +7652,7 @@ var World_default = {
7659
7652
  documentation: {
7660
7653
  id: 16897,
7661
7654
  nodeType: "StructuredDocumentation",
7662
- src: "6935:60:43",
7655
+ src: "6939:60:43",
7663
7656
  text: " Check whether an entity exists in this world."
7664
7657
  },
7665
7658
  functionSelector: "e3d12875",
@@ -7667,7 +7660,7 @@ var World_default = {
7667
7660
  kind: "function",
7668
7661
  modifiers: [],
7669
7662
  name: "hasEntity",
7670
- nameLocation: "7007:9:43",
7663
+ nameLocation: "7011:9:43",
7671
7664
  parameters: {
7672
7665
  id: 16900,
7673
7666
  nodeType: "ParameterList",
@@ -7677,10 +7670,10 @@ var World_default = {
7677
7670
  id: 16899,
7678
7671
  mutability: "mutable",
7679
7672
  name: "entity",
7680
- nameLocation: "7025:6:43",
7673
+ nameLocation: "7029:6:43",
7681
7674
  nodeType: "VariableDeclaration",
7682
7675
  scope: 16912,
7683
- src: "7017:14:43",
7676
+ src: "7021:14:43",
7684
7677
  stateVariable: false,
7685
7678
  storageLocation: "default",
7686
7679
  typeDescriptions: {
@@ -7691,7 +7684,7 @@ var World_default = {
7691
7684
  id: 16898,
7692
7685
  name: "uint256",
7693
7686
  nodeType: "ElementaryTypeName",
7694
- src: "7017:7:43",
7687
+ src: "7021:7:43",
7695
7688
  typeDescriptions: {
7696
7689
  typeIdentifier: "t_uint256",
7697
7690
  typeString: "uint256"
@@ -7700,7 +7693,7 @@ var World_default = {
7700
7693
  visibility: "internal"
7701
7694
  }
7702
7695
  ],
7703
- src: "7016:16:43"
7696
+ src: "7020:16:43"
7704
7697
  },
7705
7698
  returnParameters: {
7706
7699
  id: 16903,
@@ -7714,7 +7707,7 @@ var World_default = {
7714
7707
  nameLocation: "-1:-1:-1",
7715
7708
  nodeType: "VariableDeclaration",
7716
7709
  scope: 16912,
7717
- src: "7054:4:43",
7710
+ src: "7058:4:43",
7718
7711
  stateVariable: false,
7719
7712
  storageLocation: "default",
7720
7713
  typeDescriptions: {
@@ -7725,7 +7718,7 @@ var World_default = {
7725
7718
  id: 16901,
7726
7719
  name: "bool",
7727
7720
  nodeType: "ElementaryTypeName",
7728
- src: "7054:4:43",
7721
+ src: "7058:4:43",
7729
7722
  typeDescriptions: {
7730
7723
  typeIdentifier: "t_bool",
7731
7724
  typeString: "bool"
@@ -7734,7 +7727,7 @@ var World_default = {
7734
7727
  visibility: "internal"
7735
7728
  }
7736
7729
  ],
7737
- src: "7053:6:43"
7730
+ src: "7057:6:43"
7738
7731
  },
7739
7732
  scope: 16950,
7740
7733
  stateMutability: "view",
@@ -7744,12 +7737,12 @@ var World_default = {
7744
7737
  {
7745
7738
  id: 16949,
7746
7739
  nodeType: "FunctionDefinition",
7747
- src: "7152:255:43",
7740
+ src: "7156:255:43",
7748
7741
  nodes: [],
7749
7742
  body: {
7750
7743
  id: 16948,
7751
7744
  nodeType: "Block",
7752
- src: "7211:196:43",
7745
+ src: "7215:196:43",
7753
7746
  nodes: [],
7754
7747
  statements: [
7755
7748
  {
@@ -7762,10 +7755,10 @@ var World_default = {
7762
7755
  id: 16919,
7763
7756
  mutability: "mutable",
7764
7757
  name: "entityNum",
7765
- nameLocation: "7225:9:43",
7758
+ nameLocation: "7229:9:43",
7766
7759
  nodeType: "VariableDeclaration",
7767
7760
  scope: 16948,
7768
- src: "7217:17:43",
7761
+ src: "7221:17:43",
7769
7762
  stateVariable: false,
7770
7763
  storageLocation: "default",
7771
7764
  typeDescriptions: {
@@ -7776,7 +7769,7 @@ var World_default = {
7776
7769
  id: 16918,
7777
7770
  name: "uint256",
7778
7771
  nodeType: "ElementaryTypeName",
7779
- src: "7217:7:43",
7772
+ src: "7221:7:43",
7780
7773
  typeDescriptions: {
7781
7774
  typeIdentifier: "t_uint256",
7782
7775
  typeString: "uint256"
@@ -7795,7 +7788,7 @@ var World_default = {
7795
7788
  nodeType: "Identifier",
7796
7789
  overloadedDeclarations: [],
7797
7790
  referencedDeclaration: 16832,
7798
- src: "7237:14:43",
7791
+ src: "7241:14:43",
7799
7792
  typeDescriptions: {
7800
7793
  typeIdentifier: "t_function_internal_view$__$returns$_t_uint256_$",
7801
7794
  typeString: "function () view returns (uint256)"
@@ -7809,7 +7802,7 @@ var World_default = {
7809
7802
  lValueRequested: false,
7810
7803
  names: [],
7811
7804
  nodeType: "FunctionCall",
7812
- src: "7237:16:43",
7805
+ src: "7241:16:43",
7813
7806
  tryCall: false,
7814
7807
  typeDescriptions: {
7815
7808
  typeIdentifier: "t_uint256",
@@ -7817,7 +7810,7 @@ var World_default = {
7817
7810
  }
7818
7811
  },
7819
7812
  nodeType: "VariableDeclarationStatement",
7820
- src: "7217:36:43"
7813
+ src: "7221:36:43"
7821
7814
  },
7822
7815
  {
7823
7816
  assignments: [
@@ -7829,10 +7822,10 @@ var World_default = {
7829
7822
  id: 16924,
7830
7823
  mutability: "mutable",
7831
7824
  name: "id",
7832
- nameLocation: "7267:2:43",
7825
+ nameLocation: "7271:2:43",
7833
7826
  nodeType: "VariableDeclaration",
7834
7827
  scope: 16948,
7835
- src: "7259:10:43",
7828
+ src: "7263:10:43",
7836
7829
  stateVariable: false,
7837
7830
  storageLocation: "default",
7838
7831
  typeDescriptions: {
@@ -7843,7 +7836,7 @@ var World_default = {
7843
7836
  id: 16923,
7844
7837
  name: "uint256",
7845
7838
  nodeType: "ElementaryTypeName",
7846
- src: "7259:7:43",
7839
+ src: "7263:7:43",
7847
7840
  typeDescriptions: {
7848
7841
  typeIdentifier: "t_uint256",
7849
7842
  typeString: "uint256"
@@ -7854,13 +7847,13 @@ var World_default = {
7854
7847
  ],
7855
7848
  id: 16925,
7856
7849
  nodeType: "VariableDeclarationStatement",
7857
- src: "7259:10:43"
7850
+ src: "7263:10:43"
7858
7851
  },
7859
7852
  {
7860
7853
  body: {
7861
7854
  id: 16941,
7862
7855
  nodeType: "Block",
7863
- src: "7278:86:43",
7856
+ src: "7282:86:43",
7864
7857
  statements: [
7865
7858
  {
7866
7859
  expression: {
@@ -7872,14 +7865,14 @@ var World_default = {
7872
7865
  nodeType: "UnaryOperation",
7873
7866
  operator: "++",
7874
7867
  prefix: false,
7875
- src: "7286:11:43",
7868
+ src: "7290:11:43",
7876
7869
  subExpression: {
7877
7870
  id: 16926,
7878
7871
  name: "entityNum",
7879
7872
  nodeType: "Identifier",
7880
7873
  overloadedDeclarations: [],
7881
7874
  referencedDeclaration: 16919,
7882
- src: "7286:9:43",
7875
+ src: "7290:9:43",
7883
7876
  typeDescriptions: {
7884
7877
  typeIdentifier: "t_uint256",
7885
7878
  typeString: "uint256"
@@ -7892,7 +7885,7 @@ var World_default = {
7892
7885
  },
7893
7886
  id: 16928,
7894
7887
  nodeType: "ExpressionStatement",
7895
- src: "7286:11:43"
7888
+ src: "7290:11:43"
7896
7889
  },
7897
7890
  {
7898
7891
  expression: {
@@ -7907,7 +7900,7 @@ var World_default = {
7907
7900
  nodeType: "Identifier",
7908
7901
  overloadedDeclarations: [],
7909
7902
  referencedDeclaration: 16924,
7910
- src: "7305:2:43",
7903
+ src: "7309:2:43",
7911
7904
  typeDescriptions: {
7912
7905
  typeIdentifier: "t_uint256",
7913
7906
  typeString: "uint256"
@@ -7927,7 +7920,7 @@ var World_default = {
7927
7920
  nodeType: "Identifier",
7928
7921
  overloadedDeclarations: [],
7929
7922
  referencedDeclaration: 16919,
7930
- src: "7345:9:43",
7923
+ src: "7349:9:43",
7931
7924
  typeDescriptions: {
7932
7925
  typeIdentifier: "t_uint256",
7933
7926
  typeString: "uint256"
@@ -7947,7 +7940,7 @@ var World_default = {
7947
7940
  nodeType: "Identifier",
7948
7941
  overloadedDeclarations: [],
7949
7942
  referencedDeclaration: -1,
7950
- src: "7328:3:43",
7943
+ src: "7332:3:43",
7951
7944
  typeDescriptions: {
7952
7945
  typeIdentifier: "t_magic_abi",
7953
7946
  typeString: "abi"
@@ -7960,7 +7953,7 @@ var World_default = {
7960
7953
  lValueRequested: false,
7961
7954
  memberName: "encodePacked",
7962
7955
  nodeType: "MemberAccess",
7963
- src: "7328:16:43",
7956
+ src: "7332:16:43",
7964
7957
  typeDescriptions: {
7965
7958
  typeIdentifier: "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
7966
7959
  typeString: "function () pure returns (bytes memory)"
@@ -7974,7 +7967,7 @@ var World_default = {
7974
7967
  lValueRequested: false,
7975
7968
  names: [],
7976
7969
  nodeType: "FunctionCall",
7977
- src: "7328:27:43",
7970
+ src: "7332:27:43",
7978
7971
  tryCall: false,
7979
7972
  typeDescriptions: {
7980
7973
  typeIdentifier: "t_bytes_memory_ptr",
@@ -7994,7 +7987,7 @@ var World_default = {
7994
7987
  nodeType: "Identifier",
7995
7988
  overloadedDeclarations: [],
7996
7989
  referencedDeclaration: -8,
7997
- src: "7318:9:43",
7990
+ src: "7322:9:43",
7998
7991
  typeDescriptions: {
7999
7992
  typeIdentifier: "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
8000
7993
  typeString: "function (bytes memory) pure returns (bytes32)"
@@ -8008,7 +8001,7 @@ var World_default = {
8008
8001
  lValueRequested: false,
8009
8002
  names: [],
8010
8003
  nodeType: "FunctionCall",
8011
- src: "7318:38:43",
8004
+ src: "7322:38:43",
8012
8005
  tryCall: false,
8013
8006
  typeDescriptions: {
8014
8007
  typeIdentifier: "t_bytes32",
@@ -8029,7 +8022,7 @@ var World_default = {
8029
8022
  isPure: true,
8030
8023
  lValueRequested: false,
8031
8024
  nodeType: "ElementaryTypeNameExpression",
8032
- src: "7310:7:43",
8025
+ src: "7314:7:43",
8033
8026
  typeDescriptions: {
8034
8027
  typeIdentifier: "t_type$_t_uint256_$",
8035
8028
  typeString: "type(uint256)"
@@ -8038,7 +8031,7 @@ var World_default = {
8038
8031
  id: 16930,
8039
8032
  name: "uint256",
8040
8033
  nodeType: "ElementaryTypeName",
8041
- src: "7310:7:43",
8034
+ src: "7314:7:43",
8042
8035
  typeDescriptions: {}
8043
8036
  }
8044
8037
  },
@@ -8050,14 +8043,14 @@ var World_default = {
8050
8043
  lValueRequested: false,
8051
8044
  names: [],
8052
8045
  nodeType: "FunctionCall",
8053
- src: "7310:47:43",
8046
+ src: "7314:47:43",
8054
8047
  tryCall: false,
8055
8048
  typeDescriptions: {
8056
8049
  typeIdentifier: "t_uint256",
8057
8050
  typeString: "uint256"
8058
8051
  }
8059
8052
  },
8060
- src: "7305:52:43",
8053
+ src: "7309:52:43",
8061
8054
  typeDescriptions: {
8062
8055
  typeIdentifier: "t_uint256",
8063
8056
  typeString: "uint256"
@@ -8065,7 +8058,7 @@ var World_default = {
8065
8058
  },
8066
8059
  id: 16940,
8067
8060
  nodeType: "ExpressionStatement",
8068
- src: "7305:52:43"
8061
+ src: "7309:52:43"
8069
8062
  }
8070
8063
  ]
8071
8064
  },
@@ -8077,7 +8070,7 @@ var World_default = {
8077
8070
  nodeType: "Identifier",
8078
8071
  overloadedDeclarations: [],
8079
8072
  referencedDeclaration: 16924,
8080
- src: "7382:2:43",
8073
+ src: "7386:2:43",
8081
8074
  typeDescriptions: {
8082
8075
  typeIdentifier: "t_uint256",
8083
8076
  typeString: "uint256"
@@ -8096,7 +8089,7 @@ var World_default = {
8096
8089
  nodeType: "Identifier",
8097
8090
  overloadedDeclarations: [],
8098
8091
  referencedDeclaration: 16912,
8099
- src: "7372:9:43",
8092
+ src: "7376:9:43",
8100
8093
  typeDescriptions: {
8101
8094
  typeIdentifier: "t_function_internal_view$_t_uint256_$returns$_t_bool_$",
8102
8095
  typeString: "function (uint256) view returns (bool)"
@@ -8110,7 +8103,7 @@ var World_default = {
8110
8103
  lValueRequested: false,
8111
8104
  names: [],
8112
8105
  nodeType: "FunctionCall",
8113
- src: "7372:13:43",
8106
+ src: "7376:13:43",
8114
8107
  tryCall: false,
8115
8108
  typeDescriptions: {
8116
8109
  typeIdentifier: "t_bool",
@@ -8119,7 +8112,7 @@ var World_default = {
8119
8112
  },
8120
8113
  id: 16945,
8121
8114
  nodeType: "DoWhileStatement",
8122
- src: "7275:112:43"
8115
+ src: "7279:112:43"
8123
8116
  },
8124
8117
  {
8125
8118
  expression: {
@@ -8128,7 +8121,7 @@ var World_default = {
8128
8121
  nodeType: "Identifier",
8129
8122
  overloadedDeclarations: [],
8130
8123
  referencedDeclaration: 16924,
8131
- src: "7400:2:43",
8124
+ src: "7404:2:43",
8132
8125
  typeDescriptions: {
8133
8126
  typeIdentifier: "t_uint256",
8134
8127
  typeString: "uint256"
@@ -8137,7 +8130,7 @@ var World_default = {
8137
8130
  functionReturnParameters: 16917,
8138
8131
  id: 16947,
8139
8132
  nodeType: "Return",
8140
- src: "7393:9:43"
8133
+ src: "7397:9:43"
8141
8134
  }
8142
8135
  ]
8143
8136
  },
@@ -8147,7 +8140,7 @@ var World_default = {
8147
8140
  documentation: {
8148
8141
  id: 16913,
8149
8142
  nodeType: "StructuredDocumentation",
8150
- src: "7107:42:43",
8143
+ src: "7111:42:43",
8151
8144
  text: " Get a new unique entity ID."
8152
8145
  },
8153
8146
  functionSelector: "614bfa6e",
@@ -8155,12 +8148,12 @@ var World_default = {
8155
8148
  kind: "function",
8156
8149
  modifiers: [],
8157
8150
  name: "getUniqueEntityId",
8158
- nameLocation: "7161:17:43",
8151
+ nameLocation: "7165:17:43",
8159
8152
  parameters: {
8160
8153
  id: 16914,
8161
8154
  nodeType: "ParameterList",
8162
8155
  parameters: [],
8163
- src: "7178:2:43"
8156
+ src: "7182:2:43"
8164
8157
  },
8165
8158
  returnParameters: {
8166
8159
  id: 16917,
@@ -8174,7 +8167,7 @@ var World_default = {
8174
8167
  nameLocation: "-1:-1:-1",
8175
8168
  nodeType: "VariableDeclaration",
8176
8169
  scope: 16949,
8177
- src: "7202:7:43",
8170
+ src: "7206:7:43",
8178
8171
  stateVariable: false,
8179
8172
  storageLocation: "default",
8180
8173
  typeDescriptions: {
@@ -8185,7 +8178,7 @@ var World_default = {
8185
8178
  id: 16915,
8186
8179
  name: "uint256",
8187
8180
  nodeType: "ElementaryTypeName",
8188
- src: "7202:7:43",
8181
+ src: "7206:7:43",
8189
8182
  typeDescriptions: {
8190
8183
  typeIdentifier: "t_uint256",
8191
8184
  typeString: "uint256"
@@ -8194,7 +8187,7 @@ var World_default = {
8194
8187
  visibility: "internal"
8195
8188
  }
8196
8189
  ],
8197
- src: "7201:9:43"
8190
+ src: "7205:9:43"
8198
8191
  },
8199
8192
  scope: 16950,
8200
8193
  stateMutability: "view",