@latticexyz/world 2.0.0-alpha.1.21 → 2.0.0-alpha.1.22

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 (133) hide show
  1. package/abi/AccessControl.sol/AccessControl.json +241 -241
  2. package/abi/AccessManagementSystem.sol/AccessManagementSystem.json +157 -157
  3. package/abi/AddressArray.sol/AddressArray.json +1124 -1124
  4. package/abi/ArrayLib.sol/ArrayLib.json +139 -139
  5. package/abi/Bool.sol/Bool.json +704 -704
  6. package/abi/Bytes.sol/Bytes.json +6 -6
  7. package/abi/Call.sol/Call.json +112 -112
  8. package/abi/Callbacks.sol/Callbacks.json +1100 -1100
  9. package/abi/CoreModule.sol/CoreModule.json +542 -542
  10. package/abi/CoreSystem.sol/CoreSystem.json +92 -92
  11. package/abi/DecodeSlice.sol/DecodeSlice.json +3891 -3891
  12. package/abi/EncodeArray.sol/EncodeArray.json +3344 -3344
  13. package/abi/FunctionSelectors.sol/FunctionSelectors.json +1678 -1678
  14. package/abi/Hooks.sol/Hooks.json +1100 -1100
  15. package/abi/IAccessManagementSystem.sol/IAccessManagementSystem.json +32 -32
  16. package/abi/IBaseWorld.sol/IBaseWorld.json +224 -99
  17. package/abi/ICoreSystem.sol/ICoreSystem.json +6 -6
  18. package/abi/IModule.sol/IModule.json +28 -28
  19. package/abi/IModuleInstallationSystem.sol/IModuleInstallationSystem.json +40 -40
  20. package/abi/IStore.sol/IStore.json +551 -349
  21. package/abi/IStore.sol/IStoreData.json +551 -349
  22. package/abi/IStore.sol/IStoreHook.json +495 -349
  23. package/abi/IStore.sol/IStoreRead.json +495 -349
  24. package/abi/IStore.sol/IStoreRegistration.json +495 -349
  25. package/abi/IStore.sol/IStoreWrite.json +551 -349
  26. package/abi/IStoreRegistrationSystem.sol/IStoreRegistrationSystem.json +80 -80
  27. package/abi/ISystemHook.sol/ISystemHook.json +19 -19
  28. package/abi/IUniqueEntitySystem.sol/IUniqueEntitySystem.json +13 -13
  29. package/abi/IWorldKernel.sol/IWorldCall.json +455 -276
  30. package/abi/IWorldKernel.sol/IWorldData.json +524 -276
  31. package/abi/IWorldKernel.sol/IWorldKernel.json +524 -276
  32. package/abi/IWorldKernel.sol/IWorldModuleInstallation.json +455 -276
  33. package/abi/IWorldRegistrationSystem.sol/IWorldRegistrationSystem.json +198 -198
  34. package/abi/InstalledModules.sol/InstalledModules.json +1351 -1351
  35. package/abi/KeysWithValue.sol/KeysWithValue.json +1124 -1124
  36. package/abi/KeysWithValueHook.sol/KeysWithValueHook.json +416 -416
  37. package/abi/KeysWithValueModule.sol/KeysWithValueModule.json +293 -293
  38. package/abi/Memory.sol/Memory.json +131 -131
  39. package/abi/Mixed.sol/Mixed.json +2781 -2781
  40. package/abi/ModuleInstallationSystem.sol/ModuleInstallationSystem.json +138 -138
  41. package/abi/NamespaceOwner.sol/NamespaceOwner.json +782 -782
  42. package/abi/PackedCounter.sol/PackedCounterLib.json +665 -665
  43. package/abi/ResourceAccess.sol/ResourceAccess.json +926 -926
  44. package/abi/ResourceSelector.sol/ResourceSelector.json +253 -253
  45. package/abi/ResourceType.sol/ResourceType.json +831 -831
  46. package/abi/Schema.sol/SchemaLib.json +1469 -1469
  47. package/abi/SchemaType.sol/SchemaType.json +315 -315
  48. package/abi/Slice.sol/SliceInstance.json +429 -429
  49. package/abi/Slice.sol/SliceLib.json +429 -429
  50. package/abi/Storage.sol/Storage.json +1024 -1061
  51. package/abi/StoreCore.sol/StoreCore.json +10434 -7652
  52. package/abi/StoreCore.sol/StoreCoreExtended.json +10434 -7652
  53. package/abi/StoreCore.sol/StoreCoreInternal.json +10434 -7652
  54. package/abi/StoreMetadata.sol/StoreMetadata.json +2116 -2116
  55. package/abi/StoreRead.sol/StoreRead.json +247 -247
  56. package/abi/StoreRegistrationSystem.sol/StoreRegistrationSystem.json +339 -339
  57. package/abi/StoreSwitch.sol/StoreSwitch.json +1814 -1359
  58. package/abi/System.sol/System.json +31 -31
  59. package/abi/SystemRegistry.sol/SystemRegistry.json +794 -794
  60. package/abi/Systems.sol/Systems.json +1412 -1412
  61. package/abi/TableId.sol/TableId.json +27 -27
  62. package/abi/Tables.sol/Tables.json +92 -92
  63. package/abi/TightCoder.sol/TightCoder.json +275 -275
  64. package/abi/Types.sol/Types.json +8 -8
  65. package/abi/UniqueEntity.sol/UniqueEntity.json +683 -683
  66. package/abi/UniqueEntityModule.sol/UniqueEntityModule.json +232 -232
  67. package/abi/UniqueEntitySystem.sol/UniqueEntitySystem.json +114 -114
  68. package/abi/Utils.sol/Utils.json +67 -67
  69. package/abi/Vector2.sol/Vector2.json +1473 -1473
  70. package/abi/World.sol/World.json +2426 -1491
  71. package/abi/WorldContext.sol/WorldContext.json +65 -65
  72. package/abi/WorldRegistrationSystem.sol/WorldRegistrationSystem.json +1140 -1140
  73. package/abi/console.sol/console.json +11417 -11417
  74. package/abi/constants.sol/constants.json +34 -34
  75. package/abi/getKeysWithValue.sol/getKeysWithValue.json +129 -129
  76. package/abi/getTargetTableSelector.sol/getTargetTableSelector.json +75 -75
  77. package/abi/getUniqueEntity.sol/getUniqueEntity.json +88 -88
  78. package/abi/interfaces/IErrors.sol/IErrors.json +57 -57
  79. package/abi/src/Bytes.sol/Bytes.json +1225 -1225
  80. package/abi/src/IStore.sol/IStore.json +727 -525
  81. package/abi/src/IStore.sol/IStoreData.json +727 -525
  82. package/abi/src/IStore.sol/IStoreHook.json +671 -525
  83. package/abi/src/IStore.sol/IStoreRead.json +671 -525
  84. package/abi/src/IStore.sol/IStoreRegistration.json +671 -525
  85. package/abi/src/IStore.sol/IStoreWrite.json +727 -525
  86. package/abi/src/Memory.sol/Memory.json +131 -131
  87. package/abi/src/PackedCounter.sol/PackedCounterLib.json +683 -683
  88. package/abi/src/Schema.sol/SchemaLib.json +1493 -1493
  89. package/abi/src/Slice.sol/SliceInstance.json +429 -429
  90. package/abi/src/Slice.sol/SliceLib.json +429 -429
  91. package/abi/src/StoreCore.sol/StoreCore.json +12500 -9718
  92. package/abi/src/StoreCore.sol/StoreCoreExtended.json +12500 -9718
  93. package/abi/src/StoreCore.sol/StoreCoreInternal.json +12500 -9718
  94. package/abi/src/StoreSwitch.sol/StoreSwitch.json +1822 -1367
  95. package/abi/tightcoder/EncodeArray.sol/EncodeArray.json +3344 -3344
  96. package/package.json +6 -6
  97. package/src/World.sol +32 -0
  98. package/src/interfaces/IWorldKernel.sol +12 -0
  99. package/types/ethers-contracts/IBaseWorld.ts +116 -0
  100. package/types/ethers-contracts/IStore.sol/IStore.ts +55 -0
  101. package/types/ethers-contracts/IStore.sol/IStoreData.ts +55 -0
  102. package/types/ethers-contracts/IStore.sol/IStoreWrite.ts +55 -0
  103. package/types/ethers-contracts/IWorldKernel.sol/IWorldData.ts +61 -0
  104. package/types/ethers-contracts/IWorldKernel.sol/IWorldKernel.ts +61 -0
  105. package/types/ethers-contracts/World.ts +116 -0
  106. package/types/ethers-contracts/factories/AccessManagementSystem__factory.ts +1 -1
  107. package/types/ethers-contracts/factories/CoreModule__factory.ts +1 -1
  108. package/types/ethers-contracts/factories/CoreSystem__factory.ts +1 -1
  109. package/types/ethers-contracts/factories/IBaseWorld__factory.ts +61 -0
  110. package/types/ethers-contracts/factories/IStore.sol/IStoreData__factory.ts +28 -0
  111. package/types/ethers-contracts/factories/IStore.sol/IStoreWrite__factory.ts +28 -0
  112. package/types/ethers-contracts/factories/IStore.sol/IStore__factory.ts +28 -0
  113. package/types/ethers-contracts/factories/IWorldKernel.sol/IWorldData__factory.ts +33 -0
  114. package/types/ethers-contracts/factories/IWorldKernel.sol/IWorldKernel__factory.ts +33 -0
  115. package/types/ethers-contracts/factories/KeysWithValueHook__factory.ts +1 -1
  116. package/types/ethers-contracts/factories/KeysWithValueModule__factory.ts +1 -1
  117. package/types/ethers-contracts/factories/ModuleInstallationSystem__factory.ts +1 -1
  118. package/types/ethers-contracts/factories/StoreCore__factory.ts +1 -1
  119. package/types/ethers-contracts/factories/StoreRead__factory.ts +1 -1
  120. package/types/ethers-contracts/factories/StoreRegistrationSystem__factory.ts +1 -1
  121. package/types/ethers-contracts/factories/StoreSwitch__factory.ts +1 -1
  122. package/types/ethers-contracts/factories/UniqueEntityModule__factory.ts +1 -1
  123. package/types/ethers-contracts/factories/UniqueEntitySystem__factory.ts +1 -1
  124. package/types/ethers-contracts/factories/WorldRegistrationSystem__factory.ts +1 -1
  125. package/types/ethers-contracts/factories/World__factory.ts +62 -1
  126. package/types/ethers-contracts/factories/src/IStore.sol/IStoreData__factory.ts +28 -0
  127. package/types/ethers-contracts/factories/src/IStore.sol/IStoreWrite__factory.ts +28 -0
  128. package/types/ethers-contracts/factories/src/IStore.sol/IStore__factory.ts +28 -0
  129. package/types/ethers-contracts/factories/src/StoreCore__factory.ts +1 -1
  130. package/types/ethers-contracts/factories/src/StoreSwitch__factory.ts +1 -1
  131. package/types/ethers-contracts/src/IStore.sol/IStore.ts +55 -0
  132. package/types/ethers-contracts/src/IStore.sol/IStoreData.ts +55 -0
  133. package/types/ethers-contracts/src/IStore.sol/IStoreWrite.ts +55 -0
@@ -73,19 +73,19 @@
73
73
  }
74
74
  ],
75
75
  "bytecode": {
76
- "object": "0x608060405234801561001057600080fd5b506116d5806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80638da798da14610030575b600080fd5b61004361003e3660046111ba565b610045565b005b6100d1610050610155565b836313861fb560e01b8460405160240161006a91906112be565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152600080610187565b506101518273ffffffffffffffffffffffffffffffffffffffff166317d7de7c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610120573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061014491906112d1565b82516020840120846102b1565b5050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec36013560601c806101845750335b90565b60606000848760405160200161019e929190611313565b604051602081830303815290604052905060008085610225578773ffffffffffffffffffffffffffffffffffffffff1685846040516101dd919061135d565b60006040518083038185875af1925050503d806000811461021a576040519150601f19603f3d011682016040523d82523d6000602084013e61021f565b606091505b5061028c565b8773ffffffffffffffffffffffffffffffffffffffff168360405161024a919061135d565b600060405180830381855af49150503d8060008114610285576040519150601f19603f3d011682016040523d82523d6000602084013e61028a565b606091505b505b9150915081156102a05792506102a8915050565b805160208201fd5b95945050505050565b60006102bc82610391565b6040805160028082526060820183529293506000929091602083019080368337019050509050846fffffffffffffffffffffffffffffffff19168160008151811061030957610309611379565b602002602001018181525050838160018151811061032957610329611379565b602090810291909101810191909152604080516000818401527f496e7374616c6c65644d6f64756c6573000000000000000000000000000000006030820152815180820390930183528101905261038a906103839061138f565b82846103db565b5050505050565b604051606082811b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000166020830152906034015b6040516020818303038152906040529050919050565b6103e361046f565b156103f8576103f38383836104ed565b505050565b6040517f8ed41f2f0000000000000000000000000000000000000000000000000000000081523390638ed41f2f90610438908690869086906004016113f1565b600060405180830381600087803b15801561045257600080fd5b505af1158015610466573d6000803e3d6000fd5b50505050505050565b6000303b80820361048257600191505090565b3073ffffffffffffffffffffffffffffffffffffffff1663a5c2f0076040518163ffffffff1660e01b815260040160006040518083038186803b1580156104c857600080fd5b505afa9250505080156104d9575060015b6104e557600091505090565b600191505090565b60006104f884610758565b905060006105068260f01c90565b905080600080610515856107ad565b60ff16111561054357506020848301015160e081901c61053690602061143c565b610540908361143c565b91505b845182146105935784516040517f521b3d3300000000000000000000000000000000000000000000000000000000815261058a918491600401918252602082015260400190565b60405180910390fd5b7f912af873e852235aae78a1d25ae9bb28b616a67c36898c53a14fd8184504ee328787876040516105c6939291906113f1565b60405180910390a160006105d9886107be565b905060005b81518110156106885760008282815181106105fb576105fb611379565b602002602001015190508073ffffffffffffffffffffffffffffffffffffffff166382b6745f8b8b8b6040518463ffffffff1660e01b8152600401610642939291906113f1565b600060405180830381600087803b15801561065c57600080fd5b505af1158015610670573d6000803e3d6000fd5b5050505050808061068090611454565b9150506105de565b506000610695898961089b565b9050602087016106a882600083896108f1565b6106b386602061143c565b6106bd908261143c565b90506106c8876107ad565b60ff166000036106de5750505050505050505050565b60006106ea8b8b6109ad565b858155905060008060005b6106fe8b6107ad565b60ff168160ff161015610748576107168e8e836109e4565b92506107258860ff8316610a40565b915061073483600087856108f1565b61073e828661143c565b94506001016106f5565b5050505050505050505050505050565b600061076382610a72565b9050806107a8578161077483610b37565b6040517fd623a70d00000000000000000000000000000000000000000000000000000000815260040161058a92919061146e565b919050565b6000601882901b5b60f81c92915050565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106107f8576107f8611379565b602090810291909101810191909152604080517f6d756473746f7265000000000000000000000000000000000000000000000000818401527f486f6f6b730000000000000000000000000000000000000000000000000000006030820152815180820390930183528101905260009061087c906108749061138f565b836000610b4c565b905061089361088e8260008451610bf2565b610c82565b949350505050565b60007f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d983836040516020016108d293929190611487565b60408051601f1981840301815291905280516020909101209392505050565b602083048401935060208381610909576109096114a6565b06925082156109625760208390036000600019600884021c1990506008850281811c91508451811c905081198754168282161787555081831161094d5750506109a7565b61095860018761143c565b9550509182019190035b6020811061098b578151845561097960018561143c565b935060209190910190601f1901610962565b80156109a75783548251600019600884021c9182169119161784555b50505050565b60007f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d983836040516020016108d2939291906114bc565b60007f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9848484604051602001610a1d949392919061151c565b6040516020818303038152906040528051906020012060001c90505b9392505050565b600080610a4e83600261154f565b610a5990600461143c565b9050610a6784826008021b90565b60f01c949350505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610aab57610aab611379565b602090810291909101810191909152604080517f6d756473746f7265000000000000000000000000000000000000000000000000818401527f736368656d61000000000000000000000000000000000000000000000000000060308201528151808203909301835281019052600090610b2d90610b279061138f565b8361089b565b9050610893815490565b6060816040516020016103c591815260200190565b6060610b5661046f565b15610b6d57610b66848484610c93565b9050610a39565b6040517fd03edb8c000000000000000000000000000000000000000000000000000000008152339063d03edb8c90610bad9087908790879060040161156e565b600060405180830381865afa158015610bca573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b66919081019061159a565b6000818311158015610c05575083518211155b610c41578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161058a93929190611608565b60208401610c4f848261143c565b90506000610c5d858561162d565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000610a398360146000610cae565b60606000610ca085610758565b90506102a885858584610df1565b60606000610cbc8560801c90565b90506fffffffffffffffffffffffffffffffff8516600084610cf457610ce386600861154f565b610cef9061010061162d565b610cf7565b60005b90506000868381610d0a57610d0a6114a6565b049050610d178784611644565b15610da4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f756e7061636b546f41727261793a207061636b65644c656e677468206d75737460448201527f2062652061206d756c7469706c65206f6620656c656d656e7453697a65000000606482015260840161058a565b602080820201604051955080860160405250808552600060208601855b83831015610de3578051851c8252600192909201916020909101908901610dc1565b505050505050509392505050565b6060610dfc82610e28565b60ff168360ff161015610e1c57610e1585858585610e34565b9050610893565b610e1585858585610e99565b6000601082901b6107b5565b60606000610e458360ff8616610ef2565b90506000610e638260c5811115610e5e57610e5e611666565b610f1e565b90506000610e71888861089b565b90506000610e7f8688610fcf565b9050610e8c828483611023565b9998505050505050505050565b60606000610ea683610e28565b610eb0908561167c565b90506000610ebf8787846109e4565b90506000610eda8360ff16610ed48a8a61107b565b90610a40565b9050610ee68282611088565b98975050505050505050565b6000610f0a83610f0384600461143c565b6008021b90565b60f81c60c5811115610a3957610a39611666565b6000808260c5811115610f3357610f33611666565b60ff1690506020811015610f4c57610a3981600161143c565b6040811015610f6c576020610f6282600161143c565b610a39919061162d565b6060811015610f82576040610f6282600161143c565b60608360c5811115610f9657610f96611666565b03610fa45750600192915050565b60618360c5811115610fb857610fb8611666565b03610fc65750601492915050565b50600092915050565b600080805b8360ff1681101561101b57610ffd610fec8683610ef2565b60c5811115610e5e57610e5e611666565b611007908361143c565b91508061101381611454565b915050610fd4565b509392505050565b60608267ffffffffffffffff81111561103e5761103e61114b565b6040519080825280601f01601f191660200182016040528015611068576020820181803683370190505b5090506020810161101b85858584611096565b600080610b2d84846109ad565b6060610a3983836000611023565b6020820484019350602082816110ae576110ae6114a6565b06915081156110ff5760208290036000600019600883021c1990508554600885021b8119845116828216178452508185116110ea5750506109a7565b6110f560018761143c565b9550509283900392015b60208310611127578354815261111660018561143c565b9350601f19909201916020016110ff565b82156109a7576000600019600885021c198251865482169119161782525050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561118a5761118a61114b565b604052919050565b600067ffffffffffffffff8211156111ac576111ac61114b565b50601f01601f191660200190565b600080604083850312156111cd57600080fd5b823573ffffffffffffffffffffffffffffffffffffffff811681146111f157600080fd5b9150602083013567ffffffffffffffff81111561120d57600080fd5b8301601f8101851361121e57600080fd5b803561123161122c82611192565b611161565b81815286602083850101111561124657600080fd5b816020840160208301376000602083830101528093505050509250929050565b60005b83811015611281578181015183820152602001611269565b838111156109a75750506000910152565b600081518084526112aa816020860160208601611266565b601f01601f19169290920160200192915050565b602081526000610a396020830184611292565b6000602082840312156112e357600080fd5b81517fffffffffffffffffffffffffffffffff0000000000000000000000000000000081168114610a3957600080fd5b60008351611325818460208801611266565b60609390931b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190920190815260140192915050565b6000825161136f818460208701611266565b9190910192915050565b634e487b7160e01b600052603260045260246000fd5b805160208083015191908110156113b0576000198160200360031b1b821691505b50919050565b600081518084526020808501945080840160005b838110156113e6578151875295820195908201906001016113ca565b509495945050505050565b83815260606020820152600061140a60608301856113b6565b828103604084015261141c8185611292565b9695505050505050565b634e487b7160e01b600052601160045260246000fd5b6000821982111561144f5761144f611426565b500190565b6000600019820361146757611467611426565b5060010190565b8281526040602082015260006108936040830184611292565b8381528260208201526060604082015260006102a860608301846113b6565b634e487b7160e01b600052601260045260246000fd5b8381528260208201526080604082015260006114db60808301846113b6565b8281036060840152600681527f6c656e6774680000000000000000000000000000000000000000000000000000602082015260408101915050949350505050565b84815283602082015260806040820152600061153b60808301856113b6565b905060ff8316606083015295945050505050565b600081600019048311821515161561156957611569611426565b500290565b83815260606020820152600061158760608301856113b6565b905060ff83166040830152949350505050565b6000602082840312156115ac57600080fd5b815167ffffffffffffffff8111156115c357600080fd5b8201601f810184136115d457600080fd5b80516115e261122c82611192565b8181528560208385010111156115f757600080fd5b6102a8826020830160208601611266565b60608152600061161b6060830186611292565b60208301949094525060400152919050565b60008282101561163f5761163f611426565b500390565b60008261166157634e487b7160e01b600052601260045260246000fd5b500690565b634e487b7160e01b600052602160045260246000fd5b600060ff821660ff84168082101561169657611696611426565b9003939250505056fea2646970667358221220abb12d2980d814c915050ddce0c64e55942c0d6bd610817e5e6e810c693e212464736f6c634300080d0033",
76
+ "object": "0x608060405234801561001057600080fd5b506116d5806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80638da798da14610030575b600080fd5b61004361003e3660046111ba565b610045565b005b6100d1610050610155565b836313861fb560e01b8460405160240161006a91906112be565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152600080610187565b506101518273ffffffffffffffffffffffffffffffffffffffff166317d7de7c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610120573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061014491906112d1565b82516020840120846102b1565b5050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec36013560601c806101845750335b90565b60606000848760405160200161019e929190611313565b604051602081830303815290604052905060008085610225578773ffffffffffffffffffffffffffffffffffffffff1685846040516101dd919061135d565b60006040518083038185875af1925050503d806000811461021a576040519150601f19603f3d011682016040523d82523d6000602084013e61021f565b606091505b5061028c565b8773ffffffffffffffffffffffffffffffffffffffff168360405161024a919061135d565b600060405180830381855af49150503d8060008114610285576040519150601f19603f3d011682016040523d82523d6000602084013e61028a565b606091505b505b9150915081156102a05792506102a8915050565b805160208201fd5b95945050505050565b60006102bc82610391565b6040805160028082526060820183529293506000929091602083019080368337019050509050846fffffffffffffffffffffffffffffffff19168160008151811061030957610309611379565b602002602001018181525050838160018151811061032957610329611379565b602090810291909101810191909152604080516000818401527f496e7374616c6c65644d6f64756c6573000000000000000000000000000000006030820152815180820390930183528101905261038a906103839061138f565b82846103db565b5050505050565b604051606082811b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000166020830152906034015b6040516020818303038152906040529050919050565b6103e361046f565b156103f8576103f38383836104ed565b505050565b6040517f8ed41f2f0000000000000000000000000000000000000000000000000000000081523390638ed41f2f90610438908690869086906004016113f1565b600060405180830381600087803b15801561045257600080fd5b505af1158015610466573d6000803e3d6000fd5b50505050505050565b6000303b80820361048257600191505090565b3073ffffffffffffffffffffffffffffffffffffffff1663a5c2f0076040518163ffffffff1660e01b815260040160006040518083038186803b1580156104c857600080fd5b505afa9250505080156104d9575060015b6104e557600091505090565b600191505090565b60006104f884610758565b905060006105068260f01c90565b905080600080610515856107ad565b60ff16111561054357506020848301015160e081901c61053690602061143c565b610540908361143c565b91505b845182146105935784516040517f521b3d3300000000000000000000000000000000000000000000000000000000815261058a918491600401918252602082015260400190565b60405180910390fd5b7f912af873e852235aae78a1d25ae9bb28b616a67c36898c53a14fd8184504ee328787876040516105c6939291906113f1565b60405180910390a160006105d9886107be565b905060005b81518110156106885760008282815181106105fb576105fb611379565b602002602001015190508073ffffffffffffffffffffffffffffffffffffffff166382b6745f8b8b8b6040518463ffffffff1660e01b8152600401610642939291906113f1565b600060405180830381600087803b15801561065c57600080fd5b505af1158015610670573d6000803e3d6000fd5b5050505050808061068090611454565b9150506105de565b506000610695898961089b565b9050602087016106a882600083896108f1565b6106b386602061143c565b6106bd908261143c565b90506106c8876107ad565b60ff166000036106de5750505050505050505050565b60006106ea8b8b6109ad565b858155905060008060005b6106fe8b6107ad565b60ff168160ff161015610748576107168e8e836109e4565b92506107258860ff8316610a40565b915061073483600087856108f1565b61073e828661143c565b94506001016106f5565b5050505050505050505050505050565b600061076382610a72565b9050806107a8578161077483610b37565b6040517fd623a70d00000000000000000000000000000000000000000000000000000000815260040161058a92919061146e565b919050565b6000601882901b5b60f81c92915050565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106107f8576107f8611379565b602090810291909101810191909152604080517f6d756473746f7265000000000000000000000000000000000000000000000000818401527f486f6f6b730000000000000000000000000000000000000000000000000000006030820152815180820390930183528101905260009061087c906108749061138f565b836000610b4c565b905061089361088e8260008451610bf2565b610c82565b949350505050565b60007f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d983836040516020016108d293929190611487565b60408051601f1981840301815291905280516020909101209392505050565b602083048401935060208381610909576109096114a6565b06925082156109625760208390036000600019600884021c1990506008850281811c91508451811c905081198754168282161787555081831161094d5750506109a7565b61095860018761143c565b9550509182019190035b6020811061098b578151845561097960018561143c565b935060209190910190601f1901610962565b80156109a75783548251600019600884021c9182169119161784555b50505050565b60007f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d983836040516020016108d2939291906114bc565b60007f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9848484604051602001610a1d949392919061151c565b6040516020818303038152906040528051906020012060001c90505b9392505050565b600080610a4e83600261154f565b610a5990600461143c565b9050610a6784826008021b90565b60f01c949350505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610aab57610aab611379565b602090810291909101810191909152604080517f6d756473746f7265000000000000000000000000000000000000000000000000818401527f736368656d61000000000000000000000000000000000000000000000000000060308201528151808203909301835281019052600090610b2d90610b279061138f565b8361089b565b9050610893815490565b6060816040516020016103c591815260200190565b6060610b5661046f565b15610b6d57610b66848484610c93565b9050610a39565b6040517fd03edb8c000000000000000000000000000000000000000000000000000000008152339063d03edb8c90610bad9087908790879060040161156e565b600060405180830381865afa158015610bca573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b66919081019061159a565b6000818311158015610c05575083518211155b610c41578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161058a93929190611608565b60208401610c4f848261143c565b90506000610c5d858561162d565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000610a398360146000610cae565b60606000610ca085610758565b90506102a885858584610df1565b60606000610cbc8560801c90565b90506fffffffffffffffffffffffffffffffff8516600084610cf457610ce386600861154f565b610cef9061010061162d565b610cf7565b60005b90506000868381610d0a57610d0a6114a6565b049050610d178784611644565b15610da4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f756e7061636b546f41727261793a207061636b65644c656e677468206d75737460448201527f2062652061206d756c7469706c65206f6620656c656d656e7453697a65000000606482015260840161058a565b602080820201604051955080860160405250808552600060208601855b83831015610de3578051851c8252600192909201916020909101908901610dc1565b505050505050509392505050565b6060610dfc82610e28565b60ff168360ff161015610e1c57610e1585858585610e34565b9050610893565b610e1585858585610e99565b6000601082901b6107b5565b60606000610e458360ff8616610ef2565b90506000610e638260c5811115610e5e57610e5e611666565b610f1e565b90506000610e71888861089b565b90506000610e7f8688610fcf565b9050610e8c828483611023565b9998505050505050505050565b60606000610ea683610e28565b610eb0908561167c565b90506000610ebf8787846109e4565b90506000610eda8360ff16610ed48a8a61107b565b90610a40565b9050610ee68282611088565b98975050505050505050565b6000610f0a83610f0384600461143c565b6008021b90565b60f81c60c5811115610a3957610a39611666565b6000808260c5811115610f3357610f33611666565b60ff1690506020811015610f4c57610a3981600161143c565b6040811015610f6c576020610f6282600161143c565b610a39919061162d565b6060811015610f82576040610f6282600161143c565b60608360c5811115610f9657610f96611666565b03610fa45750600192915050565b60618360c5811115610fb857610fb8611666565b03610fc65750601492915050565b50600092915050565b600080805b8360ff1681101561101b57610ffd610fec8683610ef2565b60c5811115610e5e57610e5e611666565b611007908361143c565b91508061101381611454565b915050610fd4565b509392505050565b60608267ffffffffffffffff81111561103e5761103e61114b565b6040519080825280601f01601f191660200182016040528015611068576020820181803683370190505b5090506020810161101b85858584611096565b600080610b2d84846109ad565b6060610a3983836000611023565b6020820484019350602082816110ae576110ae6114a6565b06915081156110ff5760208290036000600019600883021c1990508554600885021b8119845116828216178452508185116110ea5750506109a7565b6110f560018761143c565b9550509283900392015b60208310611127578354815261111660018561143c565b9350601f19909201916020016110ff565b82156109a7576000600019600885021c198251865482169119161782525050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561118a5761118a61114b565b604052919050565b600067ffffffffffffffff8211156111ac576111ac61114b565b50601f01601f191660200190565b600080604083850312156111cd57600080fd5b823573ffffffffffffffffffffffffffffffffffffffff811681146111f157600080fd5b9150602083013567ffffffffffffffff81111561120d57600080fd5b8301601f8101851361121e57600080fd5b803561123161122c82611192565b611161565b81815286602083850101111561124657600080fd5b816020840160208301376000602083830101528093505050509250929050565b60005b83811015611281578181015183820152602001611269565b838111156109a75750506000910152565b600081518084526112aa816020860160208601611266565b601f01601f19169290920160200192915050565b602081526000610a396020830184611292565b6000602082840312156112e357600080fd5b81517fffffffffffffffffffffffffffffffff0000000000000000000000000000000081168114610a3957600080fd5b60008351611325818460208801611266565b60609390931b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190920190815260140192915050565b6000825161136f818460208701611266565b9190910192915050565b634e487b7160e01b600052603260045260246000fd5b805160208083015191908110156113b0576000198160200360031b1b821691505b50919050565b600081518084526020808501945080840160005b838110156113e6578151875295820195908201906001016113ca565b509495945050505050565b83815260606020820152600061140a60608301856113b6565b828103604084015261141c8185611292565b9695505050505050565b634e487b7160e01b600052601160045260246000fd5b6000821982111561144f5761144f611426565b500190565b6000600019820361146757611467611426565b5060010190565b8281526040602082015260006108936040830184611292565b8381528260208201526060604082015260006102a860608301846113b6565b634e487b7160e01b600052601260045260246000fd5b8381528260208201526080604082015260006114db60808301846113b6565b8281036060840152600681527f6c656e6774680000000000000000000000000000000000000000000000000000602082015260408101915050949350505050565b84815283602082015260806040820152600061153b60808301856113b6565b905060ff8316606083015295945050505050565b600081600019048311821515161561156957611569611426565b500290565b83815260606020820152600061158760608301856113b6565b905060ff83166040830152949350505050565b6000602082840312156115ac57600080fd5b815167ffffffffffffffff8111156115c357600080fd5b8201601f810184136115d457600080fd5b80516115e261122c82611192565b8181528560208385010111156115f757600080fd5b6102a8826020830160208601611266565b60608152600061161b6060830186611292565b60208301949094525060400152919050565b60008282101561163f5761163f611426565b500390565b60008261166157634e487b7160e01b600052601260045260246000fd5b500690565b634e487b7160e01b600052602160045260246000fd5b600060ff821660ff84168082101561169657611696611426565b9003939250505056fea2646970667358221220ab737301439604692dc82593abcf8935d123bcc3baf96fbcada4f1a78132853864736f6c634300080d0033",
77
77
  "sourceMap": "468:548:69:-:0;;;;;;;;;;;;;;;;;;;",
78
78
  "linkReferences": {}
79
79
  },
80
80
  "deployedBytecode": {
81
- "object": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c80638da798da14610030575b600080fd5b61004361003e3660046111ba565b610045565b005b6100d1610050610155565b836313861fb560e01b8460405160240161006a91906112be565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152600080610187565b506101518273ffffffffffffffffffffffffffffffffffffffff166317d7de7c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610120573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061014491906112d1565b82516020840120846102b1565b5050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec36013560601c806101845750335b90565b60606000848760405160200161019e929190611313565b604051602081830303815290604052905060008085610225578773ffffffffffffffffffffffffffffffffffffffff1685846040516101dd919061135d565b60006040518083038185875af1925050503d806000811461021a576040519150601f19603f3d011682016040523d82523d6000602084013e61021f565b606091505b5061028c565b8773ffffffffffffffffffffffffffffffffffffffff168360405161024a919061135d565b600060405180830381855af49150503d8060008114610285576040519150601f19603f3d011682016040523d82523d6000602084013e61028a565b606091505b505b9150915081156102a05792506102a8915050565b805160208201fd5b95945050505050565b60006102bc82610391565b6040805160028082526060820183529293506000929091602083019080368337019050509050846fffffffffffffffffffffffffffffffff19168160008151811061030957610309611379565b602002602001018181525050838160018151811061032957610329611379565b602090810291909101810191909152604080516000818401527f496e7374616c6c65644d6f64756c6573000000000000000000000000000000006030820152815180820390930183528101905261038a906103839061138f565b82846103db565b5050505050565b604051606082811b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000166020830152906034015b6040516020818303038152906040529050919050565b6103e361046f565b156103f8576103f38383836104ed565b505050565b6040517f8ed41f2f0000000000000000000000000000000000000000000000000000000081523390638ed41f2f90610438908690869086906004016113f1565b600060405180830381600087803b15801561045257600080fd5b505af1158015610466573d6000803e3d6000fd5b50505050505050565b6000303b80820361048257600191505090565b3073ffffffffffffffffffffffffffffffffffffffff1663a5c2f0076040518163ffffffff1660e01b815260040160006040518083038186803b1580156104c857600080fd5b505afa9250505080156104d9575060015b6104e557600091505090565b600191505090565b60006104f884610758565b905060006105068260f01c90565b905080600080610515856107ad565b60ff16111561054357506020848301015160e081901c61053690602061143c565b610540908361143c565b91505b845182146105935784516040517f521b3d3300000000000000000000000000000000000000000000000000000000815261058a918491600401918252602082015260400190565b60405180910390fd5b7f912af873e852235aae78a1d25ae9bb28b616a67c36898c53a14fd8184504ee328787876040516105c6939291906113f1565b60405180910390a160006105d9886107be565b905060005b81518110156106885760008282815181106105fb576105fb611379565b602002602001015190508073ffffffffffffffffffffffffffffffffffffffff166382b6745f8b8b8b6040518463ffffffff1660e01b8152600401610642939291906113f1565b600060405180830381600087803b15801561065c57600080fd5b505af1158015610670573d6000803e3d6000fd5b5050505050808061068090611454565b9150506105de565b506000610695898961089b565b9050602087016106a882600083896108f1565b6106b386602061143c565b6106bd908261143c565b90506106c8876107ad565b60ff166000036106de5750505050505050505050565b60006106ea8b8b6109ad565b858155905060008060005b6106fe8b6107ad565b60ff168160ff161015610748576107168e8e836109e4565b92506107258860ff8316610a40565b915061073483600087856108f1565b61073e828661143c565b94506001016106f5565b5050505050505050505050505050565b600061076382610a72565b9050806107a8578161077483610b37565b6040517fd623a70d00000000000000000000000000000000000000000000000000000000815260040161058a92919061146e565b919050565b6000601882901b5b60f81c92915050565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106107f8576107f8611379565b602090810291909101810191909152604080517f6d756473746f7265000000000000000000000000000000000000000000000000818401527f486f6f6b730000000000000000000000000000000000000000000000000000006030820152815180820390930183528101905260009061087c906108749061138f565b836000610b4c565b905061089361088e8260008451610bf2565b610c82565b949350505050565b60007f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d983836040516020016108d293929190611487565b60408051601f1981840301815291905280516020909101209392505050565b602083048401935060208381610909576109096114a6565b06925082156109625760208390036000600019600884021c1990506008850281811c91508451811c905081198754168282161787555081831161094d5750506109a7565b61095860018761143c565b9550509182019190035b6020811061098b578151845561097960018561143c565b935060209190910190601f1901610962565b80156109a75783548251600019600884021c9182169119161784555b50505050565b60007f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d983836040516020016108d2939291906114bc565b60007f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9848484604051602001610a1d949392919061151c565b6040516020818303038152906040528051906020012060001c90505b9392505050565b600080610a4e83600261154f565b610a5990600461143c565b9050610a6784826008021b90565b60f01c949350505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610aab57610aab611379565b602090810291909101810191909152604080517f6d756473746f7265000000000000000000000000000000000000000000000000818401527f736368656d61000000000000000000000000000000000000000000000000000060308201528151808203909301835281019052600090610b2d90610b279061138f565b8361089b565b9050610893815490565b6060816040516020016103c591815260200190565b6060610b5661046f565b15610b6d57610b66848484610c93565b9050610a39565b6040517fd03edb8c000000000000000000000000000000000000000000000000000000008152339063d03edb8c90610bad9087908790879060040161156e565b600060405180830381865afa158015610bca573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b66919081019061159a565b6000818311158015610c05575083518211155b610c41578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161058a93929190611608565b60208401610c4f848261143c565b90506000610c5d858561162d565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000610a398360146000610cae565b60606000610ca085610758565b90506102a885858584610df1565b60606000610cbc8560801c90565b90506fffffffffffffffffffffffffffffffff8516600084610cf457610ce386600861154f565b610cef9061010061162d565b610cf7565b60005b90506000868381610d0a57610d0a6114a6565b049050610d178784611644565b15610da4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f756e7061636b546f41727261793a207061636b65644c656e677468206d75737460448201527f2062652061206d756c7469706c65206f6620656c656d656e7453697a65000000606482015260840161058a565b602080820201604051955080860160405250808552600060208601855b83831015610de3578051851c8252600192909201916020909101908901610dc1565b505050505050509392505050565b6060610dfc82610e28565b60ff168360ff161015610e1c57610e1585858585610e34565b9050610893565b610e1585858585610e99565b6000601082901b6107b5565b60606000610e458360ff8616610ef2565b90506000610e638260c5811115610e5e57610e5e611666565b610f1e565b90506000610e71888861089b565b90506000610e7f8688610fcf565b9050610e8c828483611023565b9998505050505050505050565b60606000610ea683610e28565b610eb0908561167c565b90506000610ebf8787846109e4565b90506000610eda8360ff16610ed48a8a61107b565b90610a40565b9050610ee68282611088565b98975050505050505050565b6000610f0a83610f0384600461143c565b6008021b90565b60f81c60c5811115610a3957610a39611666565b6000808260c5811115610f3357610f33611666565b60ff1690506020811015610f4c57610a3981600161143c565b6040811015610f6c576020610f6282600161143c565b610a39919061162d565b6060811015610f82576040610f6282600161143c565b60608360c5811115610f9657610f96611666565b03610fa45750600192915050565b60618360c5811115610fb857610fb8611666565b03610fc65750601492915050565b50600092915050565b600080805b8360ff1681101561101b57610ffd610fec8683610ef2565b60c5811115610e5e57610e5e611666565b611007908361143c565b91508061101381611454565b915050610fd4565b509392505050565b60608267ffffffffffffffff81111561103e5761103e61114b565b6040519080825280601f01601f191660200182016040528015611068576020820181803683370190505b5090506020810161101b85858584611096565b600080610b2d84846109ad565b6060610a3983836000611023565b6020820484019350602082816110ae576110ae6114a6565b06915081156110ff5760208290036000600019600883021c1990508554600885021b8119845116828216178452508185116110ea5750506109a7565b6110f560018761143c565b9550509283900392015b60208310611127578354815261111660018561143c565b9350601f19909201916020016110ff565b82156109a7576000600019600885021c198251865482169119161782525050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561118a5761118a61114b565b604052919050565b600067ffffffffffffffff8211156111ac576111ac61114b565b50601f01601f191660200190565b600080604083850312156111cd57600080fd5b823573ffffffffffffffffffffffffffffffffffffffff811681146111f157600080fd5b9150602083013567ffffffffffffffff81111561120d57600080fd5b8301601f8101851361121e57600080fd5b803561123161122c82611192565b611161565b81815286602083850101111561124657600080fd5b816020840160208301376000602083830101528093505050509250929050565b60005b83811015611281578181015183820152602001611269565b838111156109a75750506000910152565b600081518084526112aa816020860160208601611266565b601f01601f19169290920160200192915050565b602081526000610a396020830184611292565b6000602082840312156112e357600080fd5b81517fffffffffffffffffffffffffffffffff0000000000000000000000000000000081168114610a3957600080fd5b60008351611325818460208801611266565b60609390931b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190920190815260140192915050565b6000825161136f818460208701611266565b9190910192915050565b634e487b7160e01b600052603260045260246000fd5b805160208083015191908110156113b0576000198160200360031b1b821691505b50919050565b600081518084526020808501945080840160005b838110156113e6578151875295820195908201906001016113ca565b509495945050505050565b83815260606020820152600061140a60608301856113b6565b828103604084015261141c8185611292565b9695505050505050565b634e487b7160e01b600052601160045260246000fd5b6000821982111561144f5761144f611426565b500190565b6000600019820361146757611467611426565b5060010190565b8281526040602082015260006108936040830184611292565b8381528260208201526060604082015260006102a860608301846113b6565b634e487b7160e01b600052601260045260246000fd5b8381528260208201526080604082015260006114db60808301846113b6565b8281036060840152600681527f6c656e6774680000000000000000000000000000000000000000000000000000602082015260408101915050949350505050565b84815283602082015260806040820152600061153b60808301856113b6565b905060ff8316606083015295945050505050565b600081600019048311821515161561156957611569611426565b500290565b83815260606020820152600061158760608301856113b6565b905060ff83166040830152949350505050565b6000602082840312156115ac57600080fd5b815167ffffffffffffffff8111156115c357600080fd5b8201601f810184136115d457600080fd5b80516115e261122c82611192565b8181528560208385010111156115f757600080fd5b6102a8826020830160208601611266565b60608152600061161b6060830186611292565b60208301949094525060400152919050565b60008282101561163f5761163f611426565b500390565b60008261166157634e487b7160e01b600052601260045260246000fd5b500690565b634e487b7160e01b600052602160045260246000fd5b600060ff821660ff84168082101561169657611696611426565b9003939250505056fea2646970667358221220abb12d2980d814c915050ddce0c64e55942c0d6bd610817e5e6e810c693e212464736f6c634300080d0033",
82
- "sourceMap": "468:548:69:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;595:419;;;;;;:::i;:::-;;:::i;:::-;;;666:207;701:12;:10;:12::i;:::-;737:6;796:24;;;822:4;773:54;;;;;;;;:::i;:::-;;;;-1:-1:-1;;773:54:69;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;666:15:69;:207::i;:::-;;937:72;958:6;:14;;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;976:15;;;;;;1001:6;937:20;:72::i;:::-;595:419;;:::o;409:228:52:-;551:23;555:14;551:23;538:37;534:2;530:46;;587:45;;-1:-1:-1;622:10:52;587:45;409:228;:::o;499:808:46:-;660:12;721:21;762:19;783:9;745:48;;;;;;;;;:::i;:::-;;;;;;;;;;;;;721:72;;855:12;869:17;890:8;:107;;960:6;:11;;980:5;988:8;960:37;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;890:107;;;907:6;:19;;927:8;907:29;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;890:107;854:143;;;;1078:7;1074:24;;;1094:4;-1:-1:-1;1087:11:46;;-1:-1:-1;;1087:11:46;1074:24;1291:4;1285:11;1278:4;1272;1268:15;1261:36;499:808;;;;;;;;:::o;5210:348:88:-;5304:18;5325:21;5332:13;5325:6;:21::i;:::-;5385:16;;;5399:1;5385:16;;;;;;;;5304:42;;-1:-1:-1;5353:29:88;;5385:16;;;;;;;;;;;;-1:-1:-1;5385:16:88;5353:48;;5434:10;5425:21;;;5407:12;5420:1;5407:15;;;;;;;;:::i;:::-;;;;;;:39;;;;;5479:13;5452:12;5465:1;5452:15;;;;;;;;:::i;:::-;;;;;;;;;;;:42;;;;885:58;;;902:11;885:58;;;3995:28:93;915:27:88;4039:12:93;;;4032:37;885:58:88;;;;;;;;;;4085:12:93;;885:58:88;;5501:52;;877:67;;;:::i;:::-;5533:12;5547:5;5501:21;:52::i;:::-;5298:260;;5210:348;;;:::o;6779:125::-;6868:31;;6841:12;4615:15:93;;;4632:66;4611:88;6868:31:88;;;4599:101:93;6841:12:88;4716::93;;6868:31:88;;;;;;;;;;;;;6861:38;;6779:125;;;:::o;2248:235:32:-;2342:16;:14;:16::i;:::-;2338:141;;;2368:37;2388:5;2395:3;2400:4;2368:19;:37::i;:::-;2248:235;;;:::o;2338:141::-;2426:46;;;;;2433:10;;2426:28;;:46;;2455:5;;2462:3;;2467:4;;2426:46;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2248:235;;;:::o;624:497::-;673:12;802:9;790:22;915:13;;;911:30;;937:4;930:11;;;624:497;:::o;911:30::-;1034:4;1019:29;;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1015:102;;1105:5;1095:15;;687:434;624:497;:::o;1015:102::-;1069:4;1059:14;;687:434;624:497;:::o;5090:2817:30:-;5326:13;5342:18;5352:7;5342:9;:18::i;:::-;5326:34;;5445:20;5468:25;:6;4373:37:27;;;4279:137;5468:25:30;5445:48;-1:-1:-1;5445:48:30;5499:22;;5579:25;:6;:23;:25::i;:::-;:29;;;5575:271;;;-1:-1:-1;12471:4:22;12457:27;;;;12451:34;2453:51:26;;;;5788:26:30;;:2;:26;:::i;:::-;5770:44;;;;:::i;:::-;;;5575:271;5874:4;:11;5856:14;:29;5852:121;;5954:11;;5902:64;;;;;;;5938:14;;5902:64;;6172:25:93;;;6228:2;6213:18;;6206:34;6160:2;6145:18;;5998:248;5902:64:30;;;;;;;;5852:121;6021:34;6036:7;6045:3;6050:4;6021:34;;;;;;;;:::i;:::-;;;;;;;;6188:22;6213:18;6223:7;6213:9;:18::i;:::-;6188:43;;6242:9;6237:136;6257:5;:12;6253:1;:16;6237:136;;;6284:15;6313:5;6319:1;6313:8;;;;;;;;:::i;:::-;;;;;;;6284:38;;6330:4;:16;;;6347:7;6356:3;6361:4;6330:36;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6276:97;6271:3;;;;;:::i;:::-;;;;6237:136;;;;6436:26;6465:54;6506:7;6515:3;6465:40;:54::i;:::-;6436:83;-1:-1:-1;558:4:25;548:15;;6579:144:30;6436:83;6525:21;548:15:25;6704:12:30;6579:13;:144::i;:::-;6746:17;:12;6761:2;6746:17;:::i;:::-;6729:34;;;;:::i;:::-;;;6915:25;:6;:23;:25::i;:::-;:30;;6944:1;6915:30;6911:43;;6947:7;;;;;;;5090:2817;;;:::o;6911:43::-;7033:33;7069:61;7117:7;7126:3;7069:47;:61::i;:::-;461:28:29;;;7033:97:30;-1:-1:-1;7331:27:30;7364:25;7400:7;7395:508;7413:25;:6;:23;:25::i;:::-;7409:29;;:1;:29;;;7395:508;;;7472:58;7514:7;7523:3;7528:1;7472:41;:58::i;:::-;7450:80;-1:-1:-1;7558:24:30;:13;:24;;;:21;:24::i;:::-;7538:44;;7590:160;7630:19;7667:1;7693:13;7724:17;7590:13;:160::i;:::-;7758:34;7775:17;7758:34;;:::i;:::-;;-1:-1:-1;7885:3:30;;7395:508;;;;5176:2731;;;;;;;;;;5090:2817;;;:::o;2576:240::-;2635:13;2665:37;2694:7;2665:28;:37::i;:::-;2656:46;-1:-1:-1;5426:35:27;2708:104:30;;2777:7;2786:18;:7;:16;:18::i;:::-;2745:60;;;;;;;;;;;;:::i;2708:104::-;2576:240;;;:::o;4749:134:27:-;4813:5;4191:13:22;4187:24;;;4839:38:27;4833:45;;;4749:134;-1:-1:-1;;4749:134:27:o;2349:326:37:-;2460:16;;;2474:1;2460:16;;;;;;;;;2398:22;;2428:29;;2460:16;;;;;;;;;;;;-1:-1:-1;2460:16:37;2428:48;;2509:3;2482:12;2495:1;2482:15;;;;;;;;:::i;:::-;;;;;;;;;;;:32;;;;741:55;;;758:19;741:55;;;3995:28:93;779:16:37;4039:12:93;;;4032:37;741:55:37;;;;;;;;;;4085:12:93;;741:55:37;;-1:-1:-1;;2542:47:37;;733:64;;;:::i;:::-;2573:12;2587:1;2542:20;:47::i;:::-;2521:68;;2603:66;:44;2624:5;2631:1;2634:5;:12;2603:20;:44::i;:::-;:64;:66::i;:::-;2595:75;2349:326;-1:-1:-1;;;;2349:326:37:o;23642:171:30:-;23736:7;16469:22;23793:7;23802:3;23776:30;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;23776:30:30;;;;;;;;;23766:41;;23776:30;23766:41;;;;;23642:171;-1:-1:-1;;;23642:171:30:o;875:2233:29:-;1146:2;1137:6;:11;1119:29;;;;1166:2;1156:12;;;;;;:::i;:::-;;;-1:-1:-1;1261:10:29;;1257:1071;;1459:2;:11;;;1339:21;-1:-1:-1;;790:1:34;777:14;;755:37;753:40;1487:37:29;;1685:1;1677:6;1673:14;1719:4;1708:9;1704:20;1696:28;;1772:13;1766:20;1755:9;1751:36;1733:54;;2006:4;2002:9;1985:14;1979:21;1975:37;1910:4;1898:10;1894:21;1841:183;1815:14;1797:237;;2087:13;2077:6;:23;2073:36;;2102:7;;;;2073:36;2143:19;2161:1;2143:19;;:::i;:::-;;-1:-1:-1;;2250:30:29;;;;2290:23;;1257:1071;2375:2;2365:6;:12;2358:301;;2470:20;;2447:44;;2506:19;2524:1;2454:14;2506:19;:::i;:::-;;-1:-1:-1;2620:2:29;2603:19;;;;;-1:-1:-1;;2632:12:29;2358:301;;;2727:10;;2723:381;;3035:21;;2951:20;;-1:-1:-1;;790:1:34;777:14;;755:37;3031::29;;;753:40:34;;2947:31:29;2896:184;2852:238;;2723:381;875:2233;;;;:::o;24716:188:30:-;24817:7;16469:22;24874:7;24883:3;24857:40;;;;;;;;;;:::i;24411:220::-;24541:7;16469:22;24598:7;24607:3;24612:11;24581:43;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;24571:54;;;;;;24563:63;;24556:70;;24411:220;;;;;;:::o;2625:221:26:-;2709:7;;2745:9;:5;2753:1;2745:9;:::i;:::-;2741:13;;:1;:13;:::i;:::-;2724:30;;2782:57;2816:13;2832:6;4195:1:22;4191:13;4187:24;;4059:181;2782:57:26;2775:65;;;2625:221;-1:-1:-1;;;;2625:221:26:o;16785:292:30:-;16882:16;;;16896:1;16882:16;;;;;;;;;16845:6;;;;16882:16;;;;;;;;;;;;-1:-1:-1;16882:16:30;16859:39;;16913:7;16904:3;16908:1;16904:6;;;;;;;;:::i;:::-;;;;;;;;;;;:16;;;;16544:56;;;16561:19;16544:56;;;3995:28:93;16582:17:30;4039:12:93;;;4032:37;16544:56:30;;;;;;;;;;4085:12:93;;16544:56:30;;-1:-1:-1;;16945:59:30;;16536:65;;;:::i;:::-;17000:3;16945:40;:59::i;:::-;16926:78;;17029:42;17060:8;3218:21:29;;3112:137;78:124:33;136:13;188:7;171:25;;;;;;8869:19:93;;8913:2;8904:12;;8740:182;4206:285:32;4302:12;4326:16;:14;:16::i;:::-;4322:165;;;4359:42;4378:5;4385:3;4390:10;4359:18;:42::i;:::-;4352:49;;;;4322:165;4429:51;;;;;4436:10;;4429:27;;:51;;4457:5;;4464:3;;4469:10;;4429:51;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4429:51:32;;;;;;;;;;;;:::i;1563:570:28:-;1654:5;1752:3;1743:5;:12;;:34;;;;;1766:4;:11;1759:3;:18;;1743:34;1737:85;;1805:4;1811:5;1818:3;1787:35;;;;;;;;;;;;;:::i;1737:85::-;1890:4;1880:15;;1937:17;1949:5;1880:15;1937:17;:::i;:::-;;-1:-1:-1;1960:12:28;1975:11;1981:5;1975:3;:11;:::i;:::-;642:17;2111:15;2103:3;2091:15;;;;2090:37;;;;;;-1:-1:-1;;;;;1563:570:28:o;22003:279:41:-;22067:23;22161:29;22193:34;22211:4;22217:2;22221:5;22193:17;:34::i;15699:214:30:-;15798:12;15818:13;15834:18;15844:7;15834:9;:18::i;:::-;15818:34;;15865:43;15874:7;15883:3;15888:11;15901:6;15865:8;:43::i;2422:1642:43:-;2535:22;2565:21;2589;:11;2372:3:28;2350:25;;2276:104;2589:21:43;2565:45;-1:-1:-1;642:17:28;2513:38;;2616:20:43;2683:11;:39;;2707:15;:11;2721:1;2707:15;:::i;:::-;2701:21;;:3;:21;:::i;:::-;2683:39;;;2697:1;2683:39;2665:57;;2769:19;2841:11;2826:12;:26;;;;;:::i;:::-;;;-1:-1:-1;3009:26:43;3024:11;3009:12;:26;:::i;:::-;:31;3005:123;;3050:71;;;;;10948:2:93;3050:71:43;;;10930:21:93;10987:2;10967:18;;;10960:30;11026:34;11006:18;;;10999:62;11097:31;11077:18;;;11070:59;11146:19;;3050:71:43;10746:425:93;3005:123:43;3314:4;3309:2;3296:11;3292:20;3288:31;3401:4;3395:11;3386:20;;3437:13;3430:5;3426:25;3420:4;3413:39;;3502:11;3495:5;3488:26;3545:1;3585:4;3578:5;3574:16;3640:13;3522:532;3668:11;3665:1;3662:18;3522:532;;;3997:19;;3984:33;;3964:54;;3755:1;3748:9;;;;;3798:4;3781:22;;;;3867:30;;3522:532;;;3526:135;;;3182:878;;;;2422:1642;;;;;:::o;16013:389:30:-;16147:12;16185:24;:6;:22;:24::i;:::-;16171:38;;:11;:38;;;16167:231;;;16226:68;16260:7;16269:3;16274:11;16287:6;16226:33;:68::i;:::-;16219:75;;;;16167:231;16322:69;16357:7;16366:3;16371:11;16384:6;16322:34;:69::i;4958:133:27:-;5021:5;4191:13:22;4187:24;;;5047:38:27;4059:181:22;21935:599:30;22076:12;22167:21;22191:27;:6;:27;;;:14;:27::i;:::-;22167:51;;22224:18;22245:32;:10;:30;;;;;;;;:::i;:::-;;:32::i;:::-;22224:53;;22283:16;22302:36;22325:7;22334:3;22302:22;:36::i;:::-;22283:55;;22344:14;22361:41;22382:6;22390:11;22361:20;:41::i;:::-;22344:58;;22451:78;22482:8;22500:10;22520:6;22451:12;:78::i;:::-;22444:85;21935:599;-1:-1:-1;;;;;;;;;21935:599:30:o;22642:552::-;22784:12;22868:24;22909;:6;:22;:24::i;:::-;22895:38;;:11;:38;:::i;:::-;22868:65;;22939:16;22958:57;22982:7;22991:3;22996:18;22958:23;:57::i;:::-;22939:76;;23021:18;23042:71;23094:18;23042:71;;:43;23072:7;23081:3;23042:29;:43::i;:::-;:51;;:71::i;:::-;23021:92;;23127:62;23158:8;23176:10;23127:12;:62::i;:::-;23120:69;22642:552;-1:-1:-1;;;;;;;;22642:552:30:o;4502:165:27:-;4572:10;4614:46;4641:6;4650:9;:5;4658:1;4650:9;:::i;:::-;4195:1:22;4191:13;4187:24;;4059:181;4614:46:27;4608:53;;4597:65;;;;;;;;:::i;3194:543:21:-;3260:7;3273:13;3295:10;3289:17;;;;;;;;:::i;:::-;3273:33;;;;3323:2;3315:5;:10;3311:229;;;3357:9;:5;3365:1;3357:9;:::i;3311:229::-;3389:2;3381:5;:10;3377:163;;;3448:2;3436:9;:5;3444:1;3436:9;:::i;:::-;:14;;;;:::i;3377:163::-;3473:2;3465:5;:10;3461:79;;;3533:2;3521:9;:5;3529:1;3521:9;:::i;3461:79::-;3586:15;3572:10;:29;;;;;;;;:::i;:::-;;3568:118;;-1:-1:-1;3616:1:21;;3194:543;-1:-1:-1;;3194:543:21:o;3568:118::-;3646:18;3632:10;:32;;;;;;;;:::i;:::-;;3628:58;;-1:-1:-1;3679:2:21;;3194:543;-1:-1:-1;;3194:543:21:o;3628:58::-;-1:-1:-1;3733:1:21;;3194:543;-1:-1:-1;;3194:543:21:o;23900:251:30:-;23987:7;;;24026:102;24046:11;24042:15;;:1;:15;24026:102;;;24082:39;:17;:6;24097:1;24082:14;:17::i;:::-;:37;;;;;;;;:::i;:39::-;24072:49;;;;:::i;:::-;;-1:-1:-1;24059:3:30;;;;:::i;:::-;;;;24026:102;;;-1:-1:-1;24140:6:30;23900:251;-1:-1:-1;;;23900:251:30:o;3498:447:29:-;3591:19;3768:6;3758:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3758:17:29;-1:-1:-1;3749:26:29;-1:-1:-1;3854:4:29;3842:17;;3870:51;3875:14;3891:6;3899;3842:17;3870:4;:51::i;24991:339:30:-;25092:13;25158:31;25192:43;25222:7;25231:3;25192:29;:43::i;3253:140:29:-;3330:12;3357:31;3362:14;3378:6;3386:1;3357:4;:31::i;4079:2169::-;4354:2;4345:6;:11;4327:29;;;;4374:2;4364:12;;;;;;:::i;:::-;;;-1:-1:-1;4469:10:29;;4465:1005;;4667:2;:11;;;4547:21;-1:-1:-1;;790:1:34;777:14;;755:37;753:40;4695:44:29;;4915:14;4909:21;4905:1;4897:6;4893:14;4889:42;5148:4;5144:9;5128:13;5122:20;5118:36;5053:4;5041:10;5037:21;4984:182;4959:13;4941:235;;5229:13;5219:6;:23;5215:36;;5244:7;;;;5215:36;5285:19;5303:1;5285:19;;:::i;:::-;;-1:-1:-1;;5432:23:29;;;;;5392:30;4465:1005;5516:2;5506:6;:12;5499:301;;5610:21;;5588:44;;5647:19;5665:1;5616:14;5647:19;:::i;:::-;;-1:-1:-1;;;5773:12:29;;;;5761:2;5744:19;5499:301;;;5868:10;;5864:380;;5888:12;-1:-1:-1;;790:1:34;777:14;;755:37;753:40;6176:20:29;;6091:21;;6087:32;;6198:9;;6172:36;6036:184;5993:237;;-1:-1:-1;4079:2169:29;;;;:::o;14:184:93:-;-1:-1:-1;;;63:1:93;56:88;163:4;160:1;153:15;187:4;184:1;177:15;203:334;274:2;268:9;330:2;320:13;;-1:-1:-1;;316:86:93;304:99;;433:18;418:34;;454:22;;;415:62;412:88;;;480:18;;:::i;:::-;516:2;509:22;203:334;;-1:-1:-1;203:334:93:o;542:245::-;590:4;623:18;615:6;612:30;609:56;;;645:18;;:::i;:::-;-1:-1:-1;702:2:93;690:15;-1:-1:-1;;686:88:93;776:4;682:99;;542:245::o;792:885::-;886:6;894;947:2;935:9;926:7;922:23;918:32;915:52;;;963:1;960;953:12;915:52;1002:9;989:23;1052:42;1045:5;1041:54;1034:5;1031:65;1021:93;;1110:1;1107;1100:12;1021:93;1133:5;-1:-1:-1;1189:2:93;1174:18;;1161:32;1216:18;1205:30;;1202:50;;;1248:1;1245;1238:12;1202:50;1271:22;;1324:4;1316:13;;1312:27;-1:-1:-1;1302:55:93;;1353:1;1350;1343:12;1302:55;1389:2;1376:16;1414:48;1430:31;1458:2;1430:31;:::i;:::-;1414:48;:::i;:::-;1485:2;1478:5;1471:17;1525:7;1520:2;1515;1511;1507:11;1503:20;1500:33;1497:53;;;1546:1;1543;1536:12;1497:53;1601:2;1596;1592;1588:11;1583:2;1576:5;1572:14;1559:45;1645:1;1640:2;1635;1628:5;1624:14;1620:23;1613:34;1666:5;1656:15;;;;;792:885;;;;;:::o;1682:258::-;1754:1;1764:113;1778:6;1775:1;1772:13;1764:113;;;1854:11;;;1848:18;1835:11;;;1828:39;1800:2;1793:10;1764:113;;;1895:6;1892:1;1889:13;1886:48;;;-1:-1:-1;;1930:1:93;1912:16;;1905:27;1682:258::o;1945:316::-;1986:3;2024:5;2018:12;2051:6;2046:3;2039:19;2067:63;2123:6;2116:4;2111:3;2107:14;2100:4;2093:5;2089:16;2067:63;:::i;:::-;2175:2;2163:15;-1:-1:-1;;2159:88:93;2150:98;;;;2250:4;2146:109;;1945:316;-1:-1:-1;;1945:316:93:o;2266:217::-;2413:2;2402:9;2395:21;2376:4;2433:44;2473:2;2462:9;2458:18;2450:6;2433:44;:::i;2488:337::-;2558:6;2611:2;2599:9;2590:7;2586:23;2582:32;2579:52;;;2627:1;2624;2617:12;2579:52;2659:9;2653:16;2709:66;2702:5;2698:78;2691:5;2688:89;2678:117;;2791:1;2788;2781:12;2830:450;2987:3;3025:6;3019:13;3041:53;3087:6;3082:3;3075:4;3067:6;3063:17;3041:53;:::i;:::-;3163:2;3159:15;;;;3176:66;3155:88;3116:16;;;;3141:103;;;3271:2;3260:14;;2830:450;-1:-1:-1;;2830:450:93:o;3285:274::-;3414:3;3452:6;3446:13;3468:53;3514:6;3509:3;3502:4;3494:6;3490:17;3468:53;:::i;:::-;3537:16;;;;;3285:274;-1:-1:-1;;3285:274:93:o;3564:184::-;-1:-1:-1;;;3613:1:93;3606:88;3713:4;3710:1;3703:15;3737:4;3734:1;3727:15;4108:357;4226:12;;4273:4;4262:16;;;4256:23;;4226:12;4291:16;;4288:171;;;-1:-1:-1;;4371:6:93;4365:4;4361:17;4358:1;4354:25;4350:98;4343:5;4339:110;4330:119;;4288:171;;4108:357;;;:::o;4739:435::-;4792:3;4830:5;4824:12;4857:6;4852:3;4845:19;4883:4;4912:2;4907:3;4903:12;4896:19;;4949:2;4942:5;4938:14;4970:1;4980:169;4994:6;4991:1;4988:13;4980:169;;;5055:13;;5043:26;;5089:12;;;;5124:15;;;;5016:1;5009:9;4980:169;;;-1:-1:-1;5165:3:93;;4739:435;-1:-1:-1;;;;;4739:435:93:o;5179:492::-;5432:6;5421:9;5414:25;5475:2;5470;5459:9;5455:18;5448:30;5395:4;5501:56;5553:2;5542:9;5538:18;5530:6;5501:56;:::i;:::-;5605:9;5597:6;5593:22;5588:2;5577:9;5573:18;5566:50;5633:32;5658:6;5650;5633:32;:::i;:::-;5625:40;5179:492;-1:-1:-1;;;;;;5179:492:93:o;5676:184::-;-1:-1:-1;;;5725:1:93;5718:88;5825:4;5822:1;5815:15;5849:4;5846:1;5839:15;5865:128;5905:3;5936:1;5932:6;5929:1;5926:13;5923:39;;;5942:18;;:::i;:::-;-1:-1:-1;5978:9:93;;5865:128::o;6251:195::-;6290:3;-1:-1:-1;;6314:5:93;6311:77;6308:103;;6391:18;;:::i;:::-;-1:-1:-1;6438:1:93;6427:13;;6251:195::o;6451:290::-;6628:6;6617:9;6610:25;6671:2;6666;6655:9;6651:18;6644:30;6591:4;6691:44;6731:2;6720:9;6716:18;6708:6;6691:44;:::i;6746:403::-;6981:6;6970:9;6963:25;7024:6;7019:2;7008:9;7004:18;6997:34;7067:2;7062;7051:9;7047:18;7040:30;6944:4;7087:56;7139:2;7128:9;7124:18;7116:6;7087:56;:::i;7154:184::-;-1:-1:-1;;;7203:1:93;7196:88;7303:4;7300:1;7293:15;7327:4;7324:1;7317:15;7343:671;7679:6;7668:9;7661:25;7722:6;7717:2;7706:9;7702:18;7695:34;7765:3;7760:2;7749:9;7745:18;7738:31;7642:4;7792:57;7844:3;7833:9;7829:19;7821:6;7792:57;:::i;:::-;7897:9;7889:6;7885:22;7880:2;7869:9;7865:18;7858:50;7932:1;7924:6;7917:17;7967:8;7962:2;7954:6;7950:15;7943:33;8005:2;7997:6;7993:15;7985:23;;;7343:671;;;;;;:::o;8019:483::-;8278:6;8267:9;8260:25;8321:6;8316:2;8305:9;8301:18;8294:34;8364:3;8359:2;8348:9;8344:18;8337:31;8241:4;8385:57;8437:3;8426:9;8422:19;8414:6;8385:57;:::i;:::-;8377:65;;8490:4;8482:6;8478:17;8473:2;8462:9;8458:18;8451:45;8019:483;;;;;;;:::o;8507:228::-;8547:7;8673:1;-1:-1:-1;;8601:74:93;8598:1;8595:81;8590:1;8583:9;8576:17;8572:105;8569:131;;;8680:18;;:::i;:::-;-1:-1:-1;8720:9:93;;8507:228::o;8927:410::-;9158:6;9147:9;9140:25;9201:2;9196;9185:9;9181:18;9174:30;9121:4;9221:56;9273:2;9262:9;9258:18;9250:6;9221:56;:::i;:::-;9213:64;;9325:4;9317:6;9313:17;9308:2;9297:9;9293:18;9286:45;8927:410;;;;;;:::o;9342:634::-;9421:6;9474:2;9462:9;9453:7;9449:23;9445:32;9442:52;;;9490:1;9487;9480:12;9442:52;9523:9;9517:16;9556:18;9548:6;9545:30;9542:50;;;9588:1;9585;9578:12;9542:50;9611:22;;9664:4;9656:13;;9652:27;-1:-1:-1;9642:55:93;;9693:1;9690;9683:12;9642:55;9722:2;9716:9;9747:48;9763:31;9791:2;9763:31;:::i;9747:48::-;9818:2;9811:5;9804:17;9858:7;9853:2;9848;9844;9840:11;9836:20;9833:33;9830:53;;;9879:1;9876;9869:12;9830:53;9892:54;9943:2;9938;9931:5;9927:14;9922:2;9918;9914:11;9892:54;:::i;9981:359::-;10184:2;10173:9;10166:21;10147:4;10204:44;10244:2;10233:9;10229:18;10221:6;10204:44;:::i;:::-;10279:2;10264:18;;10257:34;;;;-1:-1:-1;10322:2:93;10307:18;10300:34;10196:52;9981:359;-1:-1:-1;9981:359:93:o;10345:125::-;10385:4;10413:1;10410;10407:8;10404:34;;;10418:18;;:::i;:::-;-1:-1:-1;10455:9:93;;10345:125::o;10475:266::-;10507:1;10533;10523:189;;-1:-1:-1;;;10565:1:93;10558:88;10669:4;10666:1;10659:15;10697:4;10694:1;10687:15;10523:189;-1:-1:-1;10726:9:93;;10475:266::o;11176:184::-;-1:-1:-1;;;11225:1:93;11218:88;11325:4;11322:1;11315:15;11349:4;11346:1;11339:15;11365:195;11403:4;11440;11437:1;11433:12;11472:4;11469:1;11465:12;11497:3;11492;11489:12;11486:38;;;11504:18;;:::i;:::-;11541:13;;;11365:195;-1:-1:-1;;;11365:195:93:o",
81
+ "object": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c80638da798da14610030575b600080fd5b61004361003e3660046111ba565b610045565b005b6100d1610050610155565b836313861fb560e01b8460405160240161006a91906112be565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152600080610187565b506101518273ffffffffffffffffffffffffffffffffffffffff166317d7de7c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610120573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061014491906112d1565b82516020840120846102b1565b5050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec36013560601c806101845750335b90565b60606000848760405160200161019e929190611313565b604051602081830303815290604052905060008085610225578773ffffffffffffffffffffffffffffffffffffffff1685846040516101dd919061135d565b60006040518083038185875af1925050503d806000811461021a576040519150601f19603f3d011682016040523d82523d6000602084013e61021f565b606091505b5061028c565b8773ffffffffffffffffffffffffffffffffffffffff168360405161024a919061135d565b600060405180830381855af49150503d8060008114610285576040519150601f19603f3d011682016040523d82523d6000602084013e61028a565b606091505b505b9150915081156102a05792506102a8915050565b805160208201fd5b95945050505050565b60006102bc82610391565b6040805160028082526060820183529293506000929091602083019080368337019050509050846fffffffffffffffffffffffffffffffff19168160008151811061030957610309611379565b602002602001018181525050838160018151811061032957610329611379565b602090810291909101810191909152604080516000818401527f496e7374616c6c65644d6f64756c6573000000000000000000000000000000006030820152815180820390930183528101905261038a906103839061138f565b82846103db565b5050505050565b604051606082811b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000166020830152906034015b6040516020818303038152906040529050919050565b6103e361046f565b156103f8576103f38383836104ed565b505050565b6040517f8ed41f2f0000000000000000000000000000000000000000000000000000000081523390638ed41f2f90610438908690869086906004016113f1565b600060405180830381600087803b15801561045257600080fd5b505af1158015610466573d6000803e3d6000fd5b50505050505050565b6000303b80820361048257600191505090565b3073ffffffffffffffffffffffffffffffffffffffff1663a5c2f0076040518163ffffffff1660e01b815260040160006040518083038186803b1580156104c857600080fd5b505afa9250505080156104d9575060015b6104e557600091505090565b600191505090565b60006104f884610758565b905060006105068260f01c90565b905080600080610515856107ad565b60ff16111561054357506020848301015160e081901c61053690602061143c565b610540908361143c565b91505b845182146105935784516040517f521b3d3300000000000000000000000000000000000000000000000000000000815261058a918491600401918252602082015260400190565b60405180910390fd5b7f912af873e852235aae78a1d25ae9bb28b616a67c36898c53a14fd8184504ee328787876040516105c6939291906113f1565b60405180910390a160006105d9886107be565b905060005b81518110156106885760008282815181106105fb576105fb611379565b602002602001015190508073ffffffffffffffffffffffffffffffffffffffff166382b6745f8b8b8b6040518463ffffffff1660e01b8152600401610642939291906113f1565b600060405180830381600087803b15801561065c57600080fd5b505af1158015610670573d6000803e3d6000fd5b5050505050808061068090611454565b9150506105de565b506000610695898961089b565b9050602087016106a882600083896108f1565b6106b386602061143c565b6106bd908261143c565b90506106c8876107ad565b60ff166000036106de5750505050505050505050565b60006106ea8b8b6109ad565b858155905060008060005b6106fe8b6107ad565b60ff168160ff161015610748576107168e8e836109e4565b92506107258860ff8316610a40565b915061073483600087856108f1565b61073e828661143c565b94506001016106f5565b5050505050505050505050505050565b600061076382610a72565b9050806107a8578161077483610b37565b6040517fd623a70d00000000000000000000000000000000000000000000000000000000815260040161058a92919061146e565b919050565b6000601882901b5b60f81c92915050565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106107f8576107f8611379565b602090810291909101810191909152604080517f6d756473746f7265000000000000000000000000000000000000000000000000818401527f486f6f6b730000000000000000000000000000000000000000000000000000006030820152815180820390930183528101905260009061087c906108749061138f565b836000610b4c565b905061089361088e8260008451610bf2565b610c82565b949350505050565b60007f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d983836040516020016108d293929190611487565b60408051601f1981840301815291905280516020909101209392505050565b602083048401935060208381610909576109096114a6565b06925082156109625760208390036000600019600884021c1990506008850281811c91508451811c905081198754168282161787555081831161094d5750506109a7565b61095860018761143c565b9550509182019190035b6020811061098b578151845561097960018561143c565b935060209190910190601f1901610962565b80156109a75783548251600019600884021c9182169119161784555b50505050565b60007f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d983836040516020016108d2939291906114bc565b60007f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9848484604051602001610a1d949392919061151c565b6040516020818303038152906040528051906020012060001c90505b9392505050565b600080610a4e83600261154f565b610a5990600461143c565b9050610a6784826008021b90565b60f01c949350505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610aab57610aab611379565b602090810291909101810191909152604080517f6d756473746f7265000000000000000000000000000000000000000000000000818401527f736368656d61000000000000000000000000000000000000000000000000000060308201528151808203909301835281019052600090610b2d90610b279061138f565b8361089b565b9050610893815490565b6060816040516020016103c591815260200190565b6060610b5661046f565b15610b6d57610b66848484610c93565b9050610a39565b6040517fd03edb8c000000000000000000000000000000000000000000000000000000008152339063d03edb8c90610bad9087908790879060040161156e565b600060405180830381865afa158015610bca573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b66919081019061159a565b6000818311158015610c05575083518211155b610c41578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161058a93929190611608565b60208401610c4f848261143c565b90506000610c5d858561162d565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000610a398360146000610cae565b60606000610ca085610758565b90506102a885858584610df1565b60606000610cbc8560801c90565b90506fffffffffffffffffffffffffffffffff8516600084610cf457610ce386600861154f565b610cef9061010061162d565b610cf7565b60005b90506000868381610d0a57610d0a6114a6565b049050610d178784611644565b15610da4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f756e7061636b546f41727261793a207061636b65644c656e677468206d75737460448201527f2062652061206d756c7469706c65206f6620656c656d656e7453697a65000000606482015260840161058a565b602080820201604051955080860160405250808552600060208601855b83831015610de3578051851c8252600192909201916020909101908901610dc1565b505050505050509392505050565b6060610dfc82610e28565b60ff168360ff161015610e1c57610e1585858585610e34565b9050610893565b610e1585858585610e99565b6000601082901b6107b5565b60606000610e458360ff8616610ef2565b90506000610e638260c5811115610e5e57610e5e611666565b610f1e565b90506000610e71888861089b565b90506000610e7f8688610fcf565b9050610e8c828483611023565b9998505050505050505050565b60606000610ea683610e28565b610eb0908561167c565b90506000610ebf8787846109e4565b90506000610eda8360ff16610ed48a8a61107b565b90610a40565b9050610ee68282611088565b98975050505050505050565b6000610f0a83610f0384600461143c565b6008021b90565b60f81c60c5811115610a3957610a39611666565b6000808260c5811115610f3357610f33611666565b60ff1690506020811015610f4c57610a3981600161143c565b6040811015610f6c576020610f6282600161143c565b610a39919061162d565b6060811015610f82576040610f6282600161143c565b60608360c5811115610f9657610f96611666565b03610fa45750600192915050565b60618360c5811115610fb857610fb8611666565b03610fc65750601492915050565b50600092915050565b600080805b8360ff1681101561101b57610ffd610fec8683610ef2565b60c5811115610e5e57610e5e611666565b611007908361143c565b91508061101381611454565b915050610fd4565b509392505050565b60608267ffffffffffffffff81111561103e5761103e61114b565b6040519080825280601f01601f191660200182016040528015611068576020820181803683370190505b5090506020810161101b85858584611096565b600080610b2d84846109ad565b6060610a3983836000611023565b6020820484019350602082816110ae576110ae6114a6565b06915081156110ff5760208290036000600019600883021c1990508554600885021b8119845116828216178452508185116110ea5750506109a7565b6110f560018761143c565b9550509283900392015b60208310611127578354815261111660018561143c565b9350601f19909201916020016110ff565b82156109a7576000600019600885021c198251865482169119161782525050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561118a5761118a61114b565b604052919050565b600067ffffffffffffffff8211156111ac576111ac61114b565b50601f01601f191660200190565b600080604083850312156111cd57600080fd5b823573ffffffffffffffffffffffffffffffffffffffff811681146111f157600080fd5b9150602083013567ffffffffffffffff81111561120d57600080fd5b8301601f8101851361121e57600080fd5b803561123161122c82611192565b611161565b81815286602083850101111561124657600080fd5b816020840160208301376000602083830101528093505050509250929050565b60005b83811015611281578181015183820152602001611269565b838111156109a75750506000910152565b600081518084526112aa816020860160208601611266565b601f01601f19169290920160200192915050565b602081526000610a396020830184611292565b6000602082840312156112e357600080fd5b81517fffffffffffffffffffffffffffffffff0000000000000000000000000000000081168114610a3957600080fd5b60008351611325818460208801611266565b60609390931b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190920190815260140192915050565b6000825161136f818460208701611266565b9190910192915050565b634e487b7160e01b600052603260045260246000fd5b805160208083015191908110156113b0576000198160200360031b1b821691505b50919050565b600081518084526020808501945080840160005b838110156113e6578151875295820195908201906001016113ca565b509495945050505050565b83815260606020820152600061140a60608301856113b6565b828103604084015261141c8185611292565b9695505050505050565b634e487b7160e01b600052601160045260246000fd5b6000821982111561144f5761144f611426565b500190565b6000600019820361146757611467611426565b5060010190565b8281526040602082015260006108936040830184611292565b8381528260208201526060604082015260006102a860608301846113b6565b634e487b7160e01b600052601260045260246000fd5b8381528260208201526080604082015260006114db60808301846113b6565b8281036060840152600681527f6c656e6774680000000000000000000000000000000000000000000000000000602082015260408101915050949350505050565b84815283602082015260806040820152600061153b60808301856113b6565b905060ff8316606083015295945050505050565b600081600019048311821515161561156957611569611426565b500290565b83815260606020820152600061158760608301856113b6565b905060ff83166040830152949350505050565b6000602082840312156115ac57600080fd5b815167ffffffffffffffff8111156115c357600080fd5b8201601f810184136115d457600080fd5b80516115e261122c82611192565b8181528560208385010111156115f757600080fd5b6102a8826020830160208601611266565b60608152600061161b6060830186611292565b60208301949094525060400152919050565b60008282101561163f5761163f611426565b500390565b60008261166157634e487b7160e01b600052601260045260246000fd5b500690565b634e487b7160e01b600052602160045260246000fd5b600060ff821660ff84168082101561169657611696611426565b9003939250505056fea2646970667358221220ab737301439604692dc82593abcf8935d123bcc3baf96fbcada4f1a78132853864736f6c634300080d0033",
82
+ "sourceMap": "468:548:69:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;595:419;;;;;;:::i;:::-;;:::i;:::-;;;666:207;701:12;:10;:12::i;:::-;737:6;796:24;;;822:4;773:54;;;;;;;;:::i;:::-;;;;-1:-1:-1;;773:54:69;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;666:15:69;:207::i;:::-;;937:72;958:6;:14;;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;976:15;;;;;;1001:6;937:20;:72::i;:::-;595:419;;:::o;409:228:52:-;551:23;555:14;551:23;538:37;534:2;530:46;;587:45;;-1:-1:-1;622:10:52;587:45;409:228;:::o;499:808:46:-;660:12;721:21;762:19;783:9;745:48;;;;;;;;;:::i;:::-;;;;;;;;;;;;;721:72;;855:12;869:17;890:8;:107;;960:6;:11;;980:5;988:8;960:37;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;890:107;;;907:6;:19;;927:8;907:29;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;890:107;854:143;;;;1078:7;1074:24;;;1094:4;-1:-1:-1;1087:11:46;;-1:-1:-1;;1087:11:46;1074:24;1291:4;1285:11;1278:4;1272;1268:15;1261:36;499:808;;;;;;;;:::o;5210:348:88:-;5304:18;5325:21;5332:13;5325:6;:21::i;:::-;5385:16;;;5399:1;5385:16;;;;;;;;5304:42;;-1:-1:-1;5353:29:88;;5385:16;;;;;;;;;;;;-1:-1:-1;5385:16:88;5353:48;;5434:10;5425:21;;;5407:12;5420:1;5407:15;;;;;;;;:::i;:::-;;;;;;:39;;;;;5479:13;5452:12;5465:1;5452:15;;;;;;;;:::i;:::-;;;;;;;;;;;:42;;;;885:58;;;902:11;885:58;;;3995:28:93;915:27:88;4039:12:93;;;4032:37;885:58:88;;;;;;;;;;4085:12:93;;885:58:88;;5501:52;;877:67;;;:::i;:::-;5533:12;5547:5;5501:21;:52::i;:::-;5298:260;;5210:348;;;:::o;6779:125::-;6868:31;;6841:12;4615:15:93;;;4632:66;4611:88;6868:31:88;;;4599:101:93;6841:12:88;4716::93;;6868:31:88;;;;;;;;;;;;;6861:38;;6779:125;;;:::o;2199:235:32:-;2293:16;:14;:16::i;:::-;2289:141;;;2319:37;2339:5;2346:3;2351:4;2319:19;:37::i;:::-;2199:235;;;:::o;2289:141::-;2377:46;;;;;2384:10;;2377:28;;:46;;2406:5;;2413:3;;2418:4;;2377:46;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2199:235;;;:::o;575:497::-;624:12;753:9;741:22;866:13;;;862:30;;888:4;881:11;;;575:497;:::o;862:30::-;985:4;970:29;;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;966:102;;1056:5;1046:15;;638:434;575:497;:::o;966:102::-;1020:4;1010:14;;638:434;575:497;:::o;5090:2817:30:-;5326:13;5342:18;5352:7;5342:9;:18::i;:::-;5326:34;;5445:20;5468:25;:6;4373:37:27;;;4279:137;5468:25:30;5445:48;-1:-1:-1;5445:48:30;5499:22;;5579:25;:6;:23;:25::i;:::-;:29;;;5575:271;;;-1:-1:-1;12471:4:22;12457:27;;;;12451:34;2453:51:26;;;;5788:26:30;;:2;:26;:::i;:::-;5770:44;;;;:::i;:::-;;;5575:271;5874:4;:11;5856:14;:29;5852:121;;5954:11;;5902:64;;;;;;;5938:14;;5902:64;;6172:25:93;;;6228:2;6213:18;;6206:34;6160:2;6145:18;;5998:248;5902:64:30;;;;;;;;5852:121;6021:34;6036:7;6045:3;6050:4;6021:34;;;;;;;;:::i;:::-;;;;;;;;6188:22;6213:18;6223:7;6213:9;:18::i;:::-;6188:43;;6242:9;6237:136;6257:5;:12;6253:1;:16;6237:136;;;6284:15;6313:5;6319:1;6313:8;;;;;;;;:::i;:::-;;;;;;;6284:38;;6330:4;:16;;;6347:7;6356:3;6361:4;6330:36;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6276:97;6271:3;;;;;:::i;:::-;;;;6237:136;;;;6436:26;6465:54;6506:7;6515:3;6465:40;:54::i;:::-;6436:83;-1:-1:-1;558:4:25;548:15;;6579:144:30;6436:83;6525:21;548:15:25;6704:12:30;6579:13;:144::i;:::-;6746:17;:12;6761:2;6746:17;:::i;:::-;6729:34;;;;:::i;:::-;;;6915:25;:6;:23;:25::i;:::-;:30;;6944:1;6915:30;6911:43;;6947:7;;;;;;;5090:2817;;;:::o;6911:43::-;7033:33;7069:61;7117:7;7126:3;7069:47;:61::i;:::-;412:28:29;;;7033:97:30;-1:-1:-1;7331:27:30;7364:25;7400:7;7395:508;7413:25;:6;:23;:25::i;:::-;7409:29;;:1;:29;;;7395:508;;;7472:58;7514:7;7523:3;7528:1;7472:41;:58::i;:::-;7450:80;-1:-1:-1;7558:24:30;:13;:24;;;:21;:24::i;:::-;7538:44;;7590:160;7630:19;7667:1;7693:13;7724:17;7590:13;:160::i;:::-;7758:34;7775:17;7758:34;;:::i;:::-;;-1:-1:-1;7885:3:30;;7395:508;;;;5176:2731;;;;;;;;;;5090:2817;;;:::o;2576:240::-;2635:13;2665:37;2694:7;2665:28;:37::i;:::-;2656:46;-1:-1:-1;5426:35:27;2708:104:30;;2777:7;2786:18;:7;:16;:18::i;:::-;2745:60;;;;;;;;;;;;:::i;2708:104::-;2576:240;;;:::o;4749:134:27:-;4813:5;4191:13:22;4187:24;;;4839:38:27;4833:45;;;4749:134;-1:-1:-1;;4749:134:27:o;2349:326:37:-;2460:16;;;2474:1;2460:16;;;;;;;;;2398:22;;2428:29;;2460:16;;;;;;;;;;;;-1:-1:-1;2460:16:37;2428:48;;2509:3;2482:12;2495:1;2482:15;;;;;;;;:::i;:::-;;;;;;;;;;;:32;;;;741:55;;;758:19;741:55;;;3995:28:93;779:16:37;4039:12:93;;;4032:37;741:55:37;;;;;;;;;;4085:12:93;;741:55:37;;-1:-1:-1;;2542:47:37;;733:64;;;:::i;:::-;2573:12;2587:1;2542:20;:47::i;:::-;2521:68;;2603:66;:44;2624:5;2631:1;2634:5;:12;2603:20;:44::i;:::-;:64;:66::i;:::-;2595:75;2349:326;-1:-1:-1;;;;2349:326:37:o;25854:171:30:-;25948:7;17790:22;26005:7;26014:3;25988:30;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;25988:30:30;;;;;;;;;25978:41;;25988:30;25978:41;;;;;25854:171;-1:-1:-1;;;25854:171:30:o;826:2233:29:-;1097:2;1088:6;:11;1070:29;;;;1117:2;1107:12;;;;;;:::i;:::-;;;-1:-1:-1;1212:10:29;;1208:1071;;1410:2;:11;;;1290:21;-1:-1:-1;;790:1:34;777:14;;755:37;753:40;1438:37:29;;1636:1;1628:6;1624:14;1670:4;1659:9;1655:20;1647:28;;1723:13;1717:20;1706:9;1702:36;1684:54;;1957:4;1953:9;1936:14;1930:21;1926:37;1861:4;1849:10;1845:21;1792:183;1766:14;1748:237;;2038:13;2028:6;:23;2024:36;;2053:7;;;;2024:36;2094:19;2112:1;2094:19;;:::i;:::-;;-1:-1:-1;;2201:30:29;;;;2241:23;;1208:1071;2326:2;2316:6;:12;2309:301;;2421:20;;2398:44;;2457:19;2475:1;2405:14;2457:19;:::i;:::-;;-1:-1:-1;2571:2:29;2554:19;;;;;-1:-1:-1;;2583:12:29;2309:301;;;2678:10;;2674:381;;2986:21;;2902:20;;-1:-1:-1;;790:1:34;777:14;;755:37;2982::29;;;753:40:34;;2898:31:29;2847:184;2803:238;;2674:381;826:2233;;;;:::o;26928:188:30:-;27029:7;17790:22;27086:7;27095:3;27069:40;;;;;;;;;;:::i;26623:220::-;26753:7;17790:22;26810:7;26819:3;26824:11;26793:43;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;26783:54;;;;;;26775:63;;26768:70;;26623:220;;;;;;:::o;2625:221:26:-;2709:7;;2745:9;:5;2753:1;2745:9;:::i;:::-;2741:13;;:1;:13;:::i;:::-;2724:30;;2782:57;2816:13;2832:6;4195:1:22;4191:13;4187:24;;4059:181;2782:57:26;2775:65;;;2625:221;-1:-1:-1;;;;2625:221:26:o;18106:292:30:-;18203:16;;;18217:1;18203:16;;;;;;;;;18166:6;;;;18203:16;;;;;;;;;;;;-1:-1:-1;18203:16:30;18180:39;;18234:7;18225:3;18229:1;18225:6;;;;;;;;:::i;:::-;;;;;;;;;;;:16;;;;17865:56;;;17882:19;17865:56;;;3995:28:93;17903:17:30;4039:12:93;;;4032:37;17865:56:30;;;;;;;;;;4085:12:93;;17865:56:30;;-1:-1:-1;;18266:59:30;;17857:65;;;:::i;:::-;18321:3;18266:40;:59::i;:::-;18247:78;;18350:42;18381:8;3169:21:29;;3063:137;78:124:33;136:13;188:7;171:25;;;;;;8869:19:93;;8913:2;8904:12;;8740:182;4477:285:32;4573:12;4597:16;:14;:16::i;:::-;4593:165;;;4630:42;4649:5;4656:3;4661:10;4630:18;:42::i;:::-;4623:49;;;;4593:165;4700:51;;;;;4707:10;;4700:27;;:51;;4728:5;;4735:3;;4740:10;;4700:51;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4700:51:32;;;;;;;;;;;;:::i;1563:570:28:-;1654:5;1752:3;1743:5;:12;;:34;;;;;1766:4;:11;1759:3;:18;;1743:34;1737:85;;1805:4;1811:5;1818:3;1787:35;;;;;;;;;;;;;:::i;1737:85::-;1890:4;1880:15;;1937:17;1949:5;1880:15;1937:17;:::i;:::-;;-1:-1:-1;1960:12:28;1975:11;1981:5;1975:3;:11;:::i;:::-;642:17;2111:15;2103:3;2091:15;;;;2090:37;;;;;;-1:-1:-1;;;;;1563:570:28:o;22003:279:41:-;22067:23;22161:29;22193:34;22211:4;22217:2;22221:5;22193:17;:34::i;17020:214:30:-;17119:12;17139:13;17155:18;17165:7;17155:9;:18::i;:::-;17139:34;;17186:43;17195:7;17204:3;17209:11;17222:6;17186:8;:43::i;2422:1642:43:-;2535:22;2565:21;2589;:11;2372:3:28;2350:25;;2276:104;2589:21:43;2565:45;-1:-1:-1;642:17:28;2513:38;;2616:20:43;2683:11;:39;;2707:15;:11;2721:1;2707:15;:::i;:::-;2701:21;;:3;:21;:::i;:::-;2683:39;;;2697:1;2683:39;2665:57;;2769:19;2841:11;2826:12;:26;;;;;:::i;:::-;;;-1:-1:-1;3009:26:43;3024:11;3009:12;:26;:::i;:::-;:31;3005:123;;3050:71;;;;;10948:2:93;3050:71:43;;;10930:21:93;10987:2;10967:18;;;10960:30;11026:34;11006:18;;;10999:62;11097:31;11077:18;;;11070:59;11146:19;;3050:71:43;10746:425:93;3005:123:43;3314:4;3309:2;3296:11;3292:20;3288:31;3401:4;3395:11;3386:20;;3437:13;3430:5;3426:25;3420:4;3413:39;;3502:11;3495:5;3488:26;3545:1;3585:4;3578:5;3574:16;3640:13;3522:532;3668:11;3665:1;3662:18;3522:532;;;3997:19;;3984:33;;3964:54;;3755:1;3748:9;;;;;3798:4;3781:22;;;;3867:30;;3522:532;;;3526:135;;;3182:878;;;;2422:1642;;;;;:::o;17334:389:30:-;17468:12;17506:24;:6;:22;:24::i;:::-;17492:38;;:11;:38;;;17488:231;;;17547:68;17581:7;17590:3;17595:11;17608:6;17547:33;:68::i;:::-;17540:75;;;;17488:231;17643:69;17678:7;17687:3;17692:11;17705:6;17643:34;:69::i;4958:133:27:-;5021:5;4191:13:22;4187:24;;;5047:38:27;4059:181:22;24147:599:30;24288:12;24379:21;24403:27;:6;:27;;;:14;:27::i;:::-;24379:51;;24436:18;24457:32;:10;:30;;;;;;;;:::i;:::-;;:32::i;:::-;24436:53;;24495:16;24514:36;24537:7;24546:3;24514:22;:36::i;:::-;24495:55;;24556:14;24573:41;24594:6;24602:11;24573:20;:41::i;:::-;24556:58;;24663:78;24694:8;24712:10;24732:6;24663:12;:78::i;:::-;24656:85;24147:599;-1:-1:-1;;;;;;;;;24147:599:30:o;24854:552::-;24996:12;25080:24;25121;:6;:22;:24::i;:::-;25107:38;;:11;:38;:::i;:::-;25080:65;;25151:16;25170:57;25194:7;25203:3;25208:18;25170:23;:57::i;:::-;25151:76;;25233:18;25254:71;25306:18;25254:71;;:43;25284:7;25293:3;25254:29;:43::i;:::-;:51;;:71::i;:::-;25233:92;;25339:62;25370:8;25388:10;25339:12;:62::i;:::-;25332:69;24854:552;-1:-1:-1;;;;;;;;24854:552:30:o;4502:165:27:-;4572:10;4614:46;4641:6;4650:9;:5;4658:1;4650:9;:::i;:::-;4195:1:22;4191:13;4187:24;;4059:181;4614:46:27;4608:53;;4597:65;;;;;;;;:::i;3194:543:21:-;3260:7;3273:13;3295:10;3289:17;;;;;;;;:::i;:::-;3273:33;;;;3323:2;3315:5;:10;3311:229;;;3357:9;:5;3365:1;3357:9;:::i;3311:229::-;3389:2;3381:5;:10;3377:163;;;3448:2;3436:9;:5;3444:1;3436:9;:::i;:::-;:14;;;;:::i;3377:163::-;3473:2;3465:5;:10;3461:79;;;3533:2;3521:9;:5;3529:1;3521:9;:::i;3461:79::-;3586:15;3572:10;:29;;;;;;;;:::i;:::-;;3568:118;;-1:-1:-1;3616:1:21;;3194:543;-1:-1:-1;;3194:543:21:o;3568:118::-;3646:18;3632:10;:32;;;;;;;;:::i;:::-;;3628:58;;-1:-1:-1;3679:2:21;;3194:543;-1:-1:-1;;3194:543:21:o;3628:58::-;-1:-1:-1;3733:1:21;;3194:543;-1:-1:-1;;3194:543:21:o;26112:251:30:-;26199:7;;;26238:102;26258:11;26254:15;;:1;:15;26238:102;;;26294:39;:17;:6;26309:1;26294:14;:17::i;:::-;:37;;;;;;;;:::i;:39::-;26284:49;;;;:::i;:::-;;-1:-1:-1;26271:3:30;;;;:::i;:::-;;;;26238:102;;;-1:-1:-1;26352:6:30;26112:251;-1:-1:-1;;;26112:251:30:o;3449:447:29:-;3542:19;3719:6;3709:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3709:17:29;-1:-1:-1;3700:26:29;-1:-1:-1;3805:4:29;3793:17;;3821:51;3826:14;3842:6;3850;3793:17;3821:4;:51::i;27203:339:30:-;27304:13;27370:31;27404:43;27434:7;27443:3;27404:29;:43::i;3204:140:29:-;3281:12;3308:31;3313:14;3329:6;3337:1;3308:4;:31::i;4030:2169::-;4305:2;4296:6;:11;4278:29;;;;4325:2;4315:12;;;;;;:::i;:::-;;;-1:-1:-1;4420:10:29;;4416:1005;;4618:2;:11;;;4498:21;-1:-1:-1;;790:1:34;777:14;;755:37;753:40;4646:44:29;;4866:14;4860:21;4856:1;4848:6;4844:14;4840:42;5099:4;5095:9;5079:13;5073:20;5069:36;5004:4;4992:10;4988:21;4935:182;4910:13;4892:235;;5180:13;5170:6;:23;5166:36;;5195:7;;;;5166:36;5236:19;5254:1;5236:19;;:::i;:::-;;-1:-1:-1;;5383:23:29;;;;;5343:30;4416:1005;5467:2;5457:6;:12;5450:301;;5561:21;;5539:44;;5598:19;5616:1;5567:14;5598:19;:::i;:::-;;-1:-1:-1;;;5724:12:29;;;;5712:2;5695:19;5450:301;;;5819:10;;5815:380;;5839:12;-1:-1:-1;;790:1:34;777:14;;755:37;753:40;6127:20:29;;6042:21;;6038:32;;6149:9;;6123:36;5987:184;5944:237;;-1:-1:-1;4030:2169:29;;;;:::o;14:184:93:-;-1:-1:-1;;;63:1:93;56:88;163:4;160:1;153:15;187:4;184:1;177:15;203:334;274:2;268:9;330:2;320:13;;-1:-1:-1;;316:86:93;304:99;;433:18;418:34;;454:22;;;415:62;412:88;;;480:18;;:::i;:::-;516:2;509:22;203:334;;-1:-1:-1;203:334:93:o;542:245::-;590:4;623:18;615:6;612:30;609:56;;;645:18;;:::i;:::-;-1:-1:-1;702:2:93;690:15;-1:-1:-1;;686:88:93;776:4;682:99;;542:245::o;792:885::-;886:6;894;947:2;935:9;926:7;922:23;918:32;915:52;;;963:1;960;953:12;915:52;1002:9;989:23;1052:42;1045:5;1041:54;1034:5;1031:65;1021:93;;1110:1;1107;1100:12;1021:93;1133:5;-1:-1:-1;1189:2:93;1174:18;;1161:32;1216:18;1205:30;;1202:50;;;1248:1;1245;1238:12;1202:50;1271:22;;1324:4;1316:13;;1312:27;-1:-1:-1;1302:55:93;;1353:1;1350;1343:12;1302:55;1389:2;1376:16;1414:48;1430:31;1458:2;1430:31;:::i;:::-;1414:48;:::i;:::-;1485:2;1478:5;1471:17;1525:7;1520:2;1515;1511;1507:11;1503:20;1500:33;1497:53;;;1546:1;1543;1536:12;1497:53;1601:2;1596;1592;1588:11;1583:2;1576:5;1572:14;1559:45;1645:1;1640:2;1635;1628:5;1624:14;1620:23;1613:34;1666:5;1656:15;;;;;792:885;;;;;:::o;1682:258::-;1754:1;1764:113;1778:6;1775:1;1772:13;1764:113;;;1854:11;;;1848:18;1835:11;;;1828:39;1800:2;1793:10;1764:113;;;1895:6;1892:1;1889:13;1886:48;;;-1:-1:-1;;1930:1:93;1912:16;;1905:27;1682:258::o;1945:316::-;1986:3;2024:5;2018:12;2051:6;2046:3;2039:19;2067:63;2123:6;2116:4;2111:3;2107:14;2100:4;2093:5;2089:16;2067:63;:::i;:::-;2175:2;2163:15;-1:-1:-1;;2159:88:93;2150:98;;;;2250:4;2146:109;;1945:316;-1:-1:-1;;1945:316:93:o;2266:217::-;2413:2;2402:9;2395:21;2376:4;2433:44;2473:2;2462:9;2458:18;2450:6;2433:44;:::i;2488:337::-;2558:6;2611:2;2599:9;2590:7;2586:23;2582:32;2579:52;;;2627:1;2624;2617:12;2579:52;2659:9;2653:16;2709:66;2702:5;2698:78;2691:5;2688:89;2678:117;;2791:1;2788;2781:12;2830:450;2987:3;3025:6;3019:13;3041:53;3087:6;3082:3;3075:4;3067:6;3063:17;3041:53;:::i;:::-;3163:2;3159:15;;;;3176:66;3155:88;3116:16;;;;3141:103;;;3271:2;3260:14;;2830:450;-1:-1:-1;;2830:450:93:o;3285:274::-;3414:3;3452:6;3446:13;3468:53;3514:6;3509:3;3502:4;3494:6;3490:17;3468:53;:::i;:::-;3537:16;;;;;3285:274;-1:-1:-1;;3285:274:93:o;3564:184::-;-1:-1:-1;;;3613:1:93;3606:88;3713:4;3710:1;3703:15;3737:4;3734:1;3727:15;4108:357;4226:12;;4273:4;4262:16;;;4256:23;;4226:12;4291:16;;4288:171;;;-1:-1:-1;;4371:6:93;4365:4;4361:17;4358:1;4354:25;4350:98;4343:5;4339:110;4330:119;;4288:171;;4108:357;;;:::o;4739:435::-;4792:3;4830:5;4824:12;4857:6;4852:3;4845:19;4883:4;4912:2;4907:3;4903:12;4896:19;;4949:2;4942:5;4938:14;4970:1;4980:169;4994:6;4991:1;4988:13;4980:169;;;5055:13;;5043:26;;5089:12;;;;5124:15;;;;5016:1;5009:9;4980:169;;;-1:-1:-1;5165:3:93;;4739:435;-1:-1:-1;;;;;4739:435:93:o;5179:492::-;5432:6;5421:9;5414:25;5475:2;5470;5459:9;5455:18;5448:30;5395:4;5501:56;5553:2;5542:9;5538:18;5530:6;5501:56;:::i;:::-;5605:9;5597:6;5593:22;5588:2;5577:9;5573:18;5566:50;5633:32;5658:6;5650;5633:32;:::i;:::-;5625:40;5179:492;-1:-1:-1;;;;;;5179:492:93:o;5676:184::-;-1:-1:-1;;;5725:1:93;5718:88;5825:4;5822:1;5815:15;5849:4;5846:1;5839:15;5865:128;5905:3;5936:1;5932:6;5929:1;5926:13;5923:39;;;5942:18;;:::i;:::-;-1:-1:-1;5978:9:93;;5865:128::o;6251:195::-;6290:3;-1:-1:-1;;6314:5:93;6311:77;6308:103;;6391:18;;:::i;:::-;-1:-1:-1;6438:1:93;6427:13;;6251:195::o;6451:290::-;6628:6;6617:9;6610:25;6671:2;6666;6655:9;6651:18;6644:30;6591:4;6691:44;6731:2;6720:9;6716:18;6708:6;6691:44;:::i;6746:403::-;6981:6;6970:9;6963:25;7024:6;7019:2;7008:9;7004:18;6997:34;7067:2;7062;7051:9;7047:18;7040:30;6944:4;7087:56;7139:2;7128:9;7124:18;7116:6;7087:56;:::i;7154:184::-;-1:-1:-1;;;7203:1:93;7196:88;7303:4;7300:1;7293:15;7327:4;7324:1;7317:15;7343:671;7679:6;7668:9;7661:25;7722:6;7717:2;7706:9;7702:18;7695:34;7765:3;7760:2;7749:9;7745:18;7738:31;7642:4;7792:57;7844:3;7833:9;7829:19;7821:6;7792:57;:::i;:::-;7897:9;7889:6;7885:22;7880:2;7869:9;7865:18;7858:50;7932:1;7924:6;7917:17;7967:8;7962:2;7954:6;7950:15;7943:33;8005:2;7997:6;7993:15;7985:23;;;7343:671;;;;;;:::o;8019:483::-;8278:6;8267:9;8260:25;8321:6;8316:2;8305:9;8301:18;8294:34;8364:3;8359:2;8348:9;8344:18;8337:31;8241:4;8385:57;8437:3;8426:9;8422:19;8414:6;8385:57;:::i;:::-;8377:65;;8490:4;8482:6;8478:17;8473:2;8462:9;8458:18;8451:45;8019:483;;;;;;;:::o;8507:228::-;8547:7;8673:1;-1:-1:-1;;8601:74:93;8598:1;8595:81;8590:1;8583:9;8576:17;8572:105;8569:131;;;8680:18;;:::i;:::-;-1:-1:-1;8720:9:93;;8507:228::o;8927:410::-;9158:6;9147:9;9140:25;9201:2;9196;9185:9;9181:18;9174:30;9121:4;9221:56;9273:2;9262:9;9258:18;9250:6;9221:56;:::i;:::-;9213:64;;9325:4;9317:6;9313:17;9308:2;9297:9;9293:18;9286:45;8927:410;;;;;;:::o;9342:634::-;9421:6;9474:2;9462:9;9453:7;9449:23;9445:32;9442:52;;;9490:1;9487;9480:12;9442:52;9523:9;9517:16;9556:18;9548:6;9545:30;9542:50;;;9588:1;9585;9578:12;9542:50;9611:22;;9664:4;9656:13;;9652:27;-1:-1:-1;9642:55:93;;9693:1;9690;9683:12;9642:55;9722:2;9716:9;9747:48;9763:31;9791:2;9763:31;:::i;9747:48::-;9818:2;9811:5;9804:17;9858:7;9853:2;9848;9844;9840:11;9836:20;9833:33;9830:53;;;9879:1;9876;9869:12;9830:53;9892:54;9943:2;9938;9931:5;9927:14;9922:2;9918;9914:11;9892:54;:::i;9981:359::-;10184:2;10173:9;10166:21;10147:4;10204:44;10244:2;10233:9;10229:18;10221:6;10204:44;:::i;:::-;10279:2;10264:18;;10257:34;;;;-1:-1:-1;10322:2:93;10307:18;10300:34;10196:52;9981:359;-1:-1:-1;9981:359:93:o;10345:125::-;10385:4;10413:1;10410;10407:8;10404:34;;;10418:18;;:::i;:::-;-1:-1:-1;10455:9:93;;10345:125::o;10475:266::-;10507:1;10533;10523:189;;-1:-1:-1;;;10565:1:93;10558:88;10669:4;10666:1;10659:15;10697:4;10694:1;10687:15;10523:189;-1:-1:-1;10726:9:93;;10475:266::o;11176:184::-;-1:-1:-1;;;11225:1:93;11218:88;11325:4;11322:1;11315:15;11349:4;11346:1;11339:15;11365:195;11403:4;11440;11437:1;11433:12;11472:4;11469:1;11465:12;11497:3;11492;11489:12;11486:38;;;11504:18;;:::i;:::-;11541:13;;;11365:195;-1:-1:-1;;;11365:195:93:o",
83
83
  "linkReferences": {}
84
84
  },
85
85
  "methodIdentifiers": {
86
86
  "installModule(address,bytes)": "8da798da"
87
87
  },
88
- "rawMetadata": "{\"compiler\":{\"version\":\"0.8.13+commit.abaa5c0e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Slice_OutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"StoreCore_InvalidDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"StoreCore_TableNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"args\",\"type\":\"bytes\"}],\"name\":\"installModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"installModule(address,bytes)\":{\"notice\":\"Install the given module at the given namespace in the World.\"}},\"notice\":\"Installation of (non-root) modules in the World.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/modules/core/implementations/ModuleInstallationSystem.sol\":\"ModuleInstallationSystem\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@latticexyz/=node_modules/@latticexyz/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0xe881f296ba0fe410faa6395ee4a65b9bf154947aebc6aa323d41a0484504221e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba7f706464d14365ff751936ba96f79f200df7bcd9d9f8abccd0b41387ca7967\",\"dweb:/ipfs/QmTiHgH3ZM2oJoqsbNs3iwwPFNYFNU7m8co87woxRLaUZ6\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x117331c70b8cda783991a6b3e14861176068086526548d334cef8e1c24e16d5b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://613026caf6782e8a4ad0f366781fc13141492b667a723bdea69250c9b517c790\",\"dweb:/ipfs/QmQqwBSjcrDUoVvmXxeKZZpyGSEpeMTh2QZRExQTdZLrCt\"]},\"node_modules/@latticexyz/store/src/IErrors.sol\":{\"keccak256\":\"0xc29b8d9d2597c6e9fcfbb37714cfa02270983c95e5a54b4c70eb9d99abcfe4e9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2df9591141bec48fb57df31c0c5632085d5347d194292b14b479930bac5c8274\",\"dweb:/ipfs/Qmaa3yV9YeJ14wYyWcFYHjAhRc9qaU6WrejNAmdSP7oQRV\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x83954f095b02ffb6ea0d391ecf6092e8304b03119dced171fbce4ee7483d3de2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://02aeafbedef0b4d5845cd8e707673872fd4fc165fe8508ad348506f053e73ee5\",\"dweb:/ipfs/QmcE33C9Mw7fdnhHKmrabwzBH2JyjF4XCG3S4D9AtzMXs2\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0x706d0d1ddd874bdcd4f73422721420b32939c1c96d4718db8b1b8e9f78bfa76c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2ed8c858fa9c3756cb70cb92bb860e0ae6429eb62551b502fb4a883e1344eb42\",\"dweb:/ipfs/QmezLAADZmFj8bKS9dccTQYHcpy4g8PSZ75AuvppSwjrW7\"]},\"node_modules/@latticexyz/store/src/PackedCounter.sol\":{\"keccak256\":\"0xd3d6a9bb72f5580e7b9794530a186e05e8d6da7c9172cb01e62fcc6e558dd052\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0625cb2a0d0e544800dff8194182aa440e1e6d61cc77b9e2d8d0186bce261146\",\"dweb:/ipfs/QmRmWWwTaJ7JPZZnJXavjJNXBzEjaK4KEzxaWj5MeJQUuH\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0xf06793dc2e9e9994403d29125359eb2f326b0e6e502d51a8e6e4e45fc9d90a3c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8cb23bf421b29839200e5584a770186309dd05cd77d4345c964f47528117a244\",\"dweb:/ipfs/QmQBvrDAtoqibky7CjCLKxGz3MquxK1iNk2Yac55Lc4xF5\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0x14879c6c859cad89451616dcee1ab6222fd565849809b89407de48f0c1a01133\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://924caa18aa0e656a295da626d586dfb120bbea321123010462b0640c7e0c52c4\",\"dweb:/ipfs/QmNueqwy4g5mwq9kXaPzue8X2mqyFjH2P2AFi3pNN3WTAt\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x86e1be7e58fbd1535c533a829f8a78c65136af92c9066e7d99d221a91dde8f9b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3d5e232aefc4a518b0cc724b4b22e7b059a7bdde02e6512b627ce8693749c8de\",\"dweb:/ipfs/QmYsxGsak61jdiyq921tKzbWC7AtgA5FVsqsT1UL6CqzPT\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0xce2d227fc668c385bfded0a5af295a63363eb02233bafb60b4acbf048d4d4500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://597a716eed53c2bbbc911f94e7b6440684210dec82f9dbcb31c1f18fe10d3e8e\",\"dweb:/ipfs/QmSyaRAoh56KznH1zEArkwNUg3b6r8tanP7EALnZBcs5DE\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x1f0ba0265027e9f6e945ce3ab319bafb5312f285f82bdcc2f2beabd9d7e99d64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fa22ad06665c32e8794eea0f93d8b9e3ce08d752d37a08a669688eb53f8faa08\",\"dweb:/ipfs/QmYLTumckjQcZwt7vCj2YzM91N5mtwaSQBLEYkBJPCpMtm\"]},\"node_modules/@latticexyz/store/src/TableId.sol\":{\"keccak256\":\"0x8c55662dc4f66be577bb96bfdcb65d95fe1323c733443ab749cb9ec1e58f0a6e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://209ed70247c1c64b56d9b21f2902e67e0994cb89ac19be8e1553dac9d978fb76\",\"dweb:/ipfs/QmVLYNDwBL3GZidDpwqFZx916zoGZ5tWVztxKQFEEzVybP\"]},\"node_modules/@latticexyz/store/src/Utils.sol\":{\"keccak256\":\"0x426216bfa1c0e70640787007a6e39257cf09e586fd04831ea4fb3dd9c5768fc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://38e657fa9cfaebe39477eaff27d1ad4d7eeaf0c0058539d2ec7e6976d93df4f4\",\"dweb:/ipfs/QmRuaxqRjUrHHC2ZyTnpmq6sfrWGCDh91B6F5chFAToU6U\"]},\"node_modules/@latticexyz/store/src/codegen/Tables.sol\":{\"keccak256\":\"0x2eba8dd4e9f07b505438a2fb744ac7da26b1f6321b8a88054e9442db947ab435\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd1a60dfff209a3f1df84aeb5d7f8a5cf0419c19be63bac428df0a779d5ba437\",\"dweb:/ipfs/QmaHem2GMJPHrtr1f7fk1ThTBESdYipmBxEEoKT1DBRmsd\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Callbacks.sol\":{\"keccak256\":\"0x81f25ea159146621a7add30f6701d4787bdf828f8782488d5f9be3eb9b965130\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://64c3fdcafe59b27faaf03d5102b83defad59679099d9d1616b2d928ab1e86727\",\"dweb:/ipfs/Qmdr1W6j6bHnE7tjjLMo3G4sAWr4mKePWGDycPEDuKUAJX\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xc06e9aef4d145b3e10c1b210ea48a609744638609674c74bc7f77628f1b051d4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://94ea702795469b50d8c2cab53869caa456fe17d8b850445c59b9a1fd516d4b75\",\"dweb:/ipfs/QmNyiNVHyL2YnhiJfCpfjgNq7bSqCHghfS9wgQ8tTQ5x6e\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Mixed.sol\":{\"keccak256\":\"0xe48f64075029fd088e33201f451bf3fe9baed3db4360a58f7c710e5fd904fb21\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e58e6ee54b6681f9ccb39259c4e22e74fdc1876c915c0143048810b03f4b3be\",\"dweb:/ipfs/QmQrxD8NDMd9DvrY5A9f1uRBjPwMgppoGn7w8R79qgdXuo\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreMetadata.sol\":{\"keccak256\":\"0x03eac5a0bbface43a3a01da3226443356a7aeeb6a88a063f6d9d18551613346c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f681ef065f0fed547f2675f4f21d8dd38e6d4845cccff0ac01e3d5b7b1a5c156\",\"dweb:/ipfs/QmcjEWQghNK2g1QHRqUWRmDXwweWhZTAJNRdyhyLpJf1V4\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Vector2.sol\":{\"keccak256\":\"0x6f77096a6301fa2438365eb4c577e5086f4e45369be801705f2a064af7de0d51\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://44b3fa75b4475ff46cbdb9bc9907a766716090e077e1e4a95314b20857a70136\",\"dweb:/ipfs/QmNwqMe3ehQL8aJkvU93nXMSyr9vMCYFXBUdZZ3BqKRKdz\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0xe760dfb8ff20cfb44eee6a5f03ac84abbc91382fca2e36c88c92046e6b3a66e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75eb4b355c547ffee62031d8dfb80844fa31fa4460543a088278083662dc4c12\",\"dweb:/ipfs/Qmf8sRcrjJ6hEQ8TPwwe6KcXcE2MPw7Juvf7fKBZ1fBCt6\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x046f0a2dc543c7a80be91ff26b19990a10fbe73cb605f4944af38e04326a43df\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d94f038e70179571d2aed3cbe03e812ce79a471372171fb78e8189bebd7ae1ac\",\"dweb:/ipfs/QmUV4bkaEc8hefLpLRaGwmu4WZsqRLE9e6R8UdaKPExb6p\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0xff0278a4e35174bbed8a38dad8ae7506f725bfe95f0b7c13829c353d68dd25dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://26249ec0c2fa3a3430a2f8edbfc5cd678e34ea1cf1d7490ecaf1e925c976eb85\",\"dweb:/ipfs/QmUpkhr5kFiDKc7rZ2z5HcTf5PkrWVJu5sa31tYv911cPL\"]},\"node_modules/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"src/AccessControl.sol\":{\"keccak256\":\"0x1709609787c064269c201ba1683bb965746ecfffc2fd3ca945665150c1452b61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d40409726d6ebb08666be0c098a45ae2992535d0acb785cd9283daf3173fe45b\",\"dweb:/ipfs/QmdELXD8o41THzejXXWeBBYgb38U5TcK3Q4EygbmBkMRE9\"]},\"src/Call.sol\":{\"keccak256\":\"0x27114d009081f1f0a5c0b62c9ebe30415c76ed02fa46b305202bb5163711d926\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a553cf84c877160c8db6978083f09632800032de6dcc5d8a5c3b9c18cabeb578\",\"dweb:/ipfs/QmWyCDz5NobNAHEs1PCftXJzV5oCu5SKfmzfA9BynSccGn\"]},\"src/ResourceSelector.sol\":{\"keccak256\":\"0xf6a1714d556e95fda532f630ac1bd8fd9843e980dffce29f81a29c0b6f02d368\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5075e64cc1224bcd8ab46c16f85874ac91efecbf5cbeb82e5c1e3fa4f1a1edfa\",\"dweb:/ipfs/QmTqCVF6k7CMsiUJ223mXumjVyoCCNU2uE9fUHDgBmDdRj\"]},\"src/System.sol\":{\"keccak256\":\"0xf1342c8461adb4c5821c1ca106a67ba34402b36265fa63bf766eed937bd92bf9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea41f96a27a26d56d62824e007b3b0234d44fcd94361e5c8f40fdb334cbf444b\",\"dweb:/ipfs/QmRfj4iS5Lu9V4e47wsPQy4op1qQ6hqaJpERLB5EyzqW38\"]},\"src/WorldContext.sol\":{\"keccak256\":\"0xd44a445ff07ac1551e5a8f17450381664ecf68dcb1c89fee8fb11b9b73c9cd7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1235cc5636743b9afbb313676fc4c84ac5607142c758b0bfc59107aff79ed30c\",\"dweb:/ipfs/QmUtTUFjxKy7GtQC1Uzn6B2bRNZpcASFySPDjd16T47Rcz\"]},\"src/constants.sol\":{\"keccak256\":\"0xa0ae422aceefe0e7f200448201769e2bc527fa9e647475f65401558a03c0a83d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a2473ca8ab5e184b7320c476fd07bdff31ff450fc750ab9eabb9c0a2ee43776e\",\"dweb:/ipfs/QmQ7sBqwPgj4AtsENyzCMFWVQeMzV5uuCN8ygNU2pKYotE\"]},\"src/interfaces/IErrors.sol\":{\"keccak256\":\"0x8a8a5caf964d336b38123704893463589b3bf6195405c9929c21291faf0e2f6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3aa3dcd4d059015580dbcad309db99db7a18fe7c015f1f83f56d84684f27bd14\",\"dweb:/ipfs/QmVpQW1kF4ruDmXtnTSnGRuxr7RtJqo8NwEXtfdA5TVKq1\"]},\"src/interfaces/IModule.sol\":{\"keccak256\":\"0x0c9f5a12f8b27ae6f02b6ca7ccfd7ab1de349e5c4773f99cfab1fd4721bc4a06\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cafb66fbd4b3587121a2f2ff6fc5e4c32796e6469719899e181c3abac1479178\",\"dweb:/ipfs/QmT6GKskhqmLadhuNVVbgDEgJ92jMsCdyLcfrSaiVQeZYf\"]},\"src/modules/core/implementations/ModuleInstallationSystem.sol\":{\"keccak256\":\"0x0c464af021df4bcc2e8e79d7e8a646a447f4b32cb286de5f45d23da5781fd082\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://958ff6c39938acad1cc6b39823f6aa358de357dbbc8ec853208e262dd580bd26\",\"dweb:/ipfs/QmPxKoWPNYVorZs8SQhUkwRWEFmD3N5Ry8ZBckDuhtumqD\"]},\"src/modules/core/tables/FunctionSelectors.sol\":{\"keccak256\":\"0x3d8a4cac9dcd5f479faa48b5e5a82f4100615afa674c96e35a840847fedd043e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a1f1136dc47239b2032ddbc77f907a2aac632f66f7a8b7f4596e848b2b47263c\",\"dweb:/ipfs/Qmd4XZ8mZs5R1B4oVJwSxxFWGj5VcZ6buKoWPeHJQr6oCu\"]},\"src/modules/core/tables/Systems.sol\":{\"keccak256\":\"0x4bac2d11ed8b4c4ebd9a5ad7fe194c23c799d21aa222877896f0781c71c46eec\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8df7240855a018acdc348724c495110ef8313841bfb33a1fe4bd2c67c378cbc\",\"dweb:/ipfs/QmevZAkn4ohkjUzzTp1nYEFENKTt8p8xY2eXAkofV7Pwkk\"]},\"src/tables/InstalledModules.sol\":{\"keccak256\":\"0x0a2a13f174a53839754ab151d26d6d30018a9811e386691431660d0f19cd37fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c1e2784f21144cb127d3f18473541d33c7ad8f2f8e18f64fccc6f03bc34a667\",\"dweb:/ipfs/QmbAVUb6feHKm8weavZw4bzovsYHp9GqVzAw1LmA15xgNf\"]},\"src/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x305c60ea746f91db681eb9beaadbe3cd39e5d6839bb9499c0181c53fa312beb8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3166cf67b2dc066ccd2145452b26069b8b849b68de52d759b226396f0f95c362\",\"dweb:/ipfs/QmSkM1zDeAVQay9XHNtKBS8Vv9hPmhzDbJ1Y9ihZjQsziU\"]},\"src/tables/ResourceAccess.sol\":{\"keccak256\":\"0x8bbcbae889a7c9b71d3606309f9013911693a23f110d869aa24f4c19636ef97c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2d49a931783a91c903e7915c7489a6813dfb30bfdc9a634aaff0cb6b9894a45a\",\"dweb:/ipfs/QmeU9CzyZBAoYK7pRxDsAq22vXd6o5cnEAGQ26q7eQUoRc\"]}},\"version\":1}",
88
+ "rawMetadata": "{\"compiler\":{\"version\":\"0.8.13+commit.abaa5c0e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Slice_OutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"StoreCore_InvalidDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"StoreCore_TableNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"args\",\"type\":\"bytes\"}],\"name\":\"installModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"installModule(address,bytes)\":{\"notice\":\"Install the given module at the given namespace in the World.\"}},\"notice\":\"Installation of (non-root) modules in the World.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/modules/core/implementations/ModuleInstallationSystem.sol\":\"ModuleInstallationSystem\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@latticexyz/=node_modules/@latticexyz/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0xe881f296ba0fe410faa6395ee4a65b9bf154947aebc6aa323d41a0484504221e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba7f706464d14365ff751936ba96f79f200df7bcd9d9f8abccd0b41387ca7967\",\"dweb:/ipfs/QmTiHgH3ZM2oJoqsbNs3iwwPFNYFNU7m8co87woxRLaUZ6\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x117331c70b8cda783991a6b3e14861176068086526548d334cef8e1c24e16d5b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://613026caf6782e8a4ad0f366781fc13141492b667a723bdea69250c9b517c790\",\"dweb:/ipfs/QmQqwBSjcrDUoVvmXxeKZZpyGSEpeMTh2QZRExQTdZLrCt\"]},\"node_modules/@latticexyz/store/src/IErrors.sol\":{\"keccak256\":\"0xc29b8d9d2597c6e9fcfbb37714cfa02270983c95e5a54b4c70eb9d99abcfe4e9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2df9591141bec48fb57df31c0c5632085d5347d194292b14b479930bac5c8274\",\"dweb:/ipfs/Qmaa3yV9YeJ14wYyWcFYHjAhRc9qaU6WrejNAmdSP7oQRV\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x465c23c85a77fdc6001f06a6899080c1d6cfef9858886d7d922e54fce1eb79e6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6358088868fa52711e65d3462eb6b6762fe736eb7f033909e3260280b6a87957\",\"dweb:/ipfs/QmdkwwvTa9Hzc5SDP4C1hvrKzc8SxWNDrxNqQKw4ZoCKzL\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0x706d0d1ddd874bdcd4f73422721420b32939c1c96d4718db8b1b8e9f78bfa76c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2ed8c858fa9c3756cb70cb92bb860e0ae6429eb62551b502fb4a883e1344eb42\",\"dweb:/ipfs/QmezLAADZmFj8bKS9dccTQYHcpy4g8PSZ75AuvppSwjrW7\"]},\"node_modules/@latticexyz/store/src/PackedCounter.sol\":{\"keccak256\":\"0xd3d6a9bb72f5580e7b9794530a186e05e8d6da7c9172cb01e62fcc6e558dd052\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0625cb2a0d0e544800dff8194182aa440e1e6d61cc77b9e2d8d0186bce261146\",\"dweb:/ipfs/QmRmWWwTaJ7JPZZnJXavjJNXBzEjaK4KEzxaWj5MeJQUuH\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0xf06793dc2e9e9994403d29125359eb2f326b0e6e502d51a8e6e4e45fc9d90a3c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8cb23bf421b29839200e5584a770186309dd05cd77d4345c964f47528117a244\",\"dweb:/ipfs/QmQBvrDAtoqibky7CjCLKxGz3MquxK1iNk2Yac55Lc4xF5\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0x14879c6c859cad89451616dcee1ab6222fd565849809b89407de48f0c1a01133\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://924caa18aa0e656a295da626d586dfb120bbea321123010462b0640c7e0c52c4\",\"dweb:/ipfs/QmNueqwy4g5mwq9kXaPzue8X2mqyFjH2P2AFi3pNN3WTAt\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x2ccca6556a3c2595479914d30efa84fc3b61cff30036522714a0ef99289ee2af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d169812a4159454be580d42fedee63d121646102e6462fe3b2ea905b69bee07\",\"dweb:/ipfs/QmXiKsMeN4nsdiqDwhuWfb4J3UF57B4rkuwkfbrRXA6vtb\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0xba4d729be15ad4fd887f2bbaadd12a902af5470b62c58bd9157661177c60a671\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cfcf8588c9641afb6e2ed658f584f378909f0615da7a5bc5c919cf51c15b12ff\",\"dweb:/ipfs/QmZEbMyZZRL7oLKC8VMLmTFEK5LL1BAJyxnvmgSNiy5kVg\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x341c555b911581dc6a19e8eb6f64f9875ff92f8e1c9f3a9c3333129e802e130c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0809c8e9a4e46d7cce2d9a21fb315d5a3895d0e9af862fcc9b84733431ec94e0\",\"dweb:/ipfs/QmetNXMWrE1K57YJTEZMiFuEPa3yxnRvFnZFpSJRpQoTQi\"]},\"node_modules/@latticexyz/store/src/TableId.sol\":{\"keccak256\":\"0x8c55662dc4f66be577bb96bfdcb65d95fe1323c733443ab749cb9ec1e58f0a6e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://209ed70247c1c64b56d9b21f2902e67e0994cb89ac19be8e1553dac9d978fb76\",\"dweb:/ipfs/QmVLYNDwBL3GZidDpwqFZx916zoGZ5tWVztxKQFEEzVybP\"]},\"node_modules/@latticexyz/store/src/Utils.sol\":{\"keccak256\":\"0x426216bfa1c0e70640787007a6e39257cf09e586fd04831ea4fb3dd9c5768fc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://38e657fa9cfaebe39477eaff27d1ad4d7eeaf0c0058539d2ec7e6976d93df4f4\",\"dweb:/ipfs/QmRuaxqRjUrHHC2ZyTnpmq6sfrWGCDh91B6F5chFAToU6U\"]},\"node_modules/@latticexyz/store/src/codegen/Tables.sol\":{\"keccak256\":\"0x2eba8dd4e9f07b505438a2fb744ac7da26b1f6321b8a88054e9442db947ab435\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd1a60dfff209a3f1df84aeb5d7f8a5cf0419c19be63bac428df0a779d5ba437\",\"dweb:/ipfs/QmaHem2GMJPHrtr1f7fk1ThTBESdYipmBxEEoKT1DBRmsd\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Callbacks.sol\":{\"keccak256\":\"0x81f25ea159146621a7add30f6701d4787bdf828f8782488d5f9be3eb9b965130\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://64c3fdcafe59b27faaf03d5102b83defad59679099d9d1616b2d928ab1e86727\",\"dweb:/ipfs/Qmdr1W6j6bHnE7tjjLMo3G4sAWr4mKePWGDycPEDuKUAJX\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xc06e9aef4d145b3e10c1b210ea48a609744638609674c74bc7f77628f1b051d4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://94ea702795469b50d8c2cab53869caa456fe17d8b850445c59b9a1fd516d4b75\",\"dweb:/ipfs/QmNyiNVHyL2YnhiJfCpfjgNq7bSqCHghfS9wgQ8tTQ5x6e\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Mixed.sol\":{\"keccak256\":\"0xe48f64075029fd088e33201f451bf3fe9baed3db4360a58f7c710e5fd904fb21\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e58e6ee54b6681f9ccb39259c4e22e74fdc1876c915c0143048810b03f4b3be\",\"dweb:/ipfs/QmQrxD8NDMd9DvrY5A9f1uRBjPwMgppoGn7w8R79qgdXuo\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreMetadata.sol\":{\"keccak256\":\"0x03eac5a0bbface43a3a01da3226443356a7aeeb6a88a063f6d9d18551613346c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f681ef065f0fed547f2675f4f21d8dd38e6d4845cccff0ac01e3d5b7b1a5c156\",\"dweb:/ipfs/QmcjEWQghNK2g1QHRqUWRmDXwweWhZTAJNRdyhyLpJf1V4\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Vector2.sol\":{\"keccak256\":\"0x6f77096a6301fa2438365eb4c577e5086f4e45369be801705f2a064af7de0d51\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://44b3fa75b4475ff46cbdb9bc9907a766716090e077e1e4a95314b20857a70136\",\"dweb:/ipfs/QmNwqMe3ehQL8aJkvU93nXMSyr9vMCYFXBUdZZ3BqKRKdz\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0xe760dfb8ff20cfb44eee6a5f03ac84abbc91382fca2e36c88c92046e6b3a66e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75eb4b355c547ffee62031d8dfb80844fa31fa4460543a088278083662dc4c12\",\"dweb:/ipfs/Qmf8sRcrjJ6hEQ8TPwwe6KcXcE2MPw7Juvf7fKBZ1fBCt6\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x046f0a2dc543c7a80be91ff26b19990a10fbe73cb605f4944af38e04326a43df\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d94f038e70179571d2aed3cbe03e812ce79a471372171fb78e8189bebd7ae1ac\",\"dweb:/ipfs/QmUV4bkaEc8hefLpLRaGwmu4WZsqRLE9e6R8UdaKPExb6p\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0xff0278a4e35174bbed8a38dad8ae7506f725bfe95f0b7c13829c353d68dd25dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://26249ec0c2fa3a3430a2f8edbfc5cd678e34ea1cf1d7490ecaf1e925c976eb85\",\"dweb:/ipfs/QmUpkhr5kFiDKc7rZ2z5HcTf5PkrWVJu5sa31tYv911cPL\"]},\"node_modules/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"src/AccessControl.sol\":{\"keccak256\":\"0x1709609787c064269c201ba1683bb965746ecfffc2fd3ca945665150c1452b61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d40409726d6ebb08666be0c098a45ae2992535d0acb785cd9283daf3173fe45b\",\"dweb:/ipfs/QmdELXD8o41THzejXXWeBBYgb38U5TcK3Q4EygbmBkMRE9\"]},\"src/Call.sol\":{\"keccak256\":\"0x27114d009081f1f0a5c0b62c9ebe30415c76ed02fa46b305202bb5163711d926\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a553cf84c877160c8db6978083f09632800032de6dcc5d8a5c3b9c18cabeb578\",\"dweb:/ipfs/QmWyCDz5NobNAHEs1PCftXJzV5oCu5SKfmzfA9BynSccGn\"]},\"src/ResourceSelector.sol\":{\"keccak256\":\"0xf6a1714d556e95fda532f630ac1bd8fd9843e980dffce29f81a29c0b6f02d368\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5075e64cc1224bcd8ab46c16f85874ac91efecbf5cbeb82e5c1e3fa4f1a1edfa\",\"dweb:/ipfs/QmTqCVF6k7CMsiUJ223mXumjVyoCCNU2uE9fUHDgBmDdRj\"]},\"src/System.sol\":{\"keccak256\":\"0xf1342c8461adb4c5821c1ca106a67ba34402b36265fa63bf766eed937bd92bf9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea41f96a27a26d56d62824e007b3b0234d44fcd94361e5c8f40fdb334cbf444b\",\"dweb:/ipfs/QmRfj4iS5Lu9V4e47wsPQy4op1qQ6hqaJpERLB5EyzqW38\"]},\"src/WorldContext.sol\":{\"keccak256\":\"0xd44a445ff07ac1551e5a8f17450381664ecf68dcb1c89fee8fb11b9b73c9cd7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1235cc5636743b9afbb313676fc4c84ac5607142c758b0bfc59107aff79ed30c\",\"dweb:/ipfs/QmUtTUFjxKy7GtQC1Uzn6B2bRNZpcASFySPDjd16T47Rcz\"]},\"src/constants.sol\":{\"keccak256\":\"0xa0ae422aceefe0e7f200448201769e2bc527fa9e647475f65401558a03c0a83d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a2473ca8ab5e184b7320c476fd07bdff31ff450fc750ab9eabb9c0a2ee43776e\",\"dweb:/ipfs/QmQ7sBqwPgj4AtsENyzCMFWVQeMzV5uuCN8ygNU2pKYotE\"]},\"src/interfaces/IErrors.sol\":{\"keccak256\":\"0x8a8a5caf964d336b38123704893463589b3bf6195405c9929c21291faf0e2f6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3aa3dcd4d059015580dbcad309db99db7a18fe7c015f1f83f56d84684f27bd14\",\"dweb:/ipfs/QmVpQW1kF4ruDmXtnTSnGRuxr7RtJqo8NwEXtfdA5TVKq1\"]},\"src/interfaces/IModule.sol\":{\"keccak256\":\"0x0c9f5a12f8b27ae6f02b6ca7ccfd7ab1de349e5c4773f99cfab1fd4721bc4a06\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cafb66fbd4b3587121a2f2ff6fc5e4c32796e6469719899e181c3abac1479178\",\"dweb:/ipfs/QmT6GKskhqmLadhuNVVbgDEgJ92jMsCdyLcfrSaiVQeZYf\"]},\"src/modules/core/implementations/ModuleInstallationSystem.sol\":{\"keccak256\":\"0x0c464af021df4bcc2e8e79d7e8a646a447f4b32cb286de5f45d23da5781fd082\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://958ff6c39938acad1cc6b39823f6aa358de357dbbc8ec853208e262dd580bd26\",\"dweb:/ipfs/QmPxKoWPNYVorZs8SQhUkwRWEFmD3N5Ry8ZBckDuhtumqD\"]},\"src/modules/core/tables/FunctionSelectors.sol\":{\"keccak256\":\"0x3d8a4cac9dcd5f479faa48b5e5a82f4100615afa674c96e35a840847fedd043e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a1f1136dc47239b2032ddbc77f907a2aac632f66f7a8b7f4596e848b2b47263c\",\"dweb:/ipfs/Qmd4XZ8mZs5R1B4oVJwSxxFWGj5VcZ6buKoWPeHJQr6oCu\"]},\"src/modules/core/tables/Systems.sol\":{\"keccak256\":\"0x4bac2d11ed8b4c4ebd9a5ad7fe194c23c799d21aa222877896f0781c71c46eec\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8df7240855a018acdc348724c495110ef8313841bfb33a1fe4bd2c67c378cbc\",\"dweb:/ipfs/QmevZAkn4ohkjUzzTp1nYEFENKTt8p8xY2eXAkofV7Pwkk\"]},\"src/tables/InstalledModules.sol\":{\"keccak256\":\"0x0a2a13f174a53839754ab151d26d6d30018a9811e386691431660d0f19cd37fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c1e2784f21144cb127d3f18473541d33c7ad8f2f8e18f64fccc6f03bc34a667\",\"dweb:/ipfs/QmbAVUb6feHKm8weavZw4bzovsYHp9GqVzAw1LmA15xgNf\"]},\"src/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x305c60ea746f91db681eb9beaadbe3cd39e5d6839bb9499c0181c53fa312beb8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3166cf67b2dc066ccd2145452b26069b8b849b68de52d759b226396f0f95c362\",\"dweb:/ipfs/QmSkM1zDeAVQay9XHNtKBS8Vv9hPmhzDbJ1Y9ihZjQsziU\"]},\"src/tables/ResourceAccess.sol\":{\"keccak256\":\"0x8bbcbae889a7c9b71d3606309f9013911693a23f110d869aa24f4c19636ef97c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2d49a931783a91c903e7915c7489a6813dfb30bfdc9a634aaff0cb6b9894a45a\",\"dweb:/ipfs/QmeU9CzyZBAoYK7pRxDsAq22vXd6o5cnEAGQ26q7eQUoRc\"]}},\"version\":1}",
89
89
  "metadata": {
90
90
  "compiler": {
91
91
  "version": "0.8.13+commit.abaa5c0e"
@@ -224,10 +224,10 @@
224
224
  "license": "MIT"
225
225
  },
226
226
  "node_modules/@latticexyz/store/src/IStore.sol": {
227
- "keccak256": "0x83954f095b02ffb6ea0d391ecf6092e8304b03119dced171fbce4ee7483d3de2",
227
+ "keccak256": "0x465c23c85a77fdc6001f06a6899080c1d6cfef9858886d7d922e54fce1eb79e6",
228
228
  "urls": [
229
- "bzz-raw://02aeafbedef0b4d5845cd8e707673872fd4fc165fe8508ad348506f053e73ee5",
230
- "dweb:/ipfs/QmcE33C9Mw7fdnhHKmrabwzBH2JyjF4XCG3S4D9AtzMXs2"
229
+ "bzz-raw://6358088868fa52711e65d3462eb6b6762fe736eb7f033909e3260280b6a87957",
230
+ "dweb:/ipfs/QmdkwwvTa9Hzc5SDP4C1hvrKzc8SxWNDrxNqQKw4ZoCKzL"
231
231
  ],
232
232
  "license": "MIT"
233
233
  },
@@ -264,26 +264,26 @@
264
264
  "license": "MIT"
265
265
  },
266
266
  "node_modules/@latticexyz/store/src/Storage.sol": {
267
- "keccak256": "0x86e1be7e58fbd1535c533a829f8a78c65136af92c9066e7d99d221a91dde8f9b",
267
+ "keccak256": "0x2ccca6556a3c2595479914d30efa84fc3b61cff30036522714a0ef99289ee2af",
268
268
  "urls": [
269
- "bzz-raw://3d5e232aefc4a518b0cc724b4b22e7b059a7bdde02e6512b627ce8693749c8de",
270
- "dweb:/ipfs/QmYsxGsak61jdiyq921tKzbWC7AtgA5FVsqsT1UL6CqzPT"
269
+ "bzz-raw://9d169812a4159454be580d42fedee63d121646102e6462fe3b2ea905b69bee07",
270
+ "dweb:/ipfs/QmXiKsMeN4nsdiqDwhuWfb4J3UF57B4rkuwkfbrRXA6vtb"
271
271
  ],
272
272
  "license": "MIT"
273
273
  },
274
274
  "node_modules/@latticexyz/store/src/StoreCore.sol": {
275
- "keccak256": "0xce2d227fc668c385bfded0a5af295a63363eb02233bafb60b4acbf048d4d4500",
275
+ "keccak256": "0xba4d729be15ad4fd887f2bbaadd12a902af5470b62c58bd9157661177c60a671",
276
276
  "urls": [
277
- "bzz-raw://597a716eed53c2bbbc911f94e7b6440684210dec82f9dbcb31c1f18fe10d3e8e",
278
- "dweb:/ipfs/QmSyaRAoh56KznH1zEArkwNUg3b6r8tanP7EALnZBcs5DE"
277
+ "bzz-raw://cfcf8588c9641afb6e2ed658f584f378909f0615da7a5bc5c919cf51c15b12ff",
278
+ "dweb:/ipfs/QmZEbMyZZRL7oLKC8VMLmTFEK5LL1BAJyxnvmgSNiy5kVg"
279
279
  ],
280
280
  "license": "MIT"
281
281
  },
282
282
  "node_modules/@latticexyz/store/src/StoreSwitch.sol": {
283
- "keccak256": "0x1f0ba0265027e9f6e945ce3ab319bafb5312f285f82bdcc2f2beabd9d7e99d64",
283
+ "keccak256": "0x341c555b911581dc6a19e8eb6f64f9875ff92f8e1c9f3a9c3333129e802e130c",
284
284
  "urls": [
285
- "bzz-raw://fa22ad06665c32e8794eea0f93d8b9e3ce08d752d37a08a669688eb53f8faa08",
286
- "dweb:/ipfs/QmYLTumckjQcZwt7vCj2YzM91N5mtwaSQBLEYkBJPCpMtm"
285
+ "bzz-raw://0809c8e9a4e46d7cce2d9a21fb315d5a3895d0e9af862fcc9b84733431ec94e0",
286
+ "dweb:/ipfs/QmetNXMWrE1K57YJTEZMiFuEPa3yxnRvFnZFpSJRpQoTQi"
287
287
  ],
288
288
  "license": "MIT"
289
289
  },
@@ -500,35 +500,35 @@
500
500
  },
501
501
  "ast": {
502
502
  "absolutePath": "src/modules/core/implementations/ModuleInstallationSystem.sol",
503
- "id": 34030,
503
+ "id": 34631,
504
504
  "exportedSymbols": {
505
505
  "AccessControl": [
506
- 32296
506
+ 32820
507
507
  ],
508
508
  "Call": [
509
- 32352
509
+ 32876
510
510
  ],
511
511
  "IModule": [
512
- 33277
512
+ 33863
513
513
  ],
514
514
  "InstalledModules": [
515
- 40742
515
+ 41343
516
516
  ],
517
517
  "ModuleInstallationSystem": [
518
- 34029
518
+ 34630
519
519
  ],
520
520
  "ResourceAccess": [
521
- 41825
521
+ 42426
522
522
  ],
523
523
  "System": [
524
- 32532
524
+ 33056
525
525
  ]
526
526
  },
527
527
  "nodeType": "SourceUnit",
528
528
  "src": "32:985:69",
529
529
  "nodes": [
530
530
  {
531
- "id": 33968,
531
+ "id": 34569,
532
532
  "nodeType": "PragmaDirective",
533
533
  "src": "32:24:69",
534
534
  "nodes": [],
@@ -540,23 +540,23 @@
540
540
  ]
541
541
  },
542
542
  {
543
- "id": 33970,
543
+ "id": 34571,
544
544
  "nodeType": "ImportDirective",
545
545
  "src": "58:58:69",
546
546
  "nodes": [],
547
547
  "absolutePath": "src/interfaces/IModule.sol",
548
548
  "file": "../../../interfaces/IModule.sol",
549
549
  "nameLocation": "-1:-1:-1",
550
- "scope": 34030,
551
- "sourceUnit": 33278,
550
+ "scope": 34631,
551
+ "sourceUnit": 33864,
552
552
  "symbolAliases": [
553
553
  {
554
554
  "foreign": {
555
- "id": 33969,
555
+ "id": 34570,
556
556
  "name": "IModule",
557
557
  "nodeType": "Identifier",
558
558
  "overloadedDeclarations": [],
559
- "referencedDeclaration": 33277,
559
+ "referencedDeclaration": 33863,
560
560
  "src": "67:7:69",
561
561
  "typeDescriptions": {}
562
562
  },
@@ -566,23 +566,23 @@
566
566
  "unitAlias": ""
567
567
  },
568
568
  {
569
- "id": 33972,
569
+ "id": 34573,
570
570
  "nodeType": "ImportDirective",
571
571
  "src": "117:45:69",
572
572
  "nodes": [],
573
573
  "absolutePath": "src/System.sol",
574
574
  "file": "../../../System.sol",
575
575
  "nameLocation": "-1:-1:-1",
576
- "scope": 34030,
577
- "sourceUnit": 32533,
576
+ "scope": 34631,
577
+ "sourceUnit": 33057,
578
578
  "symbolAliases": [
579
579
  {
580
580
  "foreign": {
581
- "id": 33971,
581
+ "id": 34572,
582
582
  "name": "System",
583
583
  "nodeType": "Identifier",
584
584
  "overloadedDeclarations": [],
585
- "referencedDeclaration": 32532,
585
+ "referencedDeclaration": 33056,
586
586
  "src": "126:6:69",
587
587
  "typeDescriptions": {}
588
588
  },
@@ -592,23 +592,23 @@
592
592
  "unitAlias": ""
593
593
  },
594
594
  {
595
- "id": 33974,
595
+ "id": 34575,
596
596
  "nodeType": "ImportDirective",
597
597
  "src": "163:59:69",
598
598
  "nodes": [],
599
599
  "absolutePath": "src/AccessControl.sol",
600
600
  "file": "../../../AccessControl.sol",
601
601
  "nameLocation": "-1:-1:-1",
602
- "scope": 34030,
603
- "sourceUnit": 32297,
602
+ "scope": 34631,
603
+ "sourceUnit": 32821,
604
604
  "symbolAliases": [
605
605
  {
606
606
  "foreign": {
607
- "id": 33973,
607
+ "id": 34574,
608
608
  "name": "AccessControl",
609
609
  "nodeType": "Identifier",
610
610
  "overloadedDeclarations": [],
611
- "referencedDeclaration": 32296,
611
+ "referencedDeclaration": 32820,
612
612
  "src": "172:13:69",
613
613
  "typeDescriptions": {}
614
614
  },
@@ -618,23 +618,23 @@
618
618
  "unitAlias": ""
619
619
  },
620
620
  {
621
- "id": 33976,
621
+ "id": 34577,
622
622
  "nodeType": "ImportDirective",
623
623
  "src": "223:41:69",
624
624
  "nodes": [],
625
625
  "absolutePath": "src/Call.sol",
626
626
  "file": "../../../Call.sol",
627
627
  "nameLocation": "-1:-1:-1",
628
- "scope": 34030,
629
- "sourceUnit": 32353,
628
+ "scope": 34631,
629
+ "sourceUnit": 32877,
630
630
  "symbolAliases": [
631
631
  {
632
632
  "foreign": {
633
- "id": 33975,
633
+ "id": 34576,
634
634
  "name": "Call",
635
635
  "nodeType": "Identifier",
636
636
  "overloadedDeclarations": [],
637
- "referencedDeclaration": 32352,
637
+ "referencedDeclaration": 32876,
638
638
  "src": "232:4:69",
639
639
  "typeDescriptions": {}
640
640
  },
@@ -644,23 +644,23 @@
644
644
  "unitAlias": ""
645
645
  },
646
646
  {
647
- "id": 33978,
647
+ "id": 34579,
648
648
  "nodeType": "ImportDirective",
649
649
  "src": "265:68:69",
650
650
  "nodes": [],
651
651
  "absolutePath": "src/tables/ResourceAccess.sol",
652
652
  "file": "../../../tables/ResourceAccess.sol",
653
653
  "nameLocation": "-1:-1:-1",
654
- "scope": 34030,
655
- "sourceUnit": 41835,
654
+ "scope": 34631,
655
+ "sourceUnit": 42436,
656
656
  "symbolAliases": [
657
657
  {
658
658
  "foreign": {
659
- "id": 33977,
659
+ "id": 34578,
660
660
  "name": "ResourceAccess",
661
661
  "nodeType": "Identifier",
662
662
  "overloadedDeclarations": [],
663
- "referencedDeclaration": 41825,
663
+ "referencedDeclaration": 42426,
664
664
  "src": "274:14:69",
665
665
  "typeDescriptions": {}
666
666
  },
@@ -670,23 +670,23 @@
670
670
  "unitAlias": ""
671
671
  },
672
672
  {
673
- "id": 33980,
673
+ "id": 34581,
674
674
  "nodeType": "ImportDirective",
675
675
  "src": "334:72:69",
676
676
  "nodes": [],
677
677
  "absolutePath": "src/tables/InstalledModules.sol",
678
678
  "file": "../../../tables/InstalledModules.sol",
679
679
  "nameLocation": "-1:-1:-1",
680
- "scope": 34030,
681
- "sourceUnit": 40743,
680
+ "scope": 34631,
681
+ "sourceUnit": 41344,
682
682
  "symbolAliases": [
683
683
  {
684
684
  "foreign": {
685
- "id": 33979,
685
+ "id": 34580,
686
686
  "name": "InstalledModules",
687
687
  "nodeType": "Identifier",
688
688
  "overloadedDeclarations": [],
689
- "referencedDeclaration": 40742,
689
+ "referencedDeclaration": 41343,
690
690
  "src": "343:16:69",
691
691
  "typeDescriptions": {}
692
692
  },
@@ -696,17 +696,17 @@
696
696
  "unitAlias": ""
697
697
  },
698
698
  {
699
- "id": 34029,
699
+ "id": 34630,
700
700
  "nodeType": "ContractDefinition",
701
701
  "src": "468:548:69",
702
702
  "nodes": [
703
703
  {
704
- "id": 34028,
704
+ "id": 34629,
705
705
  "nodeType": "FunctionDefinition",
706
706
  "src": "595:419:69",
707
707
  "nodes": [],
708
708
  "body": {
709
- "id": 34027,
709
+ "id": 34628,
710
710
  "nodeType": "Block",
711
711
  "src": "660:354:69",
712
712
  "nodes": [],
@@ -718,18 +718,18 @@
718
718
  "arguments": [],
719
719
  "expression": {
720
720
  "argumentTypes": [],
721
- "id": 33995,
721
+ "id": 34596,
722
722
  "name": "_msgSender",
723
723
  "nodeType": "Identifier",
724
724
  "overloadedDeclarations": [],
725
- "referencedDeclaration": 33150,
725
+ "referencedDeclaration": 33736,
726
726
  "src": "701:10:69",
727
727
  "typeDescriptions": {
728
728
  "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
729
729
  "typeString": "function () view returns (address)"
730
730
  }
731
731
  },
732
- "id": 33996,
732
+ "id": 34597,
733
733
  "isConstant": false,
734
734
  "isLValue": false,
735
735
  "isPure": false,
@@ -747,14 +747,14 @@
747
747
  {
748
748
  "arguments": [
749
749
  {
750
- "id": 33999,
750
+ "id": 34600,
751
751
  "name": "module",
752
752
  "nodeType": "Identifier",
753
753
  "overloadedDeclarations": [],
754
- "referencedDeclaration": 33987,
754
+ "referencedDeclaration": 34588,
755
755
  "src": "737:6:69",
756
756
  "typeDescriptions": {
757
- "typeIdentifier": "t_contract$_IModule_$33277",
757
+ "typeIdentifier": "t_contract$_IModule_$33863",
758
758
  "typeString": "contract IModule"
759
759
  }
760
760
  }
@@ -762,11 +762,11 @@
762
762
  "expression": {
763
763
  "argumentTypes": [
764
764
  {
765
- "typeIdentifier": "t_contract$_IModule_$33277",
765
+ "typeIdentifier": "t_contract$_IModule_$33863",
766
766
  "typeString": "contract IModule"
767
767
  }
768
768
  ],
769
- "id": 33998,
769
+ "id": 34599,
770
770
  "isConstant": false,
771
771
  "isLValue": false,
772
772
  "isPure": true,
@@ -778,14 +778,14 @@
778
778
  "typeString": "type(address)"
779
779
  },
780
780
  "typeName": {
781
- "id": 33997,
781
+ "id": 34598,
782
782
  "name": "address",
783
783
  "nodeType": "ElementaryTypeName",
784
784
  "src": "729:7:69",
785
785
  "typeDescriptions": {}
786
786
  }
787
787
  },
788
- "id": 34000,
788
+ "id": 34601,
789
789
  "isConstant": false,
790
790
  "isLValue": false,
791
791
  "isPure": false,
@@ -805,32 +805,32 @@
805
805
  {
806
806
  "expression": {
807
807
  "expression": {
808
- "id": 34003,
808
+ "id": 34604,
809
809
  "name": "IModule",
810
810
  "nodeType": "Identifier",
811
811
  "overloadedDeclarations": [],
812
- "referencedDeclaration": 33277,
812
+ "referencedDeclaration": 33863,
813
813
  "src": "796:7:69",
814
814
  "typeDescriptions": {
815
- "typeIdentifier": "t_type$_t_contract$_IModule_$33277_$",
815
+ "typeIdentifier": "t_type$_t_contract$_IModule_$33863_$",
816
816
  "typeString": "type(contract IModule)"
817
817
  }
818
818
  },
819
- "id": 34004,
819
+ "id": 34605,
820
820
  "isConstant": false,
821
821
  "isLValue": false,
822
822
  "isPure": true,
823
823
  "lValueRequested": false,
824
824
  "memberName": "install",
825
825
  "nodeType": "MemberAccess",
826
- "referencedDeclaration": 33276,
826
+ "referencedDeclaration": 33862,
827
827
  "src": "796:15:69",
828
828
  "typeDescriptions": {
829
829
  "typeIdentifier": "t_function_declaration_nonpayable$_t_bytes_memory_ptr_$returns$__$",
830
830
  "typeString": "function IModule.install(bytes memory)"
831
831
  }
832
832
  },
833
- "id": 34005,
833
+ "id": 34606,
834
834
  "isConstant": false,
835
835
  "isLValue": false,
836
836
  "isPure": true,
@@ -844,11 +844,11 @@
844
844
  }
845
845
  },
846
846
  {
847
- "id": 34006,
847
+ "id": 34607,
848
848
  "name": "args",
849
849
  "nodeType": "Identifier",
850
850
  "overloadedDeclarations": [],
851
- "referencedDeclaration": 33989,
851
+ "referencedDeclaration": 34590,
852
852
  "src": "822:4:69",
853
853
  "typeDescriptions": {
854
854
  "typeIdentifier": "t_bytes_memory_ptr",
@@ -868,7 +868,7 @@
868
868
  }
869
869
  ],
870
870
  "expression": {
871
- "id": 34001,
871
+ "id": 34602,
872
872
  "name": "abi",
873
873
  "nodeType": "Identifier",
874
874
  "overloadedDeclarations": [],
@@ -879,7 +879,7 @@
879
879
  "typeString": "abi"
880
880
  }
881
881
  },
882
- "id": 34002,
882
+ "id": 34603,
883
883
  "isConstant": false,
884
884
  "isLValue": false,
885
885
  "isPure": true,
@@ -892,7 +892,7 @@
892
892
  "typeString": "function (bytes4) pure returns (bytes memory)"
893
893
  }
894
894
  },
895
- "id": 34007,
895
+ "id": 34608,
896
896
  "isConstant": false,
897
897
  "isLValue": false,
898
898
  "isPure": false,
@@ -909,7 +909,7 @@
909
909
  },
910
910
  {
911
911
  "hexValue": "66616c7365",
912
- "id": 34008,
912
+ "id": 34609,
913
913
  "isConstant": false,
914
914
  "isLValue": false,
915
915
  "isPure": true,
@@ -925,7 +925,7 @@
925
925
  },
926
926
  {
927
927
  "hexValue": "30",
928
- "id": 34009,
928
+ "id": 34610,
929
929
  "isConstant": false,
930
930
  "isLValue": false,
931
931
  "isPure": true,
@@ -964,32 +964,32 @@
964
964
  }
965
965
  ],
966
966
  "expression": {
967
- "id": 33992,
967
+ "id": 34593,
968
968
  "name": "Call",
969
969
  "nodeType": "Identifier",
970
970
  "overloadedDeclarations": [],
971
- "referencedDeclaration": 32352,
971
+ "referencedDeclaration": 32876,
972
972
  "src": "666:4:69",
973
973
  "typeDescriptions": {
974
- "typeIdentifier": "t_type$_t_contract$_Call_$32352_$",
974
+ "typeIdentifier": "t_type$_t_contract$_Call_$32876_$",
975
975
  "typeString": "type(library Call)"
976
976
  }
977
977
  },
978
- "id": 33994,
978
+ "id": 34595,
979
979
  "isConstant": false,
980
980
  "isLValue": false,
981
981
  "isPure": false,
982
982
  "lValueRequested": false,
983
983
  "memberName": "withSender",
984
984
  "nodeType": "MemberAccess",
985
- "referencedDeclaration": 32351,
985
+ "referencedDeclaration": 32875,
986
986
  "src": "666:15:69",
987
987
  "typeDescriptions": {
988
988
  "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_bytes_memory_ptr_$_t_bool_$_t_uint256_$returns$_t_bytes_memory_ptr_$",
989
989
  "typeString": "function (address,address,bytes memory,bool,uint256) returns (bytes memory)"
990
990
  }
991
991
  },
992
- "id": 34010,
992
+ "id": 34611,
993
993
  "isConstant": false,
994
994
  "isLValue": false,
995
995
  "isPure": false,
@@ -1010,7 +1010,7 @@
1010
1010
  "typeString": "bytes memory"
1011
1011
  }
1012
1012
  },
1013
- "id": 34011,
1013
+ "id": 34612,
1014
1014
  "nodeType": "ExpressionStatement",
1015
1015
  "src": "666:207:69"
1016
1016
  },
@@ -1022,32 +1022,32 @@
1022
1022
  "expression": {
1023
1023
  "argumentTypes": [],
1024
1024
  "expression": {
1025
- "id": 34015,
1025
+ "id": 34616,
1026
1026
  "name": "module",
1027
1027
  "nodeType": "Identifier",
1028
1028
  "overloadedDeclarations": [],
1029
- "referencedDeclaration": 33987,
1029
+ "referencedDeclaration": 34588,
1030
1030
  "src": "958:6:69",
1031
1031
  "typeDescriptions": {
1032
- "typeIdentifier": "t_contract$_IModule_$33277",
1032
+ "typeIdentifier": "t_contract$_IModule_$33863",
1033
1033
  "typeString": "contract IModule"
1034
1034
  }
1035
1035
  },
1036
- "id": 34016,
1036
+ "id": 34617,
1037
1037
  "isConstant": false,
1038
1038
  "isLValue": false,
1039
1039
  "isPure": false,
1040
1040
  "lValueRequested": false,
1041
1041
  "memberName": "getName",
1042
1042
  "nodeType": "MemberAccess",
1043
- "referencedDeclaration": 33270,
1043
+ "referencedDeclaration": 33856,
1044
1044
  "src": "958:14:69",
1045
1045
  "typeDescriptions": {
1046
1046
  "typeIdentifier": "t_function_external_view$__$returns$_t_bytes16_$",
1047
1047
  "typeString": "function () view external returns (bytes16)"
1048
1048
  }
1049
1049
  },
1050
- "id": 34017,
1050
+ "id": 34618,
1051
1051
  "isConstant": false,
1052
1052
  "isLValue": false,
1053
1053
  "isPure": false,
@@ -1065,11 +1065,11 @@
1065
1065
  {
1066
1066
  "arguments": [
1067
1067
  {
1068
- "id": 34019,
1068
+ "id": 34620,
1069
1069
  "name": "args",
1070
1070
  "nodeType": "Identifier",
1071
1071
  "overloadedDeclarations": [],
1072
- "referencedDeclaration": 33989,
1072
+ "referencedDeclaration": 34590,
1073
1073
  "src": "986:4:69",
1074
1074
  "typeDescriptions": {
1075
1075
  "typeIdentifier": "t_bytes_memory_ptr",
@@ -1084,7 +1084,7 @@
1084
1084
  "typeString": "bytes memory"
1085
1085
  }
1086
1086
  ],
1087
- "id": 34018,
1087
+ "id": 34619,
1088
1088
  "name": "keccak256",
1089
1089
  "nodeType": "Identifier",
1090
1090
  "overloadedDeclarations": [],
@@ -1095,7 +1095,7 @@
1095
1095
  "typeString": "function (bytes memory) pure returns (bytes32)"
1096
1096
  }
1097
1097
  },
1098
- "id": 34020,
1098
+ "id": 34621,
1099
1099
  "isConstant": false,
1100
1100
  "isLValue": false,
1101
1101
  "isPure": false,
@@ -1113,14 +1113,14 @@
1113
1113
  {
1114
1114
  "arguments": [
1115
1115
  {
1116
- "id": 34023,
1116
+ "id": 34624,
1117
1117
  "name": "module",
1118
1118
  "nodeType": "Identifier",
1119
1119
  "overloadedDeclarations": [],
1120
- "referencedDeclaration": 33987,
1120
+ "referencedDeclaration": 34588,
1121
1121
  "src": "1001:6:69",
1122
1122
  "typeDescriptions": {
1123
- "typeIdentifier": "t_contract$_IModule_$33277",
1123
+ "typeIdentifier": "t_contract$_IModule_$33863",
1124
1124
  "typeString": "contract IModule"
1125
1125
  }
1126
1126
  }
@@ -1128,11 +1128,11 @@
1128
1128
  "expression": {
1129
1129
  "argumentTypes": [
1130
1130
  {
1131
- "typeIdentifier": "t_contract$_IModule_$33277",
1131
+ "typeIdentifier": "t_contract$_IModule_$33863",
1132
1132
  "typeString": "contract IModule"
1133
1133
  }
1134
1134
  ],
1135
- "id": 34022,
1135
+ "id": 34623,
1136
1136
  "isConstant": false,
1137
1137
  "isLValue": false,
1138
1138
  "isPure": true,
@@ -1144,14 +1144,14 @@
1144
1144
  "typeString": "type(address)"
1145
1145
  },
1146
1146
  "typeName": {
1147
- "id": 34021,
1147
+ "id": 34622,
1148
1148
  "name": "address",
1149
1149
  "nodeType": "ElementaryTypeName",
1150
1150
  "src": "993:7:69",
1151
1151
  "typeDescriptions": {}
1152
1152
  }
1153
1153
  },
1154
- "id": 34024,
1154
+ "id": 34625,
1155
1155
  "isConstant": false,
1156
1156
  "isLValue": false,
1157
1157
  "isPure": false,
@@ -1183,32 +1183,32 @@
1183
1183
  }
1184
1184
  ],
1185
1185
  "expression": {
1186
- "id": 34012,
1186
+ "id": 34613,
1187
1187
  "name": "InstalledModules",
1188
1188
  "nodeType": "Identifier",
1189
1189
  "overloadedDeclarations": [],
1190
- "referencedDeclaration": 40742,
1190
+ "referencedDeclaration": 41343,
1191
1191
  "src": "937:16:69",
1192
1192
  "typeDescriptions": {
1193
- "typeIdentifier": "t_type$_t_contract$_InstalledModules_$40742_$",
1193
+ "typeIdentifier": "t_type$_t_contract$_InstalledModules_$41343_$",
1194
1194
  "typeString": "type(library InstalledModules)"
1195
1195
  }
1196
1196
  },
1197
- "id": 34014,
1197
+ "id": 34615,
1198
1198
  "isConstant": false,
1199
1199
  "isLValue": false,
1200
1200
  "isPure": false,
1201
1201
  "lValueRequested": false,
1202
1202
  "memberName": "set",
1203
1203
  "nodeType": "MemberAccess",
1204
- "referencedDeclaration": 40507,
1204
+ "referencedDeclaration": 41108,
1205
1205
  "src": "937:20:69",
1206
1206
  "typeDescriptions": {
1207
1207
  "typeIdentifier": "t_function_internal_nonpayable$_t_bytes16_$_t_bytes32_$_t_address_$returns$__$",
1208
1208
  "typeString": "function (bytes16,bytes32,address)"
1209
1209
  }
1210
1210
  },
1211
- "id": 34025,
1211
+ "id": 34626,
1212
1212
  "isConstant": false,
1213
1213
  "isLValue": false,
1214
1214
  "isPure": false,
@@ -1223,14 +1223,14 @@
1223
1223
  "typeString": "tuple()"
1224
1224
  }
1225
1225
  },
1226
- "id": 34026,
1226
+ "id": 34627,
1227
1227
  "nodeType": "ExpressionStatement",
1228
1228
  "src": "937:72:69"
1229
1229
  }
1230
1230
  ]
1231
1231
  },
1232
1232
  "documentation": {
1233
- "id": 33984,
1233
+ "id": 34585,
1234
1234
  "nodeType": "StructuredDocumentation",
1235
1235
  "src": "516:76:69",
1236
1236
  "text": " Install the given module at the given namespace in the World."
@@ -1242,38 +1242,38 @@
1242
1242
  "name": "installModule",
1243
1243
  "nameLocation": "604:13:69",
1244
1244
  "parameters": {
1245
- "id": 33990,
1245
+ "id": 34591,
1246
1246
  "nodeType": "ParameterList",
1247
1247
  "parameters": [
1248
1248
  {
1249
1249
  "constant": false,
1250
- "id": 33987,
1250
+ "id": 34588,
1251
1251
  "mutability": "mutable",
1252
1252
  "name": "module",
1253
1253
  "nameLocation": "626:6:69",
1254
1254
  "nodeType": "VariableDeclaration",
1255
- "scope": 34028,
1255
+ "scope": 34629,
1256
1256
  "src": "618:14:69",
1257
1257
  "stateVariable": false,
1258
1258
  "storageLocation": "default",
1259
1259
  "typeDescriptions": {
1260
- "typeIdentifier": "t_contract$_IModule_$33277",
1260
+ "typeIdentifier": "t_contract$_IModule_$33863",
1261
1261
  "typeString": "contract IModule"
1262
1262
  },
1263
1263
  "typeName": {
1264
- "id": 33986,
1264
+ "id": 34587,
1265
1265
  "nodeType": "UserDefinedTypeName",
1266
1266
  "pathNode": {
1267
- "id": 33985,
1267
+ "id": 34586,
1268
1268
  "name": "IModule",
1269
1269
  "nodeType": "IdentifierPath",
1270
- "referencedDeclaration": 33277,
1270
+ "referencedDeclaration": 33863,
1271
1271
  "src": "618:7:69"
1272
1272
  },
1273
- "referencedDeclaration": 33277,
1273
+ "referencedDeclaration": 33863,
1274
1274
  "src": "618:7:69",
1275
1275
  "typeDescriptions": {
1276
- "typeIdentifier": "t_contract$_IModule_$33277",
1276
+ "typeIdentifier": "t_contract$_IModule_$33863",
1277
1277
  "typeString": "contract IModule"
1278
1278
  }
1279
1279
  },
@@ -1281,12 +1281,12 @@
1281
1281
  },
1282
1282
  {
1283
1283
  "constant": false,
1284
- "id": 33989,
1284
+ "id": 34590,
1285
1285
  "mutability": "mutable",
1286
1286
  "name": "args",
1287
1287
  "nameLocation": "647:4:69",
1288
1288
  "nodeType": "VariableDeclaration",
1289
- "scope": 34028,
1289
+ "scope": 34629,
1290
1290
  "src": "634:17:69",
1291
1291
  "stateVariable": false,
1292
1292
  "storageLocation": "memory",
@@ -1295,7 +1295,7 @@
1295
1295
  "typeString": "bytes"
1296
1296
  },
1297
1297
  "typeName": {
1298
- "id": 33988,
1298
+ "id": 34589,
1299
1299
  "name": "bytes",
1300
1300
  "nodeType": "ElementaryTypeName",
1301
1301
  "src": "634:5:69",
@@ -1310,12 +1310,12 @@
1310
1310
  "src": "617:35:69"
1311
1311
  },
1312
1312
  "returnParameters": {
1313
- "id": 33991,
1313
+ "id": 34592,
1314
1314
  "nodeType": "ParameterList",
1315
1315
  "parameters": [],
1316
1316
  "src": "660:0:69"
1317
1317
  },
1318
- "scope": 34029,
1318
+ "scope": 34630,
1319
1319
  "stateMutability": "nonpayable",
1320
1320
  "virtual": false,
1321
1321
  "visibility": "public"
@@ -1325,13 +1325,13 @@
1325
1325
  "baseContracts": [
1326
1326
  {
1327
1327
  "baseName": {
1328
- "id": 33982,
1328
+ "id": 34583,
1329
1329
  "name": "System",
1330
1330
  "nodeType": "IdentifierPath",
1331
- "referencedDeclaration": 32532,
1331
+ "referencedDeclaration": 33056,
1332
1332
  "src": "505:6:69"
1333
1333
  },
1334
- "id": 33983,
1334
+ "id": 34584,
1335
1335
  "nodeType": "InheritanceSpecifier",
1336
1336
  "src": "505:6:69"
1337
1337
  }
@@ -1340,24 +1340,24 @@
1340
1340
  "contractDependencies": [],
1341
1341
  "contractKind": "contract",
1342
1342
  "documentation": {
1343
- "id": 33981,
1343
+ "id": 34582,
1344
1344
  "nodeType": "StructuredDocumentation",
1345
1345
  "src": "408:59:69",
1346
1346
  "text": " Installation of (non-root) modules in the World."
1347
1347
  },
1348
1348
  "fullyImplemented": true,
1349
1349
  "linearizedBaseContracts": [
1350
- 34029,
1351
- 32532,
1352
- 33161
1350
+ 34630,
1351
+ 33056,
1352
+ 33747
1353
1353
  ],
1354
1354
  "name": "ModuleInstallationSystem",
1355
1355
  "nameLocation": "477:24:69",
1356
- "scope": 34030,
1356
+ "scope": 34631,
1357
1357
  "usedErrors": [
1358
- 18710,
1359
- 43007,
1360
- 43017
1358
+ 18983,
1359
+ 43608,
1360
+ 43618
1361
1361
  ]
1362
1362
  }
1363
1363
  ],