@latticexyz/world-modules 2.0.0-main-257a0afc → 2.0.0-march-19-skystrife-playtest-f0a343b1

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 (407) hide show
  1. package/out/AccessControl.sol/AccessControl.json +1 -1
  2. package/out/AccessControlLib.sol/AccessControlLib.json +1 -1
  3. package/out/AccessManagementSystem.sol/AccessManagementSystem.abi.json +0 -55
  4. package/out/AccessManagementSystem.sol/AccessManagementSystem.abi.json.d.ts +0 -55
  5. package/out/AccessManagementSystem.sol/AccessManagementSystem.json +1 -1
  6. package/out/AddressArray.sol/AddressArray.json +1 -1
  7. package/out/Allowances.sol/Allowances.json +1 -1
  8. package/out/ArrayLib.sol/ArrayLib.json +1 -1
  9. package/out/BalanceTransferSystem.sol/BalanceTransferSystem.abi.json +0 -16
  10. package/out/BalanceTransferSystem.sol/BalanceTransferSystem.abi.json.d.ts +0 -16
  11. package/out/BalanceTransferSystem.sol/BalanceTransferSystem.json +1 -1
  12. package/out/Balances.sol/Balances.json +1 -1
  13. package/out/Base.sol/CommonBase.json +1 -1
  14. package/out/Base.sol/ScriptBase.json +1 -1
  15. package/out/Base.sol/TestBase.json +1 -1
  16. package/out/BatchCallSystem.sol/BatchCallSystem.abi.json +0 -5
  17. package/out/BatchCallSystem.sol/BatchCallSystem.abi.json.d.ts +0 -5
  18. package/out/BatchCallSystem.sol/BatchCallSystem.json +1 -1
  19. package/out/Bool.sol/Bool.json +1 -1
  20. package/out/Bytes.sol/Bytes.json +1 -1
  21. package/out/CallboundDelegationControl.sol/CallboundDelegationControl.json +1 -1
  22. package/out/CallboundDelegations.sol/CallboundDelegations.json +1 -1
  23. package/out/{InitModule.sol/InitModule.abi.json → CoreModule.sol/CoreModule.abi.json} +23 -149
  24. package/out/{InitModule.sol/InitModule.abi.json.d.ts → CoreModule.sol/CoreModule.abi.json.d.ts} +23 -149
  25. package/out/CoreModule.sol/CoreModule.json +1 -0
  26. package/out/{RegistrationSystem.sol/RegistrationSystem.abi.json → CoreSystem.sol/CoreSystem.abi.json} +157 -167
  27. package/out/{RegistrationSystem.sol/RegistrationSystem.abi.json.d.ts → CoreSystem.sol/CoreSystem.abi.json.d.ts} +157 -167
  28. package/out/CoreSystem.sol/CoreSystem.json +1 -0
  29. package/out/DecodeSlice.sol/DecodeSlice.json +1 -1
  30. package/out/Delegation.sol/Delegation.json +1 -1
  31. package/out/DelegationControl.sol/DelegationControl.json +1 -1
  32. package/out/DelegationControlMock.sol/DelegationControlMock.json +1 -1
  33. package/out/ERC20.t.sol/ERC20Test.json +1 -1
  34. package/out/ERC20Metadata.sol/ERC20Metadata.json +1 -1
  35. package/out/ERC20Module.sol/ERC20Module.abi.json +24 -124
  36. package/out/ERC20Module.sol/ERC20Module.abi.json.d.ts +24 -124
  37. package/out/ERC20Module.sol/ERC20Module.json +1 -1
  38. package/out/ERC20Module.sol/ERC20ModuleRegistrationLibrary.abi.json +8 -121
  39. package/out/ERC20Module.sol/ERC20ModuleRegistrationLibrary.abi.json.d.ts +8 -121
  40. package/out/ERC20Module.sol/ERC20ModuleRegistrationLibrary.json +1 -1
  41. package/out/ERC20Registry.sol/ERC20Registry.json +1 -1
  42. package/out/ERC20System.sol/ERC20System.json +1 -1
  43. package/out/ERC721.t.sol/ERC721Recipient.json +1 -1
  44. package/out/ERC721.t.sol/ERC721Test.abi.json +1 -1
  45. package/out/ERC721.t.sol/ERC721Test.abi.json.d.ts +1 -1
  46. package/out/ERC721.t.sol/ERC721Test.json +1 -1
  47. package/out/ERC721.t.sol/ERC721TokenReceiver.json +1 -1
  48. package/out/ERC721.t.sol/NonERC721Recipient.json +1 -1
  49. package/out/ERC721.t.sol/RevertingERC721Recipient.json +1 -1
  50. package/out/ERC721.t.sol/WrongReturnDataERC721Recipient.json +1 -1
  51. package/out/ERC721Metadata.sol/ERC721Metadata.json +1 -1
  52. package/out/ERC721Module.sol/ERC721Module.abi.json +24 -124
  53. package/out/ERC721Module.sol/ERC721Module.abi.json.d.ts +24 -124
  54. package/out/ERC721Module.sol/ERC721Module.json +1 -1
  55. package/out/ERC721Module.sol/ERC721ModuleRegistrationLibrary.abi.json +8 -121
  56. package/out/ERC721Module.sol/ERC721ModuleRegistrationLibrary.abi.json.d.ts +8 -121
  57. package/out/ERC721Module.sol/ERC721ModuleRegistrationLibrary.json +1 -1
  58. package/out/ERC721Registry.sol/ERC721Registry.json +1 -1
  59. package/out/ERC721System.sol/ERC721System.json +1 -1
  60. package/out/EchoSubscriber.sol/EchoSubscriber.json +1 -1
  61. package/out/EncodeArray.sol/EncodeArray.json +1 -1
  62. package/out/FieldLayout.sol/FieldLayoutInstance.json +1 -1
  63. package/out/FieldLayout.sol/FieldLayoutLib.abi.json +23 -1
  64. package/out/FieldLayout.sol/FieldLayoutLib.abi.json.d.ts +23 -0
  65. package/out/FieldLayout.sol/FieldLayoutLib.json +1 -1
  66. package/out/FieldLayoutEncodeHelper.sol/FieldLayoutEncodeHelper.json +1 -1
  67. package/out/FunctionSelectors.sol/FunctionSelectors.json +1 -1
  68. package/out/FunctionSignatures.sol/FunctionSignatures.json +1 -1
  69. package/out/GasReporter.sol/GasReporter.json +1 -1
  70. package/out/Hook.sol/HookInstance.json +1 -1
  71. package/out/Hook.sol/HookLib.json +1 -1
  72. package/out/Hooks.sol/Hooks.json +1 -1
  73. package/out/IAccessManagementSystem.sol/IAccessManagementSystem.abi.json +0 -13
  74. package/out/IAccessManagementSystem.sol/IAccessManagementSystem.abi.json.d.ts +0 -13
  75. package/out/IAccessManagementSystem.sol/IAccessManagementSystem.json +1 -1
  76. package/out/IBalanceTransferSystem.sol/IBalanceTransferSystem.json +1 -1
  77. package/out/IBaseWorld.sol/IBaseWorld.abi.json +5 -230
  78. package/out/IBaseWorld.sol/IBaseWorld.abi.json.d.ts +5 -230
  79. package/out/IBaseWorld.sol/IBaseWorld.json +1 -1
  80. package/out/IBatchCallSystem.sol/IBatchCallSystem.json +1 -1
  81. package/out/ICoreSystem.sol/ICoreSystem.json +1 -0
  82. package/out/IDelegationControl.sol/IDelegationControl.json +1 -1
  83. package/out/IERC20.sol/IERC20.json +1 -1
  84. package/out/IERC20Errors.sol/IERC20Errors.json +1 -1
  85. package/out/IERC20Events.sol/IERC20Events.json +1 -1
  86. package/out/IERC20Mintable.sol/IERC20Mintable.json +1 -1
  87. package/out/IERC20System.sol/IERC20System.json +1 -1
  88. package/out/IERC721.sol/IERC721.json +1 -1
  89. package/out/IERC721Errors.sol/IERC721Errors.json +1 -1
  90. package/out/IERC721Events.sol/IERC721Events.json +1 -1
  91. package/out/IERC721Metadata.sol/IERC721Metadata.json +1 -1
  92. package/out/IERC721Mintable.sol/IERC721Mintable.json +1 -1
  93. package/out/IERC721Receiver.sol/IERC721Receiver.json +1 -1
  94. package/out/IModule.sol/IModule.abi.json +17 -4
  95. package/out/IModule.sol/IModule.abi.json.d.ts +17 -4
  96. package/out/IModule.sol/IModule.json +1 -1
  97. package/out/IModuleInstallationSystem.sol/IModuleInstallationSystem.abi.json +1 -1
  98. package/out/IModuleInstallationSystem.sol/IModuleInstallationSystem.abi.json.d.ts +1 -1
  99. package/out/IModuleInstallationSystem.sol/IModuleInstallationSystem.json +1 -1
  100. package/out/IMulticall3.sol/IMulticall3.json +1 -1
  101. package/out/IPuppetFactorySystem.sol/IPuppetFactorySystem.json +1 -1
  102. package/out/IStore.sol/IStore.abi.json +3 -191
  103. package/out/IStore.sol/IStore.abi.json.d.ts +3 -191
  104. package/out/IStore.sol/IStore.json +1 -1
  105. package/out/IStoreData.sol/IStoreData.abi.json +0 -6
  106. package/out/IStoreData.sol/IStoreData.abi.json.d.ts +0 -6
  107. package/out/IStoreData.sol/IStoreData.json +1 -1
  108. package/out/IStoreErrors.sol/IStoreErrors.abi.json +3 -51
  109. package/out/IStoreErrors.sol/IStoreErrors.abi.json.d.ts +3 -51
  110. package/out/IStoreErrors.sol/IStoreErrors.json +1 -1
  111. package/out/IStoreEvents.sol/IStoreEvents.abi.json +0 -19
  112. package/out/IStoreEvents.sol/IStoreEvents.abi.json.d.ts +0 -19
  113. package/out/IStoreEvents.sol/IStoreEvents.json +1 -1
  114. package/out/IStoreHook.sol/IStoreHook.json +1 -1
  115. package/out/IStoreRead.sol/IStoreRead.json +1 -1
  116. package/out/IStoreRegistration.sol/IStoreRegistration.json +1 -1
  117. package/out/IStoreWrite.sol/IStoreWrite.abi.json +0 -19
  118. package/out/IStoreWrite.sol/IStoreWrite.abi.json.d.ts +0 -19
  119. package/out/IStoreWrite.sol/IStoreWrite.json +1 -1
  120. package/out/ISystemHook.sol/ISystemHook.json +1 -1
  121. package/out/IUniqueEntitySystem.sol/IUniqueEntitySystem.abi.json +15 -0
  122. package/out/IUniqueEntitySystem.sol/IUniqueEntitySystem.abi.json.d.ts +15 -0
  123. package/out/IUniqueEntitySystem.sol/IUniqueEntitySystem.json +1 -0
  124. package/out/IWorldContextConsumer.sol/IWorldContextConsumer.json +1 -1
  125. package/out/IWorldErrors.sol/IWorldErrors.abi.json +0 -11
  126. package/out/IWorldErrors.sol/IWorldErrors.abi.json.d.ts +0 -11
  127. package/out/IWorldErrors.sol/IWorldErrors.json +1 -1
  128. package/out/IWorldKernel.sol/IWorldCall.json +1 -1
  129. package/out/IWorldKernel.sol/IWorldKernel.abi.json +2 -39
  130. package/out/IWorldKernel.sol/IWorldKernel.abi.json.d.ts +2 -39
  131. package/out/IWorldKernel.sol/IWorldKernel.json +1 -1
  132. package/out/IWorldKernel.sol/IWorldModuleInstallation.abi.json +1 -1
  133. package/out/IWorldKernel.sol/IWorldModuleInstallation.abi.json.d.ts +1 -1
  134. package/out/IWorldKernel.sol/IWorldModuleInstallation.json +1 -1
  135. package/out/IWorldRegistrationSystem.sol/IWorldRegistrationSystem.abi.json +4 -30
  136. package/out/IWorldRegistrationSystem.sol/IWorldRegistrationSystem.abi.json.d.ts +4 -30
  137. package/out/IWorldRegistrationSystem.sol/IWorldRegistrationSystem.json +1 -1
  138. package/out/InstalledModules.sol/InstalledModules.json +1 -1
  139. package/out/KeysInTable.sol/KeysInTable.json +1 -1
  140. package/out/KeysInTableHook.sol/KeysInTableHook.abi.json +0 -22
  141. package/out/KeysInTableHook.sol/KeysInTableHook.abi.json.d.ts +0 -22
  142. package/out/KeysInTableHook.sol/KeysInTableHook.json +1 -1
  143. package/out/KeysInTableModule.sol/KeysInTableModule.abi.json +32 -3
  144. package/out/KeysInTableModule.sol/KeysInTableModule.abi.json.d.ts +32 -3
  145. package/out/KeysInTableModule.sol/KeysInTableModule.json +1 -1
  146. package/out/KeysInTableModule.t.sol/KeysInTableModuleTest.abi.json +8 -41
  147. package/out/KeysInTableModule.t.sol/KeysInTableModuleTest.abi.json.d.ts +8 -41
  148. package/out/KeysInTableModule.t.sol/KeysInTableModuleTest.json +1 -1
  149. package/out/KeysWithValue.sol/KeysWithValue.json +1 -1
  150. package/out/KeysWithValueHook.sol/KeysWithValueHook.abi.json +0 -6
  151. package/out/KeysWithValueHook.sol/KeysWithValueHook.abi.json.d.ts +0 -6
  152. package/out/KeysWithValueHook.sol/KeysWithValueHook.json +1 -1
  153. package/out/KeysWithValueModule.sol/KeysWithValueModule.abi.json +32 -3
  154. package/out/KeysWithValueModule.sol/KeysWithValueModule.abi.json.d.ts +32 -3
  155. package/out/KeysWithValueModule.sol/KeysWithValueModule.json +1 -1
  156. package/out/KeysWithValueModule.t.sol/KeysWithValueModuleTest.abi.json +8 -41
  157. package/out/KeysWithValueModule.t.sol/KeysWithValueModuleTest.abi.json.d.ts +8 -41
  158. package/out/KeysWithValueModule.t.sol/KeysWithValueModuleTest.json +1 -1
  159. package/out/Memory.sol/Memory.json +1 -1
  160. package/out/Module.sol/Module.abi.json +17 -4
  161. package/out/Module.sol/Module.abi.json.d.ts +17 -4
  162. package/out/Module.sol/Module.json +1 -1
  163. package/out/ModuleInstallationSystem.sol/ModuleInstallationSystem.abi.json +1 -6
  164. package/out/ModuleInstallationSystem.sol/ModuleInstallationSystem.abi.json.d.ts +1 -6
  165. package/out/ModuleInstallationSystem.sol/ModuleInstallationSystem.json +1 -1
  166. package/out/NamespaceDelegationControl.sol/NamespaceDelegationControl.json +1 -1
  167. package/out/NamespaceOwner.sol/NamespaceOwner.json +1 -1
  168. package/out/OperatorApproval.sol/OperatorApproval.json +1 -1
  169. package/out/Owners.sol/Owners.json +1 -1
  170. package/out/PackedCounter.sol/PackedCounterInstance.abi.json +13 -1
  171. package/out/PackedCounter.sol/PackedCounterInstance.json +1 -1
  172. package/out/PackedCounter.sol/PackedCounterLib.json +1 -1
  173. package/out/Puppet.sol/Puppet.json +1 -1
  174. package/out/PuppetDelegationControl.sol/PuppetDelegationControl.json +1 -1
  175. package/out/PuppetFactorySystem.sol/PuppetFactorySystem.json +1 -1
  176. package/out/PuppetMaster.sol/PuppetMaster.json +1 -1
  177. package/out/PuppetModule.sol/PuppetModule.abi.json +23 -123
  178. package/out/PuppetModule.sol/PuppetModule.abi.json.d.ts +23 -123
  179. package/out/PuppetModule.sol/PuppetModule.json +1 -1
  180. package/out/PuppetModule.t.sol/PuppetModuleTest.abi.json +0 -14
  181. package/out/PuppetModule.t.sol/PuppetModuleTest.abi.json.d.ts +0 -14
  182. package/out/PuppetModule.t.sol/PuppetModuleTest.json +1 -1
  183. package/out/PuppetModule.t.sol/PuppetTestSystem.json +1 -1
  184. package/out/PuppetRegistry.sol/PuppetRegistry.json +1 -1
  185. package/out/ResourceAccess.sol/ResourceAccess.json +1 -1
  186. package/out/ResourceId.sol/ResourceIdInstance.json +1 -1
  187. package/out/ResourceId.sol/ResourceIdLib.json +1 -1
  188. package/out/ResourceIds.sol/ResourceIds.json +1 -1
  189. package/out/RevertSubscriber.sol/RevertSubscriber.json +1 -1
  190. package/out/Schema.sol/SchemaInstance.json +1 -1
  191. package/out/Schema.sol/SchemaLib.abi.json +18 -1
  192. package/out/{ISchemaErrors.sol/ISchemaErrors.abi.json.d.ts → Schema.sol/SchemaLib.abi.json.d.ts} +2 -2
  193. package/out/Schema.sol/SchemaLib.json +1 -1
  194. package/out/SchemaEncodeHelper.sol/SchemaEncodeHelper.json +1 -1
  195. package/out/Slice.sol/SliceInstance.json +1 -1
  196. package/out/Slice.sol/SliceLib.abi.json +23 -1
  197. package/out/Slice.sol/SliceLib.json +1 -1
  198. package/out/StandardDelegationsModule.sol/StandardDelegationsModule.abi.json +23 -123
  199. package/out/StandardDelegationsModule.sol/StandardDelegationsModule.abi.json.d.ts +23 -123
  200. package/out/StandardDelegationsModule.sol/StandardDelegationsModule.json +1 -1
  201. package/out/StandardDelegationsModule.t.sol/StandardDelegationsModuleTest.json +1 -1
  202. package/out/StdAssertions.sol/StdAssertions.json +1 -1
  203. package/out/StdChains.sol/StdChains.json +1 -1
  204. package/out/StdCheats.sol/StdCheats.json +1 -1
  205. package/out/StdCheats.sol/StdCheatsSafe.json +1 -1
  206. package/out/StdError.sol/stdError.json +1 -1
  207. package/out/StdInvariant.sol/StdInvariant.json +1 -1
  208. package/out/StdJson.sol/stdJson.json +1 -1
  209. package/out/StdMath.sol/stdMath.json +1 -1
  210. package/out/StdStorage.sol/stdStorage.json +1 -1
  211. package/out/StdStorage.sol/stdStorageSafe.json +1 -1
  212. package/out/StdStyle.sol/StdStyle.json +1 -1
  213. package/out/StdUtils.sol/StdUtils.json +1 -1
  214. package/out/Storage.sol/Storage.json +1 -1
  215. package/out/StoreCore.sol/StoreCore.abi.json +132 -1
  216. package/out/StoreCore.sol/StoreCore.abi.json.d.ts +132 -0
  217. package/out/StoreCore.sol/StoreCore.json +1 -1
  218. package/out/StoreCore.sol/StoreCoreInternal.json +1 -1
  219. package/out/StoreData.sol/StoreData.abi.json +0 -22
  220. package/out/StoreData.sol/StoreData.abi.json.d.ts +0 -22
  221. package/out/StoreData.sol/StoreData.json +1 -1
  222. package/out/StoreHook.sol/StoreHook.json +1 -1
  223. package/out/StoreHooks.sol/StoreHooks.json +1 -1
  224. package/out/StoreRead.sol/StoreRead.abi.json +0 -16
  225. package/out/StoreRead.sol/StoreRead.abi.json.d.ts +0 -16
  226. package/out/StoreRead.sol/StoreRead.json +1 -1
  227. package/out/StoreRegistrationSystem.sol/StoreRegistrationSystem.abi.json +8 -159
  228. package/out/StoreRegistrationSystem.sol/StoreRegistrationSystem.abi.json.d.ts +8 -159
  229. package/out/StoreRegistrationSystem.sol/StoreRegistrationSystem.json +1 -1
  230. package/out/StoreSwitch.sol/StoreSwitch.json +1 -1
  231. package/out/System.sol/System.json +1 -1
  232. package/out/SystemCall.sol/SystemCall.json +1 -1
  233. package/out/SystemHook.sol/SystemHook.json +1 -1
  234. package/out/SystemHooks.sol/SystemHooks.json +1 -1
  235. package/out/SystemRegistry.sol/SystemRegistry.json +1 -1
  236. package/out/SystemSwitch.sol/SystemSwitch.json +1 -1
  237. package/out/SystemSwitch.t.sol/EchoSystem.abi.json +1 -98
  238. package/out/SystemSwitch.t.sol/EchoSystem.abi.json.d.ts +1 -98
  239. package/out/SystemSwitch.t.sol/EchoSystem.json +1 -1
  240. package/out/SystemSwitch.t.sol/SystemSwitchTest.abi.json +15 -43
  241. package/out/SystemSwitch.t.sol/SystemSwitchTest.abi.json.d.ts +15 -43
  242. package/out/SystemSwitch.t.sol/SystemSwitchTest.json +1 -1
  243. package/out/SystemboundDelegationControl.sol/SystemboundDelegationControl.json +1 -1
  244. package/out/SystemboundDelegations.sol/SystemboundDelegations.json +1 -1
  245. package/out/Systems.sol/Systems.json +1 -1
  246. package/out/Tables.sol/Tables.json +1 -1
  247. package/out/Test.sol/Test.json +1 -1
  248. package/out/TightCoder.sol/TightCoder.json +1 -1
  249. package/out/TimeboundDelegationControl.sol/TimeboundDelegationControl.json +1 -1
  250. package/out/TimeboundDelegations.sol/TimeboundDelegations.json +1 -1
  251. package/out/TokenApproval.sol/TokenApproval.json +1 -1
  252. package/out/TokenURI.sol/TokenURI.json +1 -1
  253. package/out/TotalSupply.sol/TotalSupply.json +1 -1
  254. package/out/TwoFields.sol/TwoFields.json +1 -1
  255. package/out/UniqueEntity.sol/UniqueEntity.json +1 -1
  256. package/out/UniqueEntityModule.sol/UniqueEntityModule.abi.json +25 -125
  257. package/out/UniqueEntityModule.sol/UniqueEntityModule.abi.json.d.ts +25 -125
  258. package/out/UniqueEntityModule.sol/UniqueEntityModule.json +1 -1
  259. package/out/UniqueEntityModule.t.sol/UniqueEntityModuleTest.json +1 -1
  260. package/out/UniqueEntityModule.t.sol/UniqueEntityTestSystem.abi.json +0 -68
  261. package/out/UniqueEntityModule.t.sol/UniqueEntityTestSystem.abi.json.d.ts +0 -68
  262. package/out/UniqueEntityModule.t.sol/UniqueEntityTestSystem.json +1 -1
  263. package/out/UniqueEntitySystem.sol/UniqueEntitySystem.json +1 -1
  264. package/out/UsedKeysIndex.sol/UsedKeysIndex.json +1 -1
  265. package/out/UserDelegationControl.sol/UserDelegationControl.json +1 -1
  266. package/out/Vm.sol/Vm.json +1 -1
  267. package/out/Vm.sol/VmSafe.json +1 -1
  268. package/out/World.sol/World.abi.json +124 -53
  269. package/out/World.sol/World.abi.json.d.ts +124 -53
  270. package/out/World.sol/World.json +1 -1
  271. package/out/World.t.sol/EchoSystemHook.json +1 -1
  272. package/out/World.t.sol/IWorldTestSystem.abi.json +1 -1
  273. package/out/World.t.sol/IWorldTestSystem.abi.json.d.ts +1 -1
  274. package/out/World.t.sol/IWorldTestSystem.json +1 -1
  275. package/out/World.t.sol/PayableFallbackSystem.json +1 -1
  276. package/out/World.t.sol/RevertSystemHook.json +1 -1
  277. package/out/World.t.sol/WorldTest.abi.json +8 -76
  278. package/out/World.t.sol/WorldTest.abi.json.d.ts +8 -76
  279. package/out/World.t.sol/WorldTest.json +1 -1
  280. package/out/World.t.sol/WorldTestSystem.json +1 -1
  281. package/out/WorldContext.sol/WorldContextConsumer.json +1 -1
  282. package/out/WorldContext.sol/WorldContextConsumerLib.json +1 -1
  283. package/out/WorldContext.sol/WorldContextProviderLib.json +1 -1
  284. package/out/WorldRegistrationSystem.sol/WorldRegistrationSystem.abi.json +4 -52
  285. package/out/WorldRegistrationSystem.sol/WorldRegistrationSystem.abi.json.d.ts +4 -52
  286. package/out/WorldRegistrationSystem.sol/WorldRegistrationSystem.json +1 -1
  287. package/out/WorldResourceId.sol/WorldResourceIdInstance.json +1 -1
  288. package/out/WorldResourceId.sol/WorldResourceIdLib.json +1 -1
  289. package/out/console.sol/console.json +1 -1
  290. package/out/console2.sol/console2.json +1 -1
  291. package/out/constants.sol/LayoutOffsets.json +1 -1
  292. package/out/interfaces/IBaseWorld.sol/IBaseWorld.abi.json +10 -274
  293. package/out/interfaces/IBaseWorld.sol/IBaseWorld.abi.json.d.ts +10 -274
  294. package/out/interfaces/IBaseWorld.sol/IBaseWorld.json +1 -1
  295. package/out/query.t.sol/QueryTest.abi.json +8 -41
  296. package/out/query.t.sol/QueryTest.abi.json.d.ts +8 -41
  297. package/out/query.t.sol/QueryTest.json +1 -1
  298. package/out/safeconsole.sol/safeconsole.json +1 -1
  299. package/out/src/IERC165.sol/IERC165.json +1 -1
  300. package/out/tables/Balances.sol/Balances.json +1 -1
  301. package/out/test.sol/DSTest.json +1 -1
  302. package/out/world/src/IERC165.sol/IERC165.json +1 -1
  303. package/package.json +9 -9
  304. package/src/index.sol +6 -6
  305. package/src/interfaces/IBaseWorld.sol +4 -3
  306. package/src/interfaces/IERC20System.sol +1 -2
  307. package/src/interfaces/IPuppetFactorySystem.sol +1 -2
  308. package/src/interfaces/IUniqueEntitySystem.sol +7 -0
  309. package/src/modules/erc20-puppet/ERC20Module.sol +25 -16
  310. package/src/modules/erc20-puppet/ERC20System.sol +1 -1
  311. package/src/modules/erc20-puppet/IERC20.sol +1 -1
  312. package/src/modules/erc20-puppet/IERC20Errors.sol +1 -1
  313. package/src/modules/erc20-puppet/IERC20Events.sol +1 -1
  314. package/src/modules/erc20-puppet/IERC20Mintable.sol +1 -1
  315. package/src/modules/erc20-puppet/constants.sol +2 -1
  316. package/src/modules/erc20-puppet/registerERC20.sol +1 -1
  317. package/src/modules/erc20-puppet/tables/Allowances.sol +43 -12
  318. package/src/modules/erc20-puppet/tables/ERC20Metadata.sol +44 -13
  319. package/src/modules/erc20-puppet/tables/ERC20Registry.sol +42 -12
  320. package/src/modules/erc20-puppet/tables/TotalSupply.sol +41 -12
  321. package/src/modules/erc20-puppet/utils.sol +1 -1
  322. package/src/modules/erc721-puppet/ERC721Module.sol +25 -16
  323. package/src/modules/erc721-puppet/ERC721System.sol +1 -1
  324. package/src/modules/erc721-puppet/IERC721.sol +1 -1
  325. package/src/modules/erc721-puppet/IERC721Errors.sol +1 -1
  326. package/src/modules/erc721-puppet/IERC721Events.sol +1 -1
  327. package/src/modules/erc721-puppet/IERC721Metadata.sol +1 -2
  328. package/src/modules/erc721-puppet/IERC721Mintable.sol +1 -1
  329. package/src/modules/erc721-puppet/IERC721Receiver.sol +1 -2
  330. package/src/modules/erc721-puppet/constants.sol +2 -1
  331. package/src/modules/erc721-puppet/registerERC721.sol +1 -1
  332. package/src/modules/erc721-puppet/tables/ERC721Metadata.sol +43 -12
  333. package/src/modules/erc721-puppet/tables/ERC721Registry.sol +42 -12
  334. package/src/modules/erc721-puppet/tables/OperatorApproval.sol +43 -12
  335. package/src/modules/erc721-puppet/tables/Owners.sol +42 -12
  336. package/src/modules/erc721-puppet/tables/TokenApproval.sol +42 -12
  337. package/src/modules/erc721-puppet/tables/TokenURI.sol +42 -12
  338. package/src/modules/erc721-puppet/utils.sol +1 -1
  339. package/src/modules/keysintable/KeysInTableHook.sol +1 -1
  340. package/src/modules/keysintable/KeysInTableModule.sol +23 -17
  341. package/src/modules/keysintable/constants.sol +1 -1
  342. package/src/modules/keysintable/getKeysInTable.sol +1 -1
  343. package/src/modules/keysintable/hasKey.sol +1 -1
  344. package/src/modules/keysintable/query.sol +1 -1
  345. package/src/modules/keysintable/tables/KeysInTable.sol +51 -15
  346. package/src/modules/keysintable/tables/UsedKeysIndex.sol +51 -17
  347. package/src/modules/keyswithvalue/KeysWithValueHook.sol +1 -1
  348. package/src/modules/keyswithvalue/KeysWithValueModule.sol +17 -22
  349. package/src/modules/keyswithvalue/constants.sol +1 -1
  350. package/src/modules/keyswithvalue/getKeysWithValue.sol +1 -1
  351. package/src/modules/keyswithvalue/getTargetTableId.sol +1 -1
  352. package/src/modules/keyswithvalue/tables/KeysWithValue.sol +43 -13
  353. package/src/modules/puppet/Puppet.sol +1 -1
  354. package/src/modules/puppet/PuppetDelegationControl.sol +1 -1
  355. package/src/modules/puppet/PuppetFactorySystem.sol +1 -1
  356. package/src/modules/puppet/PuppetMaster.sol +1 -1
  357. package/src/modules/puppet/PuppetModule.sol +9 -24
  358. package/src/modules/puppet/constants.sol +3 -4
  359. package/src/modules/puppet/createPuppet.sol +1 -1
  360. package/src/modules/puppet/tables/PuppetRegistry.sol +42 -12
  361. package/src/modules/puppet/utils.sol +1 -1
  362. package/src/modules/std-delegations/CallboundDelegationControl.sol +1 -1
  363. package/src/modules/std-delegations/StandardDelegationsModule.sol +6 -2
  364. package/src/modules/std-delegations/SystemboundDelegationControl.sol +1 -1
  365. package/src/modules/std-delegations/TimeboundDelegationControl.sol +1 -1
  366. package/src/modules/std-delegations/constants.sol +3 -1
  367. package/src/modules/std-delegations/tables/CallboundDelegations.sol +49 -14
  368. package/src/modules/std-delegations/tables/SystemboundDelegations.sol +48 -14
  369. package/src/modules/std-delegations/tables/TimeboundDelegations.sol +47 -14
  370. package/src/modules/tokens/tables/Balances.sol +42 -12
  371. package/src/modules/uniqueentity/UniqueEntityModule.sol +15 -16
  372. package/src/modules/uniqueentity/UniqueEntitySystem.sol +1 -1
  373. package/src/modules/uniqueentity/constants.sol +3 -3
  374. package/src/modules/uniqueentity/getUniqueEntity.sol +3 -2
  375. package/src/modules/uniqueentity/tables/UniqueEntity.sol +42 -13
  376. package/src/modules/utils/ArrayLib.sol +2 -2
  377. package/src/utils/AccessControlLib.sol +1 -2
  378. package/src/utils/SystemSwitch.sol +10 -8
  379. package/dist/mud.config.d.ts +0 -256
  380. package/out/ERC165Checker.sol/ERC165Checker.json +0 -1
  381. package/out/IFieldLayoutErrors.sol/IFieldLayoutErrors.abi.json +0 -88
  382. package/out/IFieldLayoutErrors.sol/IFieldLayoutErrors.abi.json.d.ts +0 -88
  383. package/out/IFieldLayoutErrors.sol/IFieldLayoutErrors.json +0 -1
  384. package/out/IModuleErrors.sol/IModuleErrors.abi.json +0 -28
  385. package/out/IModuleErrors.sol/IModuleErrors.abi.json.d.ts +0 -28
  386. package/out/IModuleErrors.sol/IModuleErrors.json +0 -1
  387. package/out/IPackedCounterErrors.sol/IPackedCounterErrors.abi.json +0 -13
  388. package/out/IPackedCounterErrors.sol/IPackedCounterErrors.json +0 -1
  389. package/out/IRegistrationSystem.sol/IRegistrationSystem.abi.json +0 -1
  390. package/out/IRegistrationSystem.sol/IRegistrationSystem.json +0 -1
  391. package/out/ISchemaErrors.sol/ISchemaErrors.abi.json +0 -18
  392. package/out/ISchemaErrors.sol/ISchemaErrors.json +0 -1
  393. package/out/ISliceErrors.sol/ISliceErrors.abi.json +0 -23
  394. package/out/ISliceErrors.sol/ISliceErrors.json +0 -1
  395. package/out/IWorldEvents.sol/IWorldEvents.abi.json +0 -15
  396. package/out/IWorldEvents.sol/IWorldEvents.abi.json.d.ts +0 -15
  397. package/out/IWorldEvents.sol/IWorldEvents.json +0 -1
  398. package/out/InitModule.sol/InitModule.json +0 -1
  399. package/out/InitModuleAddress.sol/InitModuleAddress.abi.json +0 -1
  400. package/out/InitModuleAddress.sol/InitModuleAddress.json +0 -1
  401. package/out/LimitedCallContext.sol/LimitedCallContext.abi.json +0 -7
  402. package/out/LimitedCallContext.sol/LimitedCallContext.abi.json.d.ts +0 -7
  403. package/out/LimitedCallContext.sol/LimitedCallContext.json +0 -1
  404. package/out/RegistrationSystem.sol/RegistrationSystem.json +0 -1
  405. /package/out/{ERC165Checker.sol/ERC165Checker.abi.json → ICoreSystem.sol/ICoreSystem.abi.json} +0 -0
  406. /package/out/{IPackedCounterErrors.sol/IPackedCounterErrors.abi.json.d.ts → PackedCounter.sol/PackedCounterInstance.abi.json.d.ts} +0 -0
  407. /package/out/{ISliceErrors.sol/ISliceErrors.abi.json.d.ts → Slice.sol/SliceLib.abi.json.d.ts} +0 -0
@@ -1 +0,0 @@
1
- {"abi":[{"type":"function","name":"_msgSender","inputs":[],"outputs":[{"name":"sender","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"_msgValue","inputs":[],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"_world","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"installModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespace","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerRootFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"worldFunctionSignature","type":"string","internalType":"string"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystem","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"system","type":"address","internalType":"contract System"},{"name":"publicAccess","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerTable","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"},{"name":"keySchema","type":"bytes32","internalType":"Schema"},{"name":"valueSchema","type":"bytes32","internalType":"Schema"},{"name":"keyNames","type":"string[]","internalType":"string[]"},{"name":"fieldNames","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"unregisterDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Store_DeleteRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"}],"anonymous":false},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"PackedCounter"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"PackedCounter"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceStaticData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"FieldLayout_Empty","inputs":[]},{"type":"error","name":"FieldLayout_InvalidStaticDataLength","inputs":[{"name":"staticDataLength","type":"uint256","internalType":"uint256"},{"name":"computedStaticDataLength","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsNotZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyDynamicFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"PackedCounter_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Schema_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Schema_StaticTypeAfterDynamicType","inputs":[]},{"type":"error","name":"Slice_OutOfBounds","inputs":[{"name":"data","type":"bytes","internalType":"bytes"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidFieldNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidKeyNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"type":"error","name":"Store_InvalidStaticDataLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaDynamicLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaStaticLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_TableAlreadyExists","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_TableNotFound","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]},{"type":"error","name":"UnauthorizedCallContext","inputs":[]},{"type":"error","name":"World_AccessDenied","inputs":[{"name":"resource","type":"string","internalType":"string"},{"name":"caller","type":"address","internalType":"address"}]},{"type":"error","name":"World_AlreadyInitialized","inputs":[]},{"type":"error","name":"World_CallbackNotAllowed","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_DelegationNotFound","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"delegatee","type":"address","internalType":"address"}]},{"type":"error","name":"World_FunctionSelectorAlreadyExists","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_FunctionSelectorNotFound","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InsufficientBalance","inputs":[{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"World_InterfaceNotSupported","inputs":[{"name":"contractAddress","type":"address","internalType":"address"},{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InvalidNamespace","inputs":[{"name":"namespace","type":"bytes14","internalType":"bytes14"}]},{"type":"error","name":"World_InvalidResourceId","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceAlreadyExists","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceNotFound","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_SystemAlreadyExists","inputs":[{"name":"system","type":"address","internalType":"address"}]},{"type":"error","name":"World_UnlimitedDelegationNotAllowed","inputs":[]}],"bytecode":{"object":"0x60a06040523060805234801561001457600080fd5b506080516157ca620000316000396000610c2b01526157ca6000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c80636548a90a116100b2578063b29e408911610081578063cdc938c511610066578063cdc938c514610295578063d5f8337f146102a8578063e1af802c146102bb57600080fd5b8063b29e40891461026f578063bfdfaff71461028257600080fd5b80636548a90a146102235780638da798da14610236578063a92813ad14610249578063aa66e9c81461025c57600080fd5b80631d2257ba116101095780633350b6a9116100ee5780633350b6a9146101ea57806345ec9354146101fd578063530f4b601461021057600080fd5b80631d2257ba146101ab57806326d98102146101be57600080fd5b806301ffc9a71461013b57806305609129146101635780630ba51f4914610178578063119df25f1461018b575b600080fd5b61014e610149366004614c17565b6102c3565b60405190151581526020015b60405180910390f35b610176610171366004614c56565b61032c565b005b610176610186366004614cd2565b610353565b61019361041e565b6040516001600160a01b03909116815260200161015a565b6101766101b9366004614e1f565b61042d565b6101d16101cc366004614e78565b6104a8565b6040516001600160e01b0319909116815260200161015a565b6101766101f8366004614ebf565b6105fe565b604051601f19360135815260200161015a565b61017661021e366004614f17565b610779565b6101d1610231366004614f55565b6107e5565b610176610244366004614fb8565b6108c0565b610176610257366004614c56565b610982565b61017661026a366004614ff2565b6109c1565b61017661027d366004614ff2565b6109f3565b61017661029036600461500b565b610a88565b6101766102a3366004615045565b610b3d565b6101766102b6366004614f17565b610b56565b610193610c17565b60006001600160e01b031982167fb5dee12700000000000000000000000000000000000000000000000000000000148061032657506001600160e01b031982167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b610334610c21565b6103458261034061041e565b610c85565b61034f8282610cfe565b5050565b61035b610c21565b600061036689610d29565b6fffffffffffffffffffffffffffffffff1916036103c5578761038889610d40565b6040517fe4ac069e0000000000000000000000000000000000000000000000000000000081526004016103bc9291906150b2565b60405180910390fd5b6103e8616e7360f01b6dffffffffffffffffffffffffffff60801b8a1617610e54565b6103f48861034061041e565b61041488888888610405888a6150cb565b61040f87896150cb565b610e9f565b5050505050505050565b60006104286112af565b905090565b610435610c21565b61044761044061041e565b84846112e1565b610450826113b4565b156104a3576000610460836113d0565b905061048c817f1a86b5500000000000000000000000000000000000000000000000000000000061146c565b6104a061049761041e565b848460006114c7565b50505b505050565b60006104b2610c21565b61737960f01b836001600160f01b0319161461050d5761737960f01b836104d885610d40565b6040517f5c30fb6f0000000000000000000000000000000000000000000000000000000081526004016103bc93929190615151565b61051683610e54565b6105228361034061041e565b600061054b6105318560101b90565b71ffffffffffffffffffffffffffffffffffff19166114f4565b90506000818460405160200161056292919061517a565b60405160208183030381529060405290508080519060200120925060006105888461157e565b905080156105ce576040517f3d1d1ae20000000000000000000000000000000000000000000000000000000081526001600160e01b0319851660048201526024016103bc565b845160208601206105e085888361162e565b6105ea81876116f9565b6105f485846116f9565b5050505092915050565b610606610c21565b61737960f01b836001600160f01b0319161461062c5761737960f01b836104d885610d40565b6dffffffffffffffffffffffffffff60801b8316616e7360f01b1761065081610e54565b61065c8161034061041e565b610686837fb5dee1270000000000000000000000000000000000000000000000000000000061146c565b600061069185610d29565b6fffffffffffffffffffffffffffffffff1916036106b3578361038885610d40565b60006106be846117c2565b905080158015906106cf5750848114155b15610711576040517fc0b707410000000000000000000000000000000000000000000000000000000081526001600160a01b03851660048201526024016103bc565b600061071c866113d0565b90506001600160a01b038116156107455761073681611847565b61074083826118c6565b610750565b610750866001611964565b61075b868686611a05565b6107658587611aa8565b61077183866001611b33565b505050505050565b610781610c21565b6107ab827f1873396a0000000000000000000000000000000000000000000000000000000061146c565b6107ce616e7360f01b6dffffffffffffffffffffffffffff60801b851617610e54565b6107da8361034061041e565b6104a3838383611be2565b60006107ef610c21565b60408051616e7360f01b602082015260006022820181905260308201526108319101604051602081830303815290604052610829906151d2565b61034061041e565b8280519060200120905060008280519060200120905060006108528361157e565b90508015610898576040517f3d1d1ae20000000000000000000000000000000000000000000000000000000081526001600160e01b0319841660048201526024016103bc565b6108a383878461162e565b6108ad82856116f9565b6108b783866116f9565b50509392505050565b6108c8610c21565b6108f2827f6fdd1c800000000000000000000000000000000000000000000000000000000061146c565b61096e6108fd61041e565b6000848460405160240161091191906151f6565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f13861fb500000000000000000000000000000000000000000000000000000000179052611ca5565b5061034f8282805190602001206001611cb6565b61098a610c21565b6109968261034061041e565b61034f7f7462776f726c6400000000000000000053797374656d486f6f6b7300000000008383611d65565b6109c9610c21565b6109d281611e78565b6109db81610e54565b6109e78161034061041e565b6109f081611ea9565b50565b6109fb610c21565b610a0481611e78565b610a0d81611f14565b610a1681612106565b15610a595780610a2582610d40565b6040517f0dc28f6a0000000000000000000000000000000000000000000000000000000081526004016103bc9291906150b2565b610a64816001611964565b610a7581610a7061041e565b61218b565b6109f081610a8161041e565b6001611b33565b610a90610c21565b610a9983611e78565b610aa2826113b4565b610ad8576040517f71ee9e8100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610ae48361034061041e565b6000610aef836113d0565b9050610b1b817f1a86b5500000000000000000000000000000000000000000000000000000000061146c565b610b258484612255565b815115610b37576104a061049761041e565b50505050565b610b45610c21565b6109f0610b5061041e565b826122d4565b610b5e610c21565b61737960f01b836001600160f01b03191614610b845761737960f01b836104d885610d40565b610bae827f540fbfa80000000000000000000000000000000000000000000000000000000061146c565b610bb783610e54565b610bda616e7360f01b6dffffffffffffffffffffffffffff60801b851617610e54565b610be68361034061041e565b6104a3836bffffffffffffffffffffffff19606085901b166bff0000000000000000000000605885901b1617612376565b600061042861241b565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610c83576040517f9f03a02600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b6001600160a01b038116610cb2616e7360f01b6dffffffffffffffffffffffffffff60801b851617612425565b6001600160a01b03161461034f57610cc982610d40565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016103bc929190615209565b61034f7f746273746f726500000000000000000053746f7265486f6f6b730000000000008383611d65565b6000610d376070601061524a565b9190911b919050565b606081601081901b6000610d5383610d29565b90508271ffffffffffffffffffffffffffffffffffff19831615610d9457610d8f71ffffffffffffffffffffffffffffffffffff1984166114f4565b610dcb565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff19831615610df257610ded836114f4565b610e29565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001610e3b9392919061525d565b6040516020818303038152906040529350505050919050565b610e5d81612106565b6109f05780610e6b82610d40565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016103bc9291906150b2565b613a3160f11b866001600160f01b03191614801590610ecd5750611bdd60f21b866001600160f01b03191614155b15610f2e57613a3160f11b8687604051602001610eec91815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526103bc939291600401615151565b610f37856124b6565b610f428460016126fd565b610f4d8360006126fd565b60e084901c60e885901c0160ff16825114610fad5760e084901c60e885901c0160ff1682516040517f0f72cb98000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016103bc565b60e085901c60e886901c0160ff1681511461100d5760e085901c60e886901c0160ff1681516040517f7dec4c00000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016103bc565b60e085901c60e886901c0160ff1660e084901c60e885901c0160ff16146110855760e085901c60e886901c0160ff1660e084901c60e885901c0160ff166040517ff29d4d88000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016103bc565b61108e85612899565b61109784612899565b146110e9576110a585612899565b6110ae84612899565b6040517f65cc0adf000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016103bc565b6110f2856128cb565b6110fb846128cb565b1461114d57611109856128cb565b611112846128cb565b6040517fedea9587000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016103bc565b60005b61115986612899565b8110156111f45761118361116d85836128e8565b60c581111561117e5761117e6152d3565b612910565b6008601b8390030287901c60ff16146111ec576008601b8290030286901c60ff166111b161116d86846128e8565b6040517f254c7db4000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016103bc565b600101611150565b506111fe86612106565b1561125857858660405160200161121791815260200190565b60408051601f19818403018152908290527fdfaaf9cf0000000000000000000000000000000000000000000000000000000082526103bc92916004016150b2565b6112a4868686868660405160200161127091906152e9565b6040516020818303038152906040528660405160200161129091906152e9565b604051602081830303815290604052612970565b610771866001611964565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806112de5750335b90565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b816000815181106113225761132261536b565b602002602001018181525050826001600160a01b031660001b8160018151811061134e5761134e61536b565b602002602001018181525050610b377f7462776f726c640000000000000000005573657244656c65676174696f6e436f60001b8260008560405160200161139791815260200190565b60408051601f19818403018152919052630100080160dd1b612a37565b6000811515801561032657506113c982612a4c565b1592915050565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106114095761140961536b565b602090810291909101015260006114617f7462776f726c6400000000000000000053797374656d7300000000000000000083837e15020014010000000000000000000000000000000000000000000000000000612aac565b60601c949350505050565b6114768282612ae2565b61034f576040517f74b5e6ff0000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526001600160e01b0319821660248201526044016103bc565b60606000806114d887878787612afe565b91509150816114ea576114ea81612cce565b9695505050505050565b606060005b601081101561154a576fffffffffffffffffffffffffffffffff198316600882021b7fff00000000000000000000000000000000000000000000000000000000000000161561154a576001016114f9565b604080516fffffffffffffffffffffffffffffffff198516602082015281516030909101909152818152805b949350505050565b60408051600180825281830190925260009182919060208083019080368337019050509050827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916816000815181106115d6576115d661536b565b602090810291909101015260006115767f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f7283837e24020020040000000000000000000000000000000000000000000000000000612aac565b600061163a8383612cd6565b60408051600180825281830190925291925060009160609183919060208083019080368337019050509050867bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916816000815181106116985761169861536b565b60209081029190910101526116f07f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72828686867e24020020040000000000000000000000000000000000000000000000000000612d15565b50505050505050565b606060006117068361301b565b905060006117138461302b565b6040805160018082528183019092529192506000919060208083019080368337019050509050857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168160008151811061176c5761176c61536b565b60209081029190910101526107717f6f74776f726c6400000000000000000046756e6374696f6e5369676e61747572828686867c0100000000000000000000000000000000000000000000000000000000612d15565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b816000815181106118075761180761536b565b602090810291909101015260006115767f7462776f726c6400000000000000000053797374656d526567697374727900008383630100080160dd1b612aac565b60408051600180825281830190925260009160208083019080368337019050509050816001600160a01b031660001b816000815181106118895761188961536b565b602090810291909101015261034f7f7462776f726c6400000000000000000053797374656d5265676973747279000082630100080160dd1b613054565b60408051600280825260608201835260009260208301908036833701905050905082816000815181106118fb576118fb61536b565b602002602001018181525050816001600160a01b031660001b816001815181106119275761192761536b565b60209081029190910101526104a37f7462776f726c640000000000000000005265736f75726365416363657373000082630101000160d81b613054565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061199a5761199a61536b565b6020026020010181815250506104a37f746273746f72650000000000000000005265736f75726365496473000000000060001b826000856040516020016119e891151560f81b815260010190565b60408051601f19818403018152919052630101000160d81b612a37565b6000611a118383613320565b604080516001808252818301909252919250600091606091839190602080830190803683370190505090508681600081518110611a5057611a5061536b565b60209081029190910101526116f07f7462776f726c6400000000000000000053797374656d73000000000000000000828686867e15020014010000000000000000000000000000000000000000000000000000612d15565b60408051600180825281830190925260009160208083019080368337019050509050826001600160a01b031660001b81600081518110611aea57611aea61536b565b6020026020010181815250506104a37f7462776f726c6400000000000000000053797374656d5265676973747279000060001b8260008560405160200161139791815260200190565b6040805160028082526060820183526000926020830190803683370190505090508381600081518110611b6857611b6861536b565b602002602001018181525050826001600160a01b031660001b81600181518110611b9457611b9461536b565b602002602001018181525050610b377f7462776f726c640000000000000000005265736f75726365416363657373000060001b826000856040516020016119e891151560f81b815260010190565b613a3160f11b836001600160f01b03191614611c1257613a3160f11b8384604051602001610eec91815260200190565b611c1b83612106565b611c74578283604051602001611c3391815260200190565b60408051601f19818403018152908290527f41e713ad0000000000000000000000000000000000000000000000000000000082526103bc92916004016150b2565b6104a3836bffffffffffffffffffffffff19606085901b166bff0000000000000000000000605885901b1617613350565b60606000806114d8878787876133f5565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110611cf757611cf761536b565b6020026020010181815250508281600181518110611d1757611d1761536b565b602002602001018181525050610b377f7462776f726c64000000000000000000496e7374616c6c65644d6f64756c657360001b826000856040516020016119e891151560f81b815260010190565b6000611d71848461346d565b90506000815167ffffffffffffffff811115611d8f57611d8f614d68565b604051908082528060200260200182016040528015611db8578160200160208202803683370190505b5090506000805b8351811015611e6957846001600160a01b0316611e03858381518110611de757611de761536b565b60200260200101516affffffffffffffffffffff191660601c90565b6001600160a01b031614611e6157838181518110611e2357611e2361536b565b6020026020010151838381518110611e3d57611e3d61536b565b6affffffffffffffffffffff19909216602092830291909101909101526001909101905b600101611dbf565b508082526107718686846134d8565b616e7360f01b6dffffffffffffffffffffffffffff60801b82161781146109f057616e7360f01b816104d883610d40565b604080516001808252818301909252600091602080830190803683370190505090508181600081518110611edf57611edf61536b565b602090810291909101015261034f7f7462776f726c640000000000000000004e616d65737061636544656c656761748261352f565b6000611f208260101b90565b90506000611f4271ffffffffffffffffffffffffffffffffffff1983166114f4565b80519091508015610b3757611f6482611f5c600184615381565b016020015190565b7fff00000000000000000000000000000000000000000000000000000000000000167f5f0000000000000000000000000000000000000000000000000000000000000003611ff5576040517f0efb4b8500000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff19841660048201526024016103bc565b60005b612003600183615381565b8110156104a057602081840101517effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f5f000000000000000000000000000000000000000000000000000000000000001480156120b0575061206b83611f5c83600161524a565b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f5f00000000000000000000000000000000000000000000000000000000000000145b156120fe576040517f0efb4b8500000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff19851660048201526024016103bc565b600101611ff8565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061213f5761213f61536b565b6020908102919091010152600061217f7f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b612aac565b90506115768160f81c90565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106121c1576121c161536b565b6020026020010181815250506104a37f7462776f726c640000000000000000004e616d6573706163654f776e6572000060001b82600085604051602001612220919060609190911b6bffffffffffffffffffffffff1916815260140190565b60408051601f198184030181529190527e14010014000000000000000000000000000000000000000000000000000000612a37565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061228b5761228b61536b565b6020026020010181815250506104a37f7462776f726c640000000000000000004e616d65737061636544656c6567617460001b8260008560405160200161139791815260200190565b604080516002808252606082018352600092602083019080368337019050509050826001600160a01b031660001b816000815181106123155761231561536b565b602002602001018181525050816001600160a01b031660001b816001815181106123415761234161536b565b60209081029190910101526104a37f7462776f726c640000000000000000005573657244656c65676174696f6e436f8261352f565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106123ac576123ac61536b565b6020026020010181815250506104a37f7462776f726c6400000000000000000053797374656d486f6f6b73000000000060001b8260008560405160200161240791906affffffffffffffffffffff1991909116815260150190565b6040516020818303038152906040526135ca565b600061042861367b565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061245e5761245e61536b565b602090810291909101015260006114617f7462776f726c640000000000000000004e616d6573706163654f776e6572000083837e14010014000000000000000000000000000000000000000000000000000000612aac565b806124ed576040517fa019e4da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006124f8826128cb565b9050600581111561253f576040517f6793df6200000000000000000000000000000000000000000000000000000000815260048101829052600560248201526044016103bc565b600061254a83612899565b90506000612558838361524a565b9050601c81111561259f576040517fecd893b900000000000000000000000000000000000000000000000000000000815260048101829052601c60248201526044016103bc565b6000805b8381101561264a5760ff601b82900360080287901c1660008190036125f7576040517f53b2dd05000000000000000000000000000000000000000000000000000000008152600481018390526024016103bc565b6020811115612635576040517f7237f237000000000000000000000000000000000000000000000000000000008152600481018390526024016103bc565b61263f818461524a565b9250506001016125a3565b50612654856136ba565b81146126a057612663856136ba565b6040517feba964de0000000000000000000000000000000000000000000000000000000081526004810191909152602481018290526044016103bc565b825b601c8110156107715760ff601b82900360080287901c1680156126f4576040517f1d8d44db000000000000000000000000000000000000000000000000000000008152600481018390526024016103bc565b506001016126a2565b80158015612709575081155b1561272a5760405163d498615960e01b8152600060048201526024016103bc565b6000612735836128cb565b9050600581111561275c5760405163d498615960e01b8152600481018290526024016103bc565b600061276784612899565b90506000612775838361524a565b9050601c81111561279c5760405163d498615960e01b8152600481018290526024016103bc565b6000805b838110156128085760006127b761116d89846128e8565b9050806000036127f3576040517ff44b422000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6127fd818461524a565b9250506001016127a0565b50612812866136ba565b811461283d57612821866136ba565b60405163d498615960e01b81526004016103bc91815260200190565b825b828110156116f057600061285661116d89846128e8565b90508015612890576040517ff44b422000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060010161283f565b6000600860016128ab60026020615381565b6128b59190615381565b6128bf9190615394565b8260ff911c1692915050565b600060086001806128de60026020615381565b6128ab9190615381565b6000601b8290036008028360ff911c1660c5811115612909576129096152d3565b9392505050565b6000808260c5811115612925576129256152d3565b60ff169050606181101561293f57601f1660010192915050565b60618360c5811115612953576129536152d3565b036129615750601492915050565b50600092915050565b50919050565b600061297d8686866136dd565b9050600061298b8484613713565b905060006129998585613730565b604080516001808252818301909252919250600091906020808301908036833701905050905089816000815181106129d3576129d361536b565b6020908102919091010152612a2b7f746273746f72650000000000000000005461626c657300000000000000000000828686867e60030220202000000000000000000000000000000000000000000000000000612d15565b50505050505050505050565b6104a08585612a468487613745565b8561377e565b6040805161737960f01b60208201526000602282018190527f756e6c696d69746564000000000000000000000000000000000000000000000060308301529101604051602081830303815290604052612aa4906151d2565b909114919050565b6000612ad9612abb86866139e6565b60ff858116601b0360080285901c16612ad48587613745565b613a3c565b95945050505050565b6000612aed83613a8d565b801561290957506129098383613ace565b600060606000612b0d86613b86565b905060005b8151811015612be0576000828281518110612b2f57612b2f61536b565b60200260200101519050612b5b6001826affffffffffffffffffffff1916613c0a90919063ffffffff16565b15612bd7576040517fc3323031000000000000000000000000000000000000000000000000000000008152606082901c9063c332303190612ba4908c908c908c906004016153ab565b600060405180830381600087803b158015612bbe57600080fd5b505af1158015612bd2573d6000803e3d6000fd5b505050505b50600101612b12565b50612bed87858888613c28565b909350915060005b8151811015612cc3576000828281518110612c1257612c1261536b565b60200260200101519050612c3e6002826affffffffffffffffffffff1916613c0a90919063ffffffff16565b15612cba576040517f973d8f99000000000000000000000000000000000000000000000000000000008152606082901c9063973d8f9990612c87908c908c908c906004016153ab565b600060405180830381600087803b158015612ca157600080fd5b505af1158015612cb5573d6000803e3d6000fd5b505050505b50600101612bf5565b505094509492505050565b805160208201fd5b60608282604051602001612cfe9291909182526001600160e01b031916602082015260240190565b604051602081830303815290604052905092915050565b611bdd60f21b866001600160f01b03191603612d6e57857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a986868686604051612d61949392919061540f565b60405180910390a2610771565b6000612d7987613cfa565b905060005b8151811015612e52576000828281518110612d9b57612d9b61536b565b60200260200101519050612dc76001826affffffffffffffffffffff1916613c0a90919063ffffffff16565b15612e49576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90612e16908c908c908c908c908c908c9060040161544e565b600060405180830381600087803b158015612e3057600080fd5b505af1158015612e44573d6000803e3d6000fd5b505050505b50600101612d7e565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a987878787604051612e89949392919061540f565b60405180910390a26000612e9d88886139e6565b90506000602087019050612eb5826000895184613d6c565b6000612ec0856128cb565b1115612f44576000612ed28a8a613e2b565b878155905060208601915060008060005b612eec886128cb565b8160ff161015612f3f57612f018d8d83613e81565b9250612f1c8a8260ff166028026038011c64ffffffffff1690565b9150612f2b8360008488613d6c565b612f35828661524a565b9450600101612ee3565b505050505b60005b8351811015612a2b576000848281518110612f6457612f6461536b565b60200260200101519050612f906002826affffffffffffffffffffff1916613c0a90919063ffffffff16565b15613012576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90612fdf908e908e908e908e908e908e9060040161544e565b600060405180830381600087803b158015612ff957600080fd5b505af115801561300d573d6000803e3d6000fd5b505050505b50600101612f47565b60006103268251603881901b1790565b60608160405160200161303e91906154a7565b6040516020818303038152906040529050919050565b611bdd60f21b836001600160f01b031916036130a757827f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d078360405161309a91906154c3565b60405180910390a2505050565b60006130b284613cfa565b905060005b81518110156131855760008282815181106130d4576130d461536b565b602002602001015190506131006040826affffffffffffffffffffff1916613c0a90919063ffffffff16565b1561317c576040517f9faeaf45000000000000000000000000000000000000000000000000000000008152606082901c90639faeaf4590613149908990899089906004016154d6565b600060405180830381600087803b15801561316357600080fd5b505af1158015613177573d6000803e3d6000fd5b505050505b506001016130b7565b50837f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d07846040516131b691906154c3565b60405180910390a260006131ca85856139e6565b90506132238160006131db866136ba565b67ffffffffffffffff8111156131f3576131f3614d68565b6040519080825280601f01601f19166020018201604052801561321d576020820181803683370190505b50613f01565b600061322e846128cb565b111561324f5760006132408686613e2b565b905061324d816020613f17565b505b60005b825181101561077157600083828151811061326f5761326f61536b565b6020026020010151905061329b6080826affffffffffffffffffffff1916613c0a90919063ffffffff16565b15613317576040517f83b5c95b000000000000000000000000000000000000000000000000000000008152606082901c906383b5c95b906132e4908a908a908a906004016154d6565b600060405180830381600087803b1580156132fe57600080fd5b505af1158015613312573d6000803e3d6000fd5b505050505b50600101613252565b604051606083811b6bffffffffffffffffffffffff1916602083015282151560f81b603483015290603501612cfe565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106133865761338661536b565b6020026020010181815250506104a37f746273746f726500000000000000000053746f7265486f6f6b7300000000000060001b826000856040516020016133e191906affffffffffffffffffffff1991909116815260150190565b604051602081830303815290604052613f54565b60006060836001600160a01b03166000613410858989613f8f565b60405161341d91906154a7565b60006040518083038185875af1925050503d806000811461345a576040519150601f19603f3d011682016040523d82523d6000602084013e61345f565b606091505b509097909650945050505050565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106134a7576134a761536b565b60200260200101818152505060006134c185836000613fa6565b9050612ad96134d38260008451613fe0565b61406e565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061350e5761350e61536b565b602002602001018181525050610b378482600061352a8661407f565b61408f565b600061353961367b565b9050306001600160a01b03821603613555576104a383836140ca565b6040517f505a181d0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063505a181d9061359c90869086906004016154ff565b600060405180830381600087803b1580156135b657600080fd5b505af11580156116f0573d6000803e3d6000fd5b60006135d461367b565b9050306001600160a01b038216036135f7576135f285858585613f54565b6104a0565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f326290613642908890889088908890600401615518565b600060405180830381600087803b15801561365c57600080fd5b505af1158015613670573d6000803e3d6000fd5b505050505050505050565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b0316806136b5573391505090565b919050565b600060086136ca60026020615381565b6136d49190615394565b9190911c919050565b60408051602081018590529081018390526060818101839052906080015b60405160208183030381529060405290509392505050565b8151815160009181810160389190911b1760609190911b17612909565b60608282604051602001612cfe92919061554c565b600080805b8360ff168110156137765761376c60ff601b83900360080287901c168361524a565b915060010161374a565b509392505050565b611bdd60f21b846001600160f01b031916036137d557837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8484846040516137c89392919061557b565b60405180910390a2610b37565b60006137e185856139e6565b905060006137ee86613cfa565b905060005b81518110156138c35760008282815181106138105761381061536b565b6020026020010151905061383c6004826affffffffffffffffffffff1916613c0a90919063ffffffff16565b156138ba576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90613887908b908b908b908b906004016155ae565b600060405180830381600087803b1580156138a157600080fd5b505af11580156138b5573d6000803e3d6000fd5b505050505b506001016137f3565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8686866040516138f89392919061557b565b60405180910390a2613913828565ffffffffffff1685613f01565b60005b81518110156116f05760008282815181106139335761393361536b565b6020026020010151905061395f6008826affffffffffffffffffffff1916613c0a90919063ffffffff16565b156139dd576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba8721906139aa908b908b908b908b906004016155ae565b600060405180830381600087803b1580156139c457600080fd5b505af11580156139d8573d6000803e3d6000fd5b505050505b50600101613916565b600082826040516020016139fb9291906155e7565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600060208210613a6257602082048401935060208281613a5e57613a5e615623565b0691505b508254600882021b602082900380841115613776576001850154600882021c82179150509392505050565b6000613ab9827f01ffc9a700000000000000000000000000000000000000000000000000000000613ace565b801561032657506113c9826001600160e01b03195b6040516001600160e01b031982166024820152600090819060440160408051601f19818403018152919052602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825192935060009283928392909183918a617530fa92503d91506000519050828015613b6f575060208210155b8015613b7b5750600081115b979650505050505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110613bc057613bc061536b565b60209081029190910101526000613bf87f7462776f726c6400000000000000000053797374656d486f6f6b7300000000008383613fa6565b90506115766134d38260008451613fe0565b60008160ff1682613c1b8560581c90565b1660ff1614905092915050565b60006060600080613c38866140dd565b90925090506001600160a01b038216613c555785610e6b87610d40565b80613c6457613c648689614195565b8615613ca8576dffffffffffffffffffffffffffff60801b8616616e7360f01b176000613c90826141ac565b9050613ca582613ca08b8461524a565b614225565b50505b6000613cb48760101b90565b71ffffffffffffffffffffffffffffffffffff191614613cdf57613cda888884886133f5565b613ceb565b613ceb888884886142a4565b90999098509650505050505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110613d3457613d3461536b565b60209081029190910101526000613bf87f746273746f726500000000000000000053746f7265486f6f6b730000000000008383613fa6565b8215613de65760208310613d9657602083048401935060208381613d9257613d92615623565b0692505b8215613de65760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411613dd7575050610b37565b50600194909401939182900391015b5b60208210613e085780518455600190930192601f1990910190602001613de7565b8115610b37576000600019600884021c8554835182191691161785555050505050565b60008282604051602001613e409291906155e7565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b60008383604051602001613e969291906155e7565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b6104a383838351613f128560200190565b613d6c565b60006020613f2683601f61524a565b613f309190615639565b613f3a908461524a565b90505b808310156104a35760008355600183019250613f3d565b6000613f608585614305565b90506000613f7d828560ff166028026038011c64ffffffffff1690565b90506107718686868460008888614318565b60608383836040516020016136fb9392919061565b565b6060611576613fb6858585613e81565b6000613fdb85613fc68989614305565b9060ff166028026038011c64ffffffffff1690565b6146c2565b600081831180613ff05750835182115b1561402d578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016103bc9392919061569a565b6020840161403b848261524a565b905060006140498585615381565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b6060600061290983601560006146e5565b6060816129098160156000614760565b600061409b8585614305565b905060006140b8828560ff166028026038011c64ffffffffff1690565b90506107718686866000858888614318565b61034f82826140d8856147b4565b613054565b604080516001808252818301909252600091829182916020808301908036833701905050905083816000815181106141175761411761536b565b6020908102919091010152600080806141707f7462776f726c6400000000000000000053797374656d73000000000000000000857e15020014010000000000000000000000000000000000000000000000000000614839565b5050602081015160349091015160609190911c9860f89190911c975095505050505050565b61419f8282614941565b61034f57610cc982610d40565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106141e5576141e561536b565b602090810291909101015260006115767f7462776f726c6400000000000000000042616c616e63657300000000000000008383630100080160dd1b612aac565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061425b5761425b61536b565b6020026020010181815250506104a37f7462776f726c6400000000000000000042616c616e636573000000000000000060001b8260008560405160200161139791815260200190565b60006060836001600160a01b03166142bd848888613f8f565b6040516142ca91906154a7565b600060405180830381855af49150503d806000811461345a576040519150601f19603f3d011682016040523d82523d6000602084013e61345f565b60006129096143148484613e2b565b5490565b613a3160f11b876001600160f01b0319161461434857613a3160f11b8788604051602001610eec91815260200190565b6000614363828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361437c9190615381565b614386919061524a565b90508082141580156143a857508161439e86886156bf565b64ffffffffff1614155b156143f8576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016103bc565b818664ffffffffff161115614449576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016103bc565b6000614456848984614977565b905060006144638b613cfa565b905060005b815181101561452e5760008282815181106144855761448561536b565b602002602001015190506144b16010826affffffffffffffffffffff1916613c0a90919063ffffffff16565b1561452557606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b81526004016144f297969594939291906156e4565b600060405180830381600087803b15801561450c57600080fd5b505af1158015614520573d6000803e3d6000fd5b505050505b50600101614468565b5064ffffffffff881660005b8a60ff168160ff16101561456d57614561878260ff166028026038011c64ffffffffff1690565b9091019060010161453a565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d6040516145a896959493929190615742565b60405180910390a2508284146145c95760006145c48c8c613e2b565b839055505b60006145d68c8c8c613e81565b90506145ea818a64ffffffffff1689613f01565b5060005b81518110156146b457600082828151811061460b5761460b61536b565b602002602001015190506146376020826affffffffffffffffffffff1916613c0a90919063ffffffff16565b156146ab57606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b815260040161467897969594939291906156e4565b600060405180830381600087803b15801561469257600080fd5b505af11580156146a6573d6000803e3d6000fd5b505050505b506001016145ee565b505050505050505050505050565b60405160208101601f19603f848401011660405282825261377685858584614a45565b606060006146f38560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161471957614719615623565b04905060405193506020840160208202810160405281855260005b82811015614754578451871c825293870193602090910190600101614734565b50505050509392505050565b825160609060006147718583615394565b9050604051925060208301601f19603f83860101166040528184526000602088015b84821015614754578051871b83529187019160019190910190602001614793565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161480357507e60030220202000000000000000000000000000000000000000000000000000919050565b6103266148307f746273746f72650000000000000000005461626c65730000000000000000000084614b11565b60206000613a3c565b606060006060600061484a856136ba565b9050614857878783614b2d565b93506000614864866128cb565b90508015614936576148768888614305565b935066ffffffffffffff841667ffffffffffffffff81111561489a5761489a614d68565b6040519080825280601f01601f1916602001820160405280156148c4576020820181803683370190505b5092506020830160005b828160ff1610156149335760006148e68b8b84613e81565b90506000614903888460ff166028026038011c64ffffffffff1690565b90506149128260008387614a45565b61491c818561524a565b93505050808061492b9061579e565b9150506148ce565b50505b505093509350939050565b6000614967616e7360f01b6dffffffffffffffffffffffffffff60801b85161783614b66565b8061290957506129098383614b66565b600064ffffffffff8211156149bb576040517f47670588000000000000000000000000000000000000000000000000000000008152600481018390526024016103bc565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff168085106149ed57808503820191506149f5565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b8215614acc5760208310614a6f57602083048401935060208381614a6b57614a6b615623565b0692505b8215614acc576020839003600081841015614a925750600019600884021c614a9c565b50600019600882021c5b8554600886021b818451168219821617845250818411614abd575050610b37565b50600194909401939182900391015b5b60208210614aee5783548152600190930192601f1990910190602001614acd565b8115610b37576000600019600884021c8251865482191691161782525050505050565b60408051602081018490529081018290526000906060016139fb565b606081600003614b4c5750604080516020810190915260008152612909565b6000614b5885856139e6565b9050612ad9816000856146c2565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110614b9f57614b9f61536b565b602002602001018181525050826001600160a01b031660001b81600181518110614bcb57614bcb61536b565b60209081029190910101526000614c0b7f7462776f726c640000000000000000005265736f7572636541636365737300008383630101000160d81b612aac565b9050612ad98160f81c90565b600060208284031215614c2957600080fd5b81356001600160e01b03198116811461290957600080fd5b6001600160a01b03811681146109f057600080fd5b60008060408385031215614c6957600080fd5b823591506020830135614c7b81614c41565b809150509250929050565b60008083601f840112614c9857600080fd5b50813567ffffffffffffffff811115614cb057600080fd5b6020830191508360208260051b8501011115614ccb57600080fd5b9250929050565b60008060008060008060008060c0898b031215614cee57600080fd5b88359750602089013596506040890135955060608901359450608089013567ffffffffffffffff80821115614d2257600080fd5b614d2e8c838d01614c86565b909650945060a08b0135915080821115614d4757600080fd5b50614d548b828c01614c86565b999c989b5096995094979396929594505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715614da757614da7614d68565b604052919050565b600082601f830112614dc057600080fd5b813567ffffffffffffffff811115614dda57614dda614d68565b614ded6020601f19601f84011601614d7e565b818152846020838601011115614e0257600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215614e3457600080fd5b8335614e3f81614c41565b925060208401359150604084013567ffffffffffffffff811115614e6257600080fd5b614e6e86828701614daf565b9150509250925092565b60008060408385031215614e8b57600080fd5b82359150602083013567ffffffffffffffff811115614ea957600080fd5b614eb585828601614daf565b9150509250929050565b600080600060608486031215614ed457600080fd5b833592506020840135614ee681614c41565b915060408401358015158114614efb57600080fd5b809150509250925092565b803560ff811681146136b557600080fd5b600080600060608486031215614f2c57600080fd5b833592506020840135614f3e81614c41565b9150614f4c60408501614f06565b90509250925092565b600080600060608486031215614f6a57600080fd5b83359250602084013567ffffffffffffffff80821115614f8957600080fd5b614f9587838801614daf565b93506040860135915080821115614fab57600080fd5b50614e6e86828701614daf565b60008060408385031215614fcb57600080fd5b8235614fd681614c41565b9150602083013567ffffffffffffffff811115614ea957600080fd5b60006020828403121561500457600080fd5b5035919050565b60008060006060848603121561502057600080fd5b8335925060208401359150604084013567ffffffffffffffff811115614e6257600080fd5b60006020828403121561505757600080fd5b813561290981614c41565b60005b8381101561507d578181015183820152602001615065565b50506000910152565b6000815180845261509e816020860160208601615062565b601f01601f19169290920160200192915050565b8281526040602082015260006115766040830184615086565b600067ffffffffffffffff808411156150e6576150e6614d68565b8360051b60206150f860208301614d7e565b8681529185019160208101903684111561511157600080fd5b865b848110156151455780358681111561512b5760008081fd5b61513736828b01614daf565b845250918301918301615113565b50979650505050505050565b6001600160f01b031984168152826020820152606060408201526000612ad96060830184615086565b6000835161518c818460208801615062565b7f5f5f00000000000000000000000000000000000000000000000000000000000090830190815283516151c6816002840160208801615062565b01600201949350505050565b8051602080830151919081101561296a5760001960209190910360031b1b16919050565b6020815260006129096020830184615086565b60408152600061521c6040830185615086565b90506001600160a01b03831660208301529392505050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561032657610326615234565b6001600160f01b03198416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516152a6816003860160208901615062565b8084019050816003820152845191506152c6826004830160208801615062565b0160040195945050505050565b634e487b7160e01b600052602160045260246000fd5b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b8281101561535e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc088860301845261534c858351615086565b94509285019290850190600101615312565b5092979650505050505050565b634e487b7160e01b600052603260045260246000fd5b8181038181111561032657610326615234565b808202811582820484141761032657610326615234565b6001600160a01b0384168152826020820152606060408201526000612ad96060830184615086565b60008151808452602080850194506020840160005b83811015615404578151875295820195908201906001016153e8565b509495945050505050565b60808152600061542260808301876153d3565b82810360208401526154348187615086565b90508460408401528281036060840152613b7b8185615086565b86815260c06020820152600061546760c08301886153d3565b82810360408401526154798188615086565b905085606084015282810360808401526154938186615086565b9150508260a0830152979650505050505050565b600082516154b9818460208701615062565b9190910192915050565b60208152600061290960208301846153d3565b8381526060602082015260006154ef60608301856153d3565b9050826040830152949350505050565b82815260406020820152600061157660408301846153d3565b84815260806020820152600061553160808301866153d3565b60ff851660408401528281036060840152613b7b8185615086565b6000835161555e818460208801615062565b835190830190615572818360208801615062565b01949350505050565b60608152600061558e60608301866153d3565b65ffffffffffff8516602084015282810360408401526114ea8185615086565b8481526080602082015260006155c760808301866153d3565b65ffffffffffff851660408401528281036060840152613b7b8185615086565b8281526000602080830184516020860160005b82811015615616578151845292840192908401906001016155fa565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b60008261565657634e487b7160e01b600052601260045260246000fd5b500490565b6000845161566d818460208901615062565b60609490941b6bffffffffffffffffffffffff191691909301908152601481019190915260340192915050565b6060815260006156ad6060830186615086565b60208301949094525060400152919050565b64ffffffffff8181168382160190808211156156dd576156dd615234565b5092915050565b87815260e0602082015260006156fd60e08301896153d3565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c08401526157348185615086565b9a9950505050505050505050565b60c08152600061575560c08301896153d3565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a08401526157918185615086565b9998505050505050505050565b600060ff821660ff81036157b4576157b4615234565b6001019291505056fea164736f6c6343000818000a","sourceMap":"740:212:89:-:0;;;981:4:88;938:48;;740:212:89;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106101365760003560e01c80636548a90a116100b2578063b29e408911610081578063cdc938c511610066578063cdc938c514610295578063d5f8337f146102a8578063e1af802c146102bb57600080fd5b8063b29e40891461026f578063bfdfaff71461028257600080fd5b80636548a90a146102235780638da798da14610236578063a92813ad14610249578063aa66e9c81461025c57600080fd5b80631d2257ba116101095780633350b6a9116100ee5780633350b6a9146101ea57806345ec9354146101fd578063530f4b601461021057600080fd5b80631d2257ba146101ab57806326d98102146101be57600080fd5b806301ffc9a71461013b57806305609129146101635780630ba51f4914610178578063119df25f1461018b575b600080fd5b61014e610149366004614c17565b6102c3565b60405190151581526020015b60405180910390f35b610176610171366004614c56565b61032c565b005b610176610186366004614cd2565b610353565b61019361041e565b6040516001600160a01b03909116815260200161015a565b6101766101b9366004614e1f565b61042d565b6101d16101cc366004614e78565b6104a8565b6040516001600160e01b0319909116815260200161015a565b6101766101f8366004614ebf565b6105fe565b604051601f19360135815260200161015a565b61017661021e366004614f17565b610779565b6101d1610231366004614f55565b6107e5565b610176610244366004614fb8565b6108c0565b610176610257366004614c56565b610982565b61017661026a366004614ff2565b6109c1565b61017661027d366004614ff2565b6109f3565b61017661029036600461500b565b610a88565b6101766102a3366004615045565b610b3d565b6101766102b6366004614f17565b610b56565b610193610c17565b60006001600160e01b031982167fb5dee12700000000000000000000000000000000000000000000000000000000148061032657506001600160e01b031982167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b610334610c21565b6103458261034061041e565b610c85565b61034f8282610cfe565b5050565b61035b610c21565b600061036689610d29565b6fffffffffffffffffffffffffffffffff1916036103c5578761038889610d40565b6040517fe4ac069e0000000000000000000000000000000000000000000000000000000081526004016103bc9291906150b2565b60405180910390fd5b6103e8616e7360f01b6dffffffffffffffffffffffffffff60801b8a1617610e54565b6103f48861034061041e565b61041488888888610405888a6150cb565b61040f87896150cb565b610e9f565b5050505050505050565b60006104286112af565b905090565b610435610c21565b61044761044061041e565b84846112e1565b610450826113b4565b156104a3576000610460836113d0565b905061048c817f1a86b5500000000000000000000000000000000000000000000000000000000061146c565b6104a061049761041e565b848460006114c7565b50505b505050565b60006104b2610c21565b61737960f01b836001600160f01b0319161461050d5761737960f01b836104d885610d40565b6040517f5c30fb6f0000000000000000000000000000000000000000000000000000000081526004016103bc93929190615151565b61051683610e54565b6105228361034061041e565b600061054b6105318560101b90565b71ffffffffffffffffffffffffffffffffffff19166114f4565b90506000818460405160200161056292919061517a565b60405160208183030381529060405290508080519060200120925060006105888461157e565b905080156105ce576040517f3d1d1ae20000000000000000000000000000000000000000000000000000000081526001600160e01b0319851660048201526024016103bc565b845160208601206105e085888361162e565b6105ea81876116f9565b6105f485846116f9565b5050505092915050565b610606610c21565b61737960f01b836001600160f01b0319161461062c5761737960f01b836104d885610d40565b6dffffffffffffffffffffffffffff60801b8316616e7360f01b1761065081610e54565b61065c8161034061041e565b610686837fb5dee1270000000000000000000000000000000000000000000000000000000061146c565b600061069185610d29565b6fffffffffffffffffffffffffffffffff1916036106b3578361038885610d40565b60006106be846117c2565b905080158015906106cf5750848114155b15610711576040517fc0b707410000000000000000000000000000000000000000000000000000000081526001600160a01b03851660048201526024016103bc565b600061071c866113d0565b90506001600160a01b038116156107455761073681611847565b61074083826118c6565b610750565b610750866001611964565b61075b868686611a05565b6107658587611aa8565b61077183866001611b33565b505050505050565b610781610c21565b6107ab827f1873396a0000000000000000000000000000000000000000000000000000000061146c565b6107ce616e7360f01b6dffffffffffffffffffffffffffff60801b851617610e54565b6107da8361034061041e565b6104a3838383611be2565b60006107ef610c21565b60408051616e7360f01b602082015260006022820181905260308201526108319101604051602081830303815290604052610829906151d2565b61034061041e565b8280519060200120905060008280519060200120905060006108528361157e565b90508015610898576040517f3d1d1ae20000000000000000000000000000000000000000000000000000000081526001600160e01b0319841660048201526024016103bc565b6108a383878461162e565b6108ad82856116f9565b6108b783866116f9565b50509392505050565b6108c8610c21565b6108f2827f6fdd1c800000000000000000000000000000000000000000000000000000000061146c565b61096e6108fd61041e565b6000848460405160240161091191906151f6565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f13861fb500000000000000000000000000000000000000000000000000000000179052611ca5565b5061034f8282805190602001206001611cb6565b61098a610c21565b6109968261034061041e565b61034f7f7462776f726c6400000000000000000053797374656d486f6f6b7300000000008383611d65565b6109c9610c21565b6109d281611e78565b6109db81610e54565b6109e78161034061041e565b6109f081611ea9565b50565b6109fb610c21565b610a0481611e78565b610a0d81611f14565b610a1681612106565b15610a595780610a2582610d40565b6040517f0dc28f6a0000000000000000000000000000000000000000000000000000000081526004016103bc9291906150b2565b610a64816001611964565b610a7581610a7061041e565b61218b565b6109f081610a8161041e565b6001611b33565b610a90610c21565b610a9983611e78565b610aa2826113b4565b610ad8576040517f71ee9e8100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610ae48361034061041e565b6000610aef836113d0565b9050610b1b817f1a86b5500000000000000000000000000000000000000000000000000000000061146c565b610b258484612255565b815115610b37576104a061049761041e565b50505050565b610b45610c21565b6109f0610b5061041e565b826122d4565b610b5e610c21565b61737960f01b836001600160f01b03191614610b845761737960f01b836104d885610d40565b610bae827f540fbfa80000000000000000000000000000000000000000000000000000000061146c565b610bb783610e54565b610bda616e7360f01b6dffffffffffffffffffffffffffff60801b851617610e54565b610be68361034061041e565b6104a3836bffffffffffffffffffffffff19606085901b166bff0000000000000000000000605885901b1617612376565b600061042861241b565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610c83576040517f9f03a02600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b6001600160a01b038116610cb2616e7360f01b6dffffffffffffffffffffffffffff60801b851617612425565b6001600160a01b03161461034f57610cc982610d40565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016103bc929190615209565b61034f7f746273746f726500000000000000000053746f7265486f6f6b730000000000008383611d65565b6000610d376070601061524a565b9190911b919050565b606081601081901b6000610d5383610d29565b90508271ffffffffffffffffffffffffffffffffffff19831615610d9457610d8f71ffffffffffffffffffffffffffffffffffff1984166114f4565b610dcb565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff19831615610df257610ded836114f4565b610e29565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001610e3b9392919061525d565b6040516020818303038152906040529350505050919050565b610e5d81612106565b6109f05780610e6b82610d40565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016103bc9291906150b2565b613a3160f11b866001600160f01b03191614801590610ecd5750611bdd60f21b866001600160f01b03191614155b15610f2e57613a3160f11b8687604051602001610eec91815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526103bc939291600401615151565b610f37856124b6565b610f428460016126fd565b610f4d8360006126fd565b60e084901c60e885901c0160ff16825114610fad5760e084901c60e885901c0160ff1682516040517f0f72cb98000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016103bc565b60e085901c60e886901c0160ff1681511461100d5760e085901c60e886901c0160ff1681516040517f7dec4c00000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016103bc565b60e085901c60e886901c0160ff1660e084901c60e885901c0160ff16146110855760e085901c60e886901c0160ff1660e084901c60e885901c0160ff166040517ff29d4d88000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016103bc565b61108e85612899565b61109784612899565b146110e9576110a585612899565b6110ae84612899565b6040517f65cc0adf000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016103bc565b6110f2856128cb565b6110fb846128cb565b1461114d57611109856128cb565b611112846128cb565b6040517fedea9587000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016103bc565b60005b61115986612899565b8110156111f45761118361116d85836128e8565b60c581111561117e5761117e6152d3565b612910565b6008601b8390030287901c60ff16146111ec576008601b8290030286901c60ff166111b161116d86846128e8565b6040517f254c7db4000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016103bc565b600101611150565b506111fe86612106565b1561125857858660405160200161121791815260200190565b60408051601f19818403018152908290527fdfaaf9cf0000000000000000000000000000000000000000000000000000000082526103bc92916004016150b2565b6112a4868686868660405160200161127091906152e9565b6040516020818303038152906040528660405160200161129091906152e9565b604051602081830303815290604052612970565b610771866001611964565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806112de5750335b90565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b816000815181106113225761132261536b565b602002602001018181525050826001600160a01b031660001b8160018151811061134e5761134e61536b565b602002602001018181525050610b377f7462776f726c640000000000000000005573657244656c65676174696f6e436f60001b8260008560405160200161139791815260200190565b60408051601f19818403018152919052630100080160dd1b612a37565b6000811515801561032657506113c982612a4c565b1592915050565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106114095761140961536b565b602090810291909101015260006114617f7462776f726c6400000000000000000053797374656d7300000000000000000083837e15020014010000000000000000000000000000000000000000000000000000612aac565b60601c949350505050565b6114768282612ae2565b61034f576040517f74b5e6ff0000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526001600160e01b0319821660248201526044016103bc565b60606000806114d887878787612afe565b91509150816114ea576114ea81612cce565b9695505050505050565b606060005b601081101561154a576fffffffffffffffffffffffffffffffff198316600882021b7fff00000000000000000000000000000000000000000000000000000000000000161561154a576001016114f9565b604080516fffffffffffffffffffffffffffffffff198516602082015281516030909101909152818152805b949350505050565b60408051600180825281830190925260009182919060208083019080368337019050509050827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916816000815181106115d6576115d661536b565b602090810291909101015260006115767f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f7283837e24020020040000000000000000000000000000000000000000000000000000612aac565b600061163a8383612cd6565b60408051600180825281830190925291925060009160609183919060208083019080368337019050509050867bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916816000815181106116985761169861536b565b60209081029190910101526116f07f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72828686867e24020020040000000000000000000000000000000000000000000000000000612d15565b50505050505050565b606060006117068361301b565b905060006117138461302b565b6040805160018082528183019092529192506000919060208083019080368337019050509050857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168160008151811061176c5761176c61536b565b60209081029190910101526107717f6f74776f726c6400000000000000000046756e6374696f6e5369676e61747572828686867c0100000000000000000000000000000000000000000000000000000000612d15565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b816000815181106118075761180761536b565b602090810291909101015260006115767f7462776f726c6400000000000000000053797374656d526567697374727900008383630100080160dd1b612aac565b60408051600180825281830190925260009160208083019080368337019050509050816001600160a01b031660001b816000815181106118895761188961536b565b602090810291909101015261034f7f7462776f726c6400000000000000000053797374656d5265676973747279000082630100080160dd1b613054565b60408051600280825260608201835260009260208301908036833701905050905082816000815181106118fb576118fb61536b565b602002602001018181525050816001600160a01b031660001b816001815181106119275761192761536b565b60209081029190910101526104a37f7462776f726c640000000000000000005265736f75726365416363657373000082630101000160d81b613054565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061199a5761199a61536b565b6020026020010181815250506104a37f746273746f72650000000000000000005265736f75726365496473000000000060001b826000856040516020016119e891151560f81b815260010190565b60408051601f19818403018152919052630101000160d81b612a37565b6000611a118383613320565b604080516001808252818301909252919250600091606091839190602080830190803683370190505090508681600081518110611a5057611a5061536b565b60209081029190910101526116f07f7462776f726c6400000000000000000053797374656d73000000000000000000828686867e15020014010000000000000000000000000000000000000000000000000000612d15565b60408051600180825281830190925260009160208083019080368337019050509050826001600160a01b031660001b81600081518110611aea57611aea61536b565b6020026020010181815250506104a37f7462776f726c6400000000000000000053797374656d5265676973747279000060001b8260008560405160200161139791815260200190565b6040805160028082526060820183526000926020830190803683370190505090508381600081518110611b6857611b6861536b565b602002602001018181525050826001600160a01b031660001b81600181518110611b9457611b9461536b565b602002602001018181525050610b377f7462776f726c640000000000000000005265736f75726365416363657373000060001b826000856040516020016119e891151560f81b815260010190565b613a3160f11b836001600160f01b03191614611c1257613a3160f11b8384604051602001610eec91815260200190565b611c1b83612106565b611c74578283604051602001611c3391815260200190565b60408051601f19818403018152908290527f41e713ad0000000000000000000000000000000000000000000000000000000082526103bc92916004016150b2565b6104a3836bffffffffffffffffffffffff19606085901b166bff0000000000000000000000605885901b1617613350565b60606000806114d8878787876133f5565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110611cf757611cf761536b565b6020026020010181815250508281600181518110611d1757611d1761536b565b602002602001018181525050610b377f7462776f726c64000000000000000000496e7374616c6c65644d6f64756c657360001b826000856040516020016119e891151560f81b815260010190565b6000611d71848461346d565b90506000815167ffffffffffffffff811115611d8f57611d8f614d68565b604051908082528060200260200182016040528015611db8578160200160208202803683370190505b5090506000805b8351811015611e6957846001600160a01b0316611e03858381518110611de757611de761536b565b60200260200101516affffffffffffffffffffff191660601c90565b6001600160a01b031614611e6157838181518110611e2357611e2361536b565b6020026020010151838381518110611e3d57611e3d61536b565b6affffffffffffffffffffff19909216602092830291909101909101526001909101905b600101611dbf565b508082526107718686846134d8565b616e7360f01b6dffffffffffffffffffffffffffff60801b82161781146109f057616e7360f01b816104d883610d40565b604080516001808252818301909252600091602080830190803683370190505090508181600081518110611edf57611edf61536b565b602090810291909101015261034f7f7462776f726c640000000000000000004e616d65737061636544656c656761748261352f565b6000611f208260101b90565b90506000611f4271ffffffffffffffffffffffffffffffffffff1983166114f4565b80519091508015610b3757611f6482611f5c600184615381565b016020015190565b7fff00000000000000000000000000000000000000000000000000000000000000167f5f0000000000000000000000000000000000000000000000000000000000000003611ff5576040517f0efb4b8500000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff19841660048201526024016103bc565b60005b612003600183615381565b8110156104a057602081840101517effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f5f000000000000000000000000000000000000000000000000000000000000001480156120b0575061206b83611f5c83600161524a565b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f5f00000000000000000000000000000000000000000000000000000000000000145b156120fe576040517f0efb4b8500000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff19851660048201526024016103bc565b600101611ff8565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061213f5761213f61536b565b6020908102919091010152600061217f7f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b612aac565b90506115768160f81c90565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106121c1576121c161536b565b6020026020010181815250506104a37f7462776f726c640000000000000000004e616d6573706163654f776e6572000060001b82600085604051602001612220919060609190911b6bffffffffffffffffffffffff1916815260140190565b60408051601f198184030181529190527e14010014000000000000000000000000000000000000000000000000000000612a37565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061228b5761228b61536b565b6020026020010181815250506104a37f7462776f726c640000000000000000004e616d65737061636544656c6567617460001b8260008560405160200161139791815260200190565b604080516002808252606082018352600092602083019080368337019050509050826001600160a01b031660001b816000815181106123155761231561536b565b602002602001018181525050816001600160a01b031660001b816001815181106123415761234161536b565b60209081029190910101526104a37f7462776f726c640000000000000000005573657244656c65676174696f6e436f8261352f565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106123ac576123ac61536b565b6020026020010181815250506104a37f7462776f726c6400000000000000000053797374656d486f6f6b73000000000060001b8260008560405160200161240791906affffffffffffffffffffff1991909116815260150190565b6040516020818303038152906040526135ca565b600061042861367b565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061245e5761245e61536b565b602090810291909101015260006114617f7462776f726c640000000000000000004e616d6573706163654f776e6572000083837e14010014000000000000000000000000000000000000000000000000000000612aac565b806124ed576040517fa019e4da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006124f8826128cb565b9050600581111561253f576040517f6793df6200000000000000000000000000000000000000000000000000000000815260048101829052600560248201526044016103bc565b600061254a83612899565b90506000612558838361524a565b9050601c81111561259f576040517fecd893b900000000000000000000000000000000000000000000000000000000815260048101829052601c60248201526044016103bc565b6000805b8381101561264a5760ff601b82900360080287901c1660008190036125f7576040517f53b2dd05000000000000000000000000000000000000000000000000000000008152600481018390526024016103bc565b6020811115612635576040517f7237f237000000000000000000000000000000000000000000000000000000008152600481018390526024016103bc565b61263f818461524a565b9250506001016125a3565b50612654856136ba565b81146126a057612663856136ba565b6040517feba964de0000000000000000000000000000000000000000000000000000000081526004810191909152602481018290526044016103bc565b825b601c8110156107715760ff601b82900360080287901c1680156126f4576040517f1d8d44db000000000000000000000000000000000000000000000000000000008152600481018390526024016103bc565b506001016126a2565b80158015612709575081155b1561272a5760405163d498615960e01b8152600060048201526024016103bc565b6000612735836128cb565b9050600581111561275c5760405163d498615960e01b8152600481018290526024016103bc565b600061276784612899565b90506000612775838361524a565b9050601c81111561279c5760405163d498615960e01b8152600481018290526024016103bc565b6000805b838110156128085760006127b761116d89846128e8565b9050806000036127f3576040517ff44b422000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6127fd818461524a565b9250506001016127a0565b50612812866136ba565b811461283d57612821866136ba565b60405163d498615960e01b81526004016103bc91815260200190565b825b828110156116f057600061285661116d89846128e8565b90508015612890576040517ff44b422000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060010161283f565b6000600860016128ab60026020615381565b6128b59190615381565b6128bf9190615394565b8260ff911c1692915050565b600060086001806128de60026020615381565b6128ab9190615381565b6000601b8290036008028360ff911c1660c5811115612909576129096152d3565b9392505050565b6000808260c5811115612925576129256152d3565b60ff169050606181101561293f57601f1660010192915050565b60618360c5811115612953576129536152d3565b036129615750601492915050565b50600092915050565b50919050565b600061297d8686866136dd565b9050600061298b8484613713565b905060006129998585613730565b604080516001808252818301909252919250600091906020808301908036833701905050905089816000815181106129d3576129d361536b565b6020908102919091010152612a2b7f746273746f72650000000000000000005461626c657300000000000000000000828686867e60030220202000000000000000000000000000000000000000000000000000612d15565b50505050505050505050565b6104a08585612a468487613745565b8561377e565b6040805161737960f01b60208201526000602282018190527f756e6c696d69746564000000000000000000000000000000000000000000000060308301529101604051602081830303815290604052612aa4906151d2565b909114919050565b6000612ad9612abb86866139e6565b60ff858116601b0360080285901c16612ad48587613745565b613a3c565b95945050505050565b6000612aed83613a8d565b801561290957506129098383613ace565b600060606000612b0d86613b86565b905060005b8151811015612be0576000828281518110612b2f57612b2f61536b565b60200260200101519050612b5b6001826affffffffffffffffffffff1916613c0a90919063ffffffff16565b15612bd7576040517fc3323031000000000000000000000000000000000000000000000000000000008152606082901c9063c332303190612ba4908c908c908c906004016153ab565b600060405180830381600087803b158015612bbe57600080fd5b505af1158015612bd2573d6000803e3d6000fd5b505050505b50600101612b12565b50612bed87858888613c28565b909350915060005b8151811015612cc3576000828281518110612c1257612c1261536b565b60200260200101519050612c3e6002826affffffffffffffffffffff1916613c0a90919063ffffffff16565b15612cba576040517f973d8f99000000000000000000000000000000000000000000000000000000008152606082901c9063973d8f9990612c87908c908c908c906004016153ab565b600060405180830381600087803b158015612ca157600080fd5b505af1158015612cb5573d6000803e3d6000fd5b505050505b50600101612bf5565b505094509492505050565b805160208201fd5b60608282604051602001612cfe9291909182526001600160e01b031916602082015260240190565b604051602081830303815290604052905092915050565b611bdd60f21b866001600160f01b03191603612d6e57857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a986868686604051612d61949392919061540f565b60405180910390a2610771565b6000612d7987613cfa565b905060005b8151811015612e52576000828281518110612d9b57612d9b61536b565b60200260200101519050612dc76001826affffffffffffffffffffff1916613c0a90919063ffffffff16565b15612e49576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90612e16908c908c908c908c908c908c9060040161544e565b600060405180830381600087803b158015612e3057600080fd5b505af1158015612e44573d6000803e3d6000fd5b505050505b50600101612d7e565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a987878787604051612e89949392919061540f565b60405180910390a26000612e9d88886139e6565b90506000602087019050612eb5826000895184613d6c565b6000612ec0856128cb565b1115612f44576000612ed28a8a613e2b565b878155905060208601915060008060005b612eec886128cb565b8160ff161015612f3f57612f018d8d83613e81565b9250612f1c8a8260ff166028026038011c64ffffffffff1690565b9150612f2b8360008488613d6c565b612f35828661524a565b9450600101612ee3565b505050505b60005b8351811015612a2b576000848281518110612f6457612f6461536b565b60200260200101519050612f906002826affffffffffffffffffffff1916613c0a90919063ffffffff16565b15613012576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90612fdf908e908e908e908e908e908e9060040161544e565b600060405180830381600087803b158015612ff957600080fd5b505af115801561300d573d6000803e3d6000fd5b505050505b50600101612f47565b60006103268251603881901b1790565b60608160405160200161303e91906154a7565b6040516020818303038152906040529050919050565b611bdd60f21b836001600160f01b031916036130a757827f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d078360405161309a91906154c3565b60405180910390a2505050565b60006130b284613cfa565b905060005b81518110156131855760008282815181106130d4576130d461536b565b602002602001015190506131006040826affffffffffffffffffffff1916613c0a90919063ffffffff16565b1561317c576040517f9faeaf45000000000000000000000000000000000000000000000000000000008152606082901c90639faeaf4590613149908990899089906004016154d6565b600060405180830381600087803b15801561316357600080fd5b505af1158015613177573d6000803e3d6000fd5b505050505b506001016130b7565b50837f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d07846040516131b691906154c3565b60405180910390a260006131ca85856139e6565b90506132238160006131db866136ba565b67ffffffffffffffff8111156131f3576131f3614d68565b6040519080825280601f01601f19166020018201604052801561321d576020820181803683370190505b50613f01565b600061322e846128cb565b111561324f5760006132408686613e2b565b905061324d816020613f17565b505b60005b825181101561077157600083828151811061326f5761326f61536b565b6020026020010151905061329b6080826affffffffffffffffffffff1916613c0a90919063ffffffff16565b15613317576040517f83b5c95b000000000000000000000000000000000000000000000000000000008152606082901c906383b5c95b906132e4908a908a908a906004016154d6565b600060405180830381600087803b1580156132fe57600080fd5b505af1158015613312573d6000803e3d6000fd5b505050505b50600101613252565b604051606083811b6bffffffffffffffffffffffff1916602083015282151560f81b603483015290603501612cfe565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106133865761338661536b565b6020026020010181815250506104a37f746273746f726500000000000000000053746f7265486f6f6b7300000000000060001b826000856040516020016133e191906affffffffffffffffffffff1991909116815260150190565b604051602081830303815290604052613f54565b60006060836001600160a01b03166000613410858989613f8f565b60405161341d91906154a7565b60006040518083038185875af1925050503d806000811461345a576040519150601f19603f3d011682016040523d82523d6000602084013e61345f565b606091505b509097909650945050505050565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106134a7576134a761536b565b60200260200101818152505060006134c185836000613fa6565b9050612ad96134d38260008451613fe0565b61406e565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061350e5761350e61536b565b602002602001018181525050610b378482600061352a8661407f565b61408f565b600061353961367b565b9050306001600160a01b03821603613555576104a383836140ca565b6040517f505a181d0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063505a181d9061359c90869086906004016154ff565b600060405180830381600087803b1580156135b657600080fd5b505af11580156116f0573d6000803e3d6000fd5b60006135d461367b565b9050306001600160a01b038216036135f7576135f285858585613f54565b6104a0565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f326290613642908890889088908890600401615518565b600060405180830381600087803b15801561365c57600080fd5b505af1158015613670573d6000803e3d6000fd5b505050505050505050565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b0316806136b5573391505090565b919050565b600060086136ca60026020615381565b6136d49190615394565b9190911c919050565b60408051602081018590529081018390526060818101839052906080015b60405160208183030381529060405290509392505050565b8151815160009181810160389190911b1760609190911b17612909565b60608282604051602001612cfe92919061554c565b600080805b8360ff168110156137765761376c60ff601b83900360080287901c168361524a565b915060010161374a565b509392505050565b611bdd60f21b846001600160f01b031916036137d557837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8484846040516137c89392919061557b565b60405180910390a2610b37565b60006137e185856139e6565b905060006137ee86613cfa565b905060005b81518110156138c35760008282815181106138105761381061536b565b6020026020010151905061383c6004826affffffffffffffffffffff1916613c0a90919063ffffffff16565b156138ba576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90613887908b908b908b908b906004016155ae565b600060405180830381600087803b1580156138a157600080fd5b505af11580156138b5573d6000803e3d6000fd5b505050505b506001016137f3565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8686866040516138f89392919061557b565b60405180910390a2613913828565ffffffffffff1685613f01565b60005b81518110156116f05760008282815181106139335761393361536b565b6020026020010151905061395f6008826affffffffffffffffffffff1916613c0a90919063ffffffff16565b156139dd576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba8721906139aa908b908b908b908b906004016155ae565b600060405180830381600087803b1580156139c457600080fd5b505af11580156139d8573d6000803e3d6000fd5b505050505b50600101613916565b600082826040516020016139fb9291906155e7565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600060208210613a6257602082048401935060208281613a5e57613a5e615623565b0691505b508254600882021b602082900380841115613776576001850154600882021c82179150509392505050565b6000613ab9827f01ffc9a700000000000000000000000000000000000000000000000000000000613ace565b801561032657506113c9826001600160e01b03195b6040516001600160e01b031982166024820152600090819060440160408051601f19818403018152919052602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825192935060009283928392909183918a617530fa92503d91506000519050828015613b6f575060208210155b8015613b7b5750600081115b979650505050505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110613bc057613bc061536b565b60209081029190910101526000613bf87f7462776f726c6400000000000000000053797374656d486f6f6b7300000000008383613fa6565b90506115766134d38260008451613fe0565b60008160ff1682613c1b8560581c90565b1660ff1614905092915050565b60006060600080613c38866140dd565b90925090506001600160a01b038216613c555785610e6b87610d40565b80613c6457613c648689614195565b8615613ca8576dffffffffffffffffffffffffffff60801b8616616e7360f01b176000613c90826141ac565b9050613ca582613ca08b8461524a565b614225565b50505b6000613cb48760101b90565b71ffffffffffffffffffffffffffffffffffff191614613cdf57613cda888884886133f5565b613ceb565b613ceb888884886142a4565b90999098509650505050505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110613d3457613d3461536b565b60209081029190910101526000613bf87f746273746f726500000000000000000053746f7265486f6f6b730000000000008383613fa6565b8215613de65760208310613d9657602083048401935060208381613d9257613d92615623565b0692505b8215613de65760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411613dd7575050610b37565b50600194909401939182900391015b5b60208210613e085780518455600190930192601f1990910190602001613de7565b8115610b37576000600019600884021c8554835182191691161785555050505050565b60008282604051602001613e409291906155e7565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b60008383604051602001613e969291906155e7565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b6104a383838351613f128560200190565b613d6c565b60006020613f2683601f61524a565b613f309190615639565b613f3a908461524a565b90505b808310156104a35760008355600183019250613f3d565b6000613f608585614305565b90506000613f7d828560ff166028026038011c64ffffffffff1690565b90506107718686868460008888614318565b60608383836040516020016136fb9392919061565b565b6060611576613fb6858585613e81565b6000613fdb85613fc68989614305565b9060ff166028026038011c64ffffffffff1690565b6146c2565b600081831180613ff05750835182115b1561402d578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016103bc9392919061569a565b6020840161403b848261524a565b905060006140498585615381565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b6060600061290983601560006146e5565b6060816129098160156000614760565b600061409b8585614305565b905060006140b8828560ff166028026038011c64ffffffffff1690565b90506107718686866000858888614318565b61034f82826140d8856147b4565b613054565b604080516001808252818301909252600091829182916020808301908036833701905050905083816000815181106141175761411761536b565b6020908102919091010152600080806141707f7462776f726c6400000000000000000053797374656d73000000000000000000857e15020014010000000000000000000000000000000000000000000000000000614839565b5050602081015160349091015160609190911c9860f89190911c975095505050505050565b61419f8282614941565b61034f57610cc982610d40565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106141e5576141e561536b565b602090810291909101015260006115767f7462776f726c6400000000000000000042616c616e63657300000000000000008383630100080160dd1b612aac565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061425b5761425b61536b565b6020026020010181815250506104a37f7462776f726c6400000000000000000042616c616e636573000000000000000060001b8260008560405160200161139791815260200190565b60006060836001600160a01b03166142bd848888613f8f565b6040516142ca91906154a7565b600060405180830381855af49150503d806000811461345a576040519150601f19603f3d011682016040523d82523d6000602084013e61345f565b60006129096143148484613e2b565b5490565b613a3160f11b876001600160f01b0319161461434857613a3160f11b8788604051602001610eec91815260200190565b6000614363828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361437c9190615381565b614386919061524a565b90508082141580156143a857508161439e86886156bf565b64ffffffffff1614155b156143f8576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016103bc565b818664ffffffffff161115614449576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016103bc565b6000614456848984614977565b905060006144638b613cfa565b905060005b815181101561452e5760008282815181106144855761448561536b565b602002602001015190506144b16010826affffffffffffffffffffff1916613c0a90919063ffffffff16565b1561452557606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b81526004016144f297969594939291906156e4565b600060405180830381600087803b15801561450c57600080fd5b505af1158015614520573d6000803e3d6000fd5b505050505b50600101614468565b5064ffffffffff881660005b8a60ff168160ff16101561456d57614561878260ff166028026038011c64ffffffffff1690565b9091019060010161453a565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d6040516145a896959493929190615742565b60405180910390a2508284146145c95760006145c48c8c613e2b565b839055505b60006145d68c8c8c613e81565b90506145ea818a64ffffffffff1689613f01565b5060005b81518110156146b457600082828151811061460b5761460b61536b565b602002602001015190506146376020826affffffffffffffffffffff1916613c0a90919063ffffffff16565b156146ab57606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b815260040161467897969594939291906156e4565b600060405180830381600087803b15801561469257600080fd5b505af11580156146a6573d6000803e3d6000fd5b505050505b506001016145ee565b505050505050505050505050565b60405160208101601f19603f848401011660405282825261377685858584614a45565b606060006146f38560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161471957614719615623565b04905060405193506020840160208202810160405281855260005b82811015614754578451871c825293870193602090910190600101614734565b50505050509392505050565b825160609060006147718583615394565b9050604051925060208301601f19603f83860101166040528184526000602088015b84821015614754578051871b83529187019160019190910190602001614793565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161480357507e60030220202000000000000000000000000000000000000000000000000000919050565b6103266148307f746273746f72650000000000000000005461626c65730000000000000000000084614b11565b60206000613a3c565b606060006060600061484a856136ba565b9050614857878783614b2d565b93506000614864866128cb565b90508015614936576148768888614305565b935066ffffffffffffff841667ffffffffffffffff81111561489a5761489a614d68565b6040519080825280601f01601f1916602001820160405280156148c4576020820181803683370190505b5092506020830160005b828160ff1610156149335760006148e68b8b84613e81565b90506000614903888460ff166028026038011c64ffffffffff1690565b90506149128260008387614a45565b61491c818561524a565b93505050808061492b9061579e565b9150506148ce565b50505b505093509350939050565b6000614967616e7360f01b6dffffffffffffffffffffffffffff60801b85161783614b66565b8061290957506129098383614b66565b600064ffffffffff8211156149bb576040517f47670588000000000000000000000000000000000000000000000000000000008152600481018390526024016103bc565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff168085106149ed57808503820191506149f5565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b8215614acc5760208310614a6f57602083048401935060208381614a6b57614a6b615623565b0692505b8215614acc576020839003600081841015614a925750600019600884021c614a9c565b50600019600882021c5b8554600886021b818451168219821617845250818411614abd575050610b37565b50600194909401939182900391015b5b60208210614aee5783548152600190930192601f1990910190602001614acd565b8115610b37576000600019600884021c8251865482191691161782525050505050565b60408051602081018490529081018290526000906060016139fb565b606081600003614b4c5750604080516020810190915260008152612909565b6000614b5885856139e6565b9050612ad9816000856146c2565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110614b9f57614b9f61536b565b602002602001018181525050826001600160a01b031660001b81600181518110614bcb57614bcb61536b565b60209081029190910101526000614c0b7f7462776f726c640000000000000000005265736f7572636541636365737300008383630101000160d81b612aac565b9050612ad98160f81c90565b600060208284031215614c2957600080fd5b81356001600160e01b03198116811461290957600080fd5b6001600160a01b03811681146109f057600080fd5b60008060408385031215614c6957600080fd5b823591506020830135614c7b81614c41565b809150509250929050565b60008083601f840112614c9857600080fd5b50813567ffffffffffffffff811115614cb057600080fd5b6020830191508360208260051b8501011115614ccb57600080fd5b9250929050565b60008060008060008060008060c0898b031215614cee57600080fd5b88359750602089013596506040890135955060608901359450608089013567ffffffffffffffff80821115614d2257600080fd5b614d2e8c838d01614c86565b909650945060a08b0135915080821115614d4757600080fd5b50614d548b828c01614c86565b999c989b5096995094979396929594505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715614da757614da7614d68565b604052919050565b600082601f830112614dc057600080fd5b813567ffffffffffffffff811115614dda57614dda614d68565b614ded6020601f19601f84011601614d7e565b818152846020838601011115614e0257600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215614e3457600080fd5b8335614e3f81614c41565b925060208401359150604084013567ffffffffffffffff811115614e6257600080fd5b614e6e86828701614daf565b9150509250925092565b60008060408385031215614e8b57600080fd5b82359150602083013567ffffffffffffffff811115614ea957600080fd5b614eb585828601614daf565b9150509250929050565b600080600060608486031215614ed457600080fd5b833592506020840135614ee681614c41565b915060408401358015158114614efb57600080fd5b809150509250925092565b803560ff811681146136b557600080fd5b600080600060608486031215614f2c57600080fd5b833592506020840135614f3e81614c41565b9150614f4c60408501614f06565b90509250925092565b600080600060608486031215614f6a57600080fd5b83359250602084013567ffffffffffffffff80821115614f8957600080fd5b614f9587838801614daf565b93506040860135915080821115614fab57600080fd5b50614e6e86828701614daf565b60008060408385031215614fcb57600080fd5b8235614fd681614c41565b9150602083013567ffffffffffffffff811115614ea957600080fd5b60006020828403121561500457600080fd5b5035919050565b60008060006060848603121561502057600080fd5b8335925060208401359150604084013567ffffffffffffffff811115614e6257600080fd5b60006020828403121561505757600080fd5b813561290981614c41565b60005b8381101561507d578181015183820152602001615065565b50506000910152565b6000815180845261509e816020860160208601615062565b601f01601f19169290920160200192915050565b8281526040602082015260006115766040830184615086565b600067ffffffffffffffff808411156150e6576150e6614d68565b8360051b60206150f860208301614d7e565b8681529185019160208101903684111561511157600080fd5b865b848110156151455780358681111561512b5760008081fd5b61513736828b01614daf565b845250918301918301615113565b50979650505050505050565b6001600160f01b031984168152826020820152606060408201526000612ad96060830184615086565b6000835161518c818460208801615062565b7f5f5f00000000000000000000000000000000000000000000000000000000000090830190815283516151c6816002840160208801615062565b01600201949350505050565b8051602080830151919081101561296a5760001960209190910360031b1b16919050565b6020815260006129096020830184615086565b60408152600061521c6040830185615086565b90506001600160a01b03831660208301529392505050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561032657610326615234565b6001600160f01b03198416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516152a6816003860160208901615062565b8084019050816003820152845191506152c6826004830160208801615062565b0160040195945050505050565b634e487b7160e01b600052602160045260246000fd5b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b8281101561535e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc088860301845261534c858351615086565b94509285019290850190600101615312565b5092979650505050505050565b634e487b7160e01b600052603260045260246000fd5b8181038181111561032657610326615234565b808202811582820484141761032657610326615234565b6001600160a01b0384168152826020820152606060408201526000612ad96060830184615086565b60008151808452602080850194506020840160005b83811015615404578151875295820195908201906001016153e8565b509495945050505050565b60808152600061542260808301876153d3565b82810360208401526154348187615086565b90508460408401528281036060840152613b7b8185615086565b86815260c06020820152600061546760c08301886153d3565b82810360408401526154798188615086565b905085606084015282810360808401526154938186615086565b9150508260a0830152979650505050505050565b600082516154b9818460208701615062565b9190910192915050565b60208152600061290960208301846153d3565b8381526060602082015260006154ef60608301856153d3565b9050826040830152949350505050565b82815260406020820152600061157660408301846153d3565b84815260806020820152600061553160808301866153d3565b60ff851660408401528281036060840152613b7b8185615086565b6000835161555e818460208801615062565b835190830190615572818360208801615062565b01949350505050565b60608152600061558e60608301866153d3565b65ffffffffffff8516602084015282810360408401526114ea8185615086565b8481526080602082015260006155c760808301866153d3565b65ffffffffffff851660408401528281036060840152613b7b8185615086565b8281526000602080830184516020860160005b82811015615616578151845292840192908401906001016155fa565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b60008261565657634e487b7160e01b600052601260045260246000fd5b500490565b6000845161566d818460208901615062565b60609490941b6bffffffffffffffffffffffff191691909301908152601481019190915260340192915050565b6060815260006156ad6060830186615086565b60208301949094525060400152919050565b64ffffffffff8181168382160190808211156156dd576156dd615234565b5092915050565b87815260e0602082015260006156fd60e08301896153d3565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c08401526157348185615086565b9a9950505050505050505050565b60c08152600061575560c08301896153d3565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a08401526157918185615086565b9998505050505050505050565b600060ff821660ff81036157b4576157b4615234565b6001019291505056fea164736f6c6343000818000a","sourceMap":"740:212:89:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2331:198:64;;;;;;:::i;:::-;;:::i;:::-;;;516:14:214;;509:22;491:41;;479:2;464:18;2331:198:64;;;;;;;;4111:293:96;;;;;;:::i;:::-;;:::i;:::-;;1963:748;;;;;;:::i;:::-;;:::i;1262:113:64:-;;;:::i;:::-;;;-1:-1:-1;;;;;2850:55:214;;;2832:74;;2820:2;2805:18;1262:113:64;2686:226:214;11870:932:97;;;;;;:::i;:::-;;:::i;8379:1584::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;;5197:79:214;;;5179:98;;5167:2;5152:18;8379:1584:97;5035:248:214;5808:2236:97;;;;;;:::i;:::-;;:::i;1616:110:64:-;;;-1:-1:-1;;3800:14:64;3796:25;3783:39;5982:25:214;;5970:2;5955:18;1616:110:64;5836:177:214;3174:595:96;;;;;;:::i;:::-;;:::i;10369:1171:97:-;;;;;;:::i;:::-;;:::i;1085:570:95:-;;;;;;:::i;:::-;;:::i;4742:388:97:-;;;;;;:::i;:::-;;:::i;14857:466::-;;;;;;:::i;:::-;;:::i;2536:736::-;;;;;;:::i;:::-;;:::i;13528:1145::-;;;;;;:::i;:::-;;:::i;12987:223::-;;;;;;:::i;:::-;;:::i;3576:936::-;;;;;;:::i;:::-;;:::i;1942:98:64:-;;;:::i;2331:198::-;2407:4;-1:-1:-1;;;;;;2426:54:64;;2441:39;2426:54;;:98;;-1:-1:-1;;;;;;;2484:40:64;;2499:25;2484:40;2426:98;2419:105;2331:198;-1:-1:-1;;2331:198:64:o;4111:293:96:-;1061:20:88;:18;:20::i;:::-;4265:49:96::1;4292:7;4301:12;:10;:12::i;:::-;4265:26;:49::i;:::-;4348:51;4378:7;4387:11;4348:29;:51::i;:::-;4111:293:::0;;:::o;1963:748::-;1061:20:88;:18;:20::i;:::-;2278:9:96::1;2257:17;:7:::0;:15:::1;:17::i;:::-;-1:-1:-1::0;;2257:30:96::1;::::0;2253:110:::1;;2328:7;2337:18;:7;:16;:18::i;:::-;2304:52;;;;;;;;;;;;:::i;:::-;;;;;;;;2253:110;2415:56;-1:-1:-1::0;;;;;;2955:46:65;;2954:74;2415:30:96::1;:56::i;:::-;2533:49;2560:7;2569:12;:10;:12::i;2533:49::-;2615:91;2639:7:::0;2648:11;2661:9;2672:11;2615:91:::1;2685:8:::0;;2615:91:::1;:::i;:::-;;2695:10:::0;;2615:91:::1;:::i;:::-;:23;:91::i;:::-;1963:748:::0;;;;;;;;:::o;1262:113:64:-;1305:14;1334:36;:34;:36::i;:::-;1327:43;;1262:113;:::o;11870:932:97:-;1061:20:88;:18;:20::i;:::-;12075:141:97::1;12121:12;:10;:12::i;:::-;12152:9;12190:19;12075:26;:141::i;:::-;12266:41;12287:19;12266:20;:41::i;:::-;12262:536;;;12411:25;12439:39;12458:19;12439:18;:39::i;:::-;12411:67;;12486:73;12503:17;12522:36;12486:16;:73::i;:::-;12630:161;12681:12;:10;:12::i;:::-;12713:19;12752:12;12781:1;12630:32;:161::i;:::-;;12309:489;12262:536;11870:932:::0;;;:::o;8379:1584::-;8518:28;1061:20:88;:18;:20::i;:::-;-1:-1:-1;;;8625:8:97;-1:-1:-1;;;;;;8625:37:97::1;;8621:138;;-1:-1:-1::0;;;8722:8:97::1;8732:19;:8;:17;:19::i;:::-;8679:73;;;;;;;;;;;;;:::i;8621:138::-;8802:40;8833:8;8802:30;:40::i;:::-;8896:50;8923:8;8933:12;:10;:12::i;8896:50::-;8993:29;9025:59;9060:23;:8;451:5:20::0;2637:44:65;;2539:148;9060:23:97::1;-1:-1:-1::0;;9025:59:97::1;:34;:59::i;:::-;8993:91;;9090:36;9143:15;9166:23;9129:61;;;;;;;;;:::i;:::-;;;;;;;;;;;;;9090:100;;9243:22;9227:40;;;;;;9196:72;;9334:27;9364:53;9395:21;9364:30;:53::i;:::-;9334:83:::0;-1:-1:-1;9428:40:97;;9424:111:::1;;9477:58;::::0;::::1;::::0;;-1:-1:-1;;;;;;5197:79:214;;9477:58:97::1;::::0;::::1;5179:98:214::0;5152:18;;9477:58:97::1;5035:248:214::0;9424:111:97::1;9619:41:::0;;::::1;::::0;::::1;::::0;9667:79:::1;9690:21:::0;9713:8;9619:41;9667:22:::1;:79::i;:::-;9810:72;9834:22;9858:23;9810;:72::i;:::-;9888:70;9912:21;9935:22;9888:23;:70::i;:::-;8548:1415;;;;8379:1584:::0;;;;:::o;5808:2236::-;1061:20:88;:18;:20::i;:::-;-1:-1:-1;;;5996:8:97;-1:-1:-1;;;;;;5996:37:97::1;;5992:138;;-1:-1:-1::0;;;6093:8:97::1;6103:19;:8;:17;:19::i;5992:138::-;-1:-1:-1::0;;;2955:46:65;;-1:-1:-1;;;2954:74:65;6239:43:97::1;2954:74:65::0;6239:30:97::1;:43::i;:::-;6336:53;6363:11;6376:12;:10;:12::i;6336:53::-;6480:74;6505:6;6514:39;6480:16;:74::i;:::-;6647:9;6625:18;:8:::0;:16:::1;:18::i;:::-;-1:-1:-1::0;;6625:31:97::1;::::0;6621:98:::1;;6689:8;6699:19;:8;:17;:19::i;6621:98::-;6803:27;6833:36;6861:6;6833:19;:36::i;:::-;6803:66:::0;-1:-1:-1;6886:40:97;;;::::1;::::0;:110:::1;;;6987:8;6948:16;6930:66;;6886:110;6875:192;;;7018:42;::::0;::::1;::::0;;-1:-1:-1;;;;;2850:55:214;;7018:42:97::1;::::0;::::1;2832:74:214::0;2805:18;;7018:42:97::1;2686:226:214::0;6875:192:97::1;7131:22;7156:28;7175:8;7156:18;:28::i;:::-;7131:53:::0;-1:-1:-1;;;;;;7264:28:97;::::1;::::0;7260:411:::1;;7363:44;7392:14;7363:28;:44::i;:::-;7478:57;7507:11;7520:14;7478:28;:57::i;:::-;7260:411;;;7626:38;7649:8;7659:4;7626:22;:38::i;:::-;7758:53;7771:8;7789:6;7798:12;7758;:53::i;:::-;7883:46;7911:6;7920:8;7883:19;:46::i;:::-;7984:55;8004:11;8025:6;8034:4;7984:19;:55::i;:::-;5919:2125;;;5808:2236:::0;;;:::o;3174:595:96:-;1061:20:88;:18;:20::i;:::-;3387:68:96::1;3412:11;3426:28;3387:16;:68::i;:::-;3508:56;-1:-1:-1::0;;;;;;2955:46:65;;2954:74;2415:30:96::1;:56::i;3508:::-;3614:49;3641:7;3650:12;:10;:12::i;3614:49::-;3695:69;3723:7;3732:11;3745:18;3695:27;:69::i;10369:1171:97:-:0;10554:28;1061:20:88;:18;:20::i;:::-;625:63:86::1;::::0;;-1:-1:-1;;;625:63:86::1;::::0;::::1;12755:92:214::0;662:14:86::1;12863:11:214::0;;;12856:100;;;12972:12;;;12965:101;10642:59:97::1;::::0;13082:12:214;625:63:86::1;;;;;;;;;;;;617:72;;;:::i;:::-;10688:12:97;:10;:12::i;10642:59::-;10820:22;10804:40;;;;;;10773:72;;10851:29;10906:23;10890:41;;;;;;10851:81;;10998:27;11028:53;11059:21;11028:30;:53::i;:::-;10998:83:::0;-1:-1:-1;11092:40:97;;11088:111:::1;;11141:58;::::0;::::1;::::0;;-1:-1:-1;;;;;;5197:79:214;;11141:58:97::1;::::0;::::1;5179:98:214::0;5152:18;;11141:58:97::1;5035:248:214::0;11088:111:97::1;11244:79;11267:21;11290:8;11300:22;11244;:79::i;:::-;11387:72;11411:22;11435:23;11387;:72::i;:::-;11465:70;11489:21;11512:22;11465:23;:70::i;:::-;10584:956;;10369:1171:::0;;;;;:::o;1085:570:95:-;1061:20:88;:18;:20::i;:::-;1251:60:95::1;1276:6;1285:25;1251:16;:60::i;:::-;1318:200;1385:12;:10;:12::i;:::-;1415:1;1440:6;1498:11;1465:46;;;;;;;;:::i;:::-;;::::0;;-1:-1:-1;;1465:46:95;;::::1;::::0;;;;;;::::1;::::0;::::1;::::0;;::::1;;::::0;::::1;::::0;;1318:47:::1;:200::i;:::-;;1582:68;1612:6;1631:11;1621:22;;;;;;1645:4;1582:21;:68::i;4742:388:97:-:0;1061:20:88;:18;:20::i;:::-;4899:50:97::1;4926:8;4936:12;:10;:12::i;4899:50::-;5044:81;1160:66:82;5094:8:97::0;5112:11;5044:27:::1;:81::i;14857:466::-:0;1061:20:88;:18;:20::i;:::-;14998:29:97::1;15015:11;14998:16;:29::i;:::-;15072:43;15103:11;15072:30;:43::i;:::-;15169:53;15196:11;15209:12;:10;:12::i;15169:53::-;15266:52;15306:11;15266:39;:52::i;:::-;14857:466:::0;:::o;2536:736::-;1061:20:88;:18;:20::i;:::-;2673:29:97::1;2690:11;2673:16;:29::i;:::-;2767:34;2789:11;2767:21;:34::i;:::-;2854:35;2877:11;2854:22;:35::i;:::-;2850:127;;;2934:11;2947:22;:11;:20;:22::i;:::-;2906:64;;;;;;;;;;;;:::i;2850:127::-;3021:41;3044:11;3057:4;3021:22;:41::i;:::-;3115:46;3135:11;3148:12;:10;:12::i;:::-;3115:19;:46::i;:::-;3215:52;3235:11;3248:12;:10;:12::i;:::-;3262:4;3215:19;:52::i;13528:1145::-:0;1061:20:88;:18;:20::i;:::-;13742:29:97::1;13759:11;13742:16;:29::i;:::-;13833:41;13854:19;13833:20;:41::i;:::-;13828:107;;13891:37;;;;;;;;;;;;;;13828:107;13988:53;14015:11;14028:12;:10;:12::i;13988:53::-;14140:25;14168:39;14187:19;14168:18;:39::i;:::-;14140:67;;14213:73;14230:17;14249:36;14213:16;:73::i;:::-;14332:65;14364:11;14377:19;14332:31;:65::i;:::-;14468:19:::0;;:23;14464:205:::1;;14501:161;14552:12;:10;:12::i;14464:205::-;13688:985;13528:1145:::0;;;:::o;12987:223::-;1061:20:88;:18;:20::i;:::-;13120:85:97::1;13168:12;:10;:12::i;:::-;13193:9;13120:34;:85::i;3576:936::-:0;1061:20:88;:18;:20::i;:::-;-1:-1:-1;;;3801:8:97;-1:-1:-1;;;;;;3801:37:97::1;;3797:138;;-1:-1:-1::0;;;3898:8:97::1;3908:19;:8;:17;:19::i;3797:138::-;4016:69;4041:11;4055:29;4016:16;:69::i;:::-;4127:40;4158:8;4127:30;:40::i;:::-;4221:57;-1:-1:-1::0;;;;;;2955:46:65;;2954:74;2415:30:96::1;:56::i;4221:57:97:-;4328:50;4355:8;4365:12;:10;:12::i;4328:50::-;4410:97;4427:8:::0;-1:-1:-1;;1053:20:4;;;;1045:29;1077:30;;;;;;1045:62;4410:16:97::1;:97::i;1942:98:64:-:0;1981:7;2003:32;:30;:32::i;1179:189:88:-;-1:-1:-1;;;;;1265:6:88;1248:23;1256:4;1248:23;1237:127;;1332:25;;;;;;;;;;;;;;1237:127;1179:189::o;2140:233:46:-;-1:-1:-1;;;;;2225:58:46;;:48;-1:-1:-1;;;;;;2955:46:65;;2954:74;2225:19:46;:48::i;:::-;-1:-1:-1;;;;;2225:58:46;;2221:148;;2332:21;:10;:19;:21::i;:::-;2355:6;2300:62;;;;;;;;;;;;:::i;10664:172:24:-;10752:79;968:66:32;10801:7:24;10818:11;10752:27;:79::i;3165:160:65:-;3228:7;3292:26;438:6;451:5:20;3292:26:65;:::i;:::-;3258:61;;;;;3165:160;-1:-1:-1;3165:160:65:o;3486:592::-;3550:13;3620:10;451:5:20;2637:44:65;;;3571:19;3718;3620:10;3718:7;:19::i;:::-;3695:42;-1:-1:-1;3800:12:65;-1:-1:-1;;3839:35:65;;;:102;;3888:53;-1:-1:-1;;3888:53:65;;:34;:53::i;:::-;3839:102;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3968:25:65;;;:87;;4007:48;4042:12;4007:34;:48::i;:::-;3968:87;;;;;;;;;;;;;;;;;;;;;3772:293;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3743:330;;;;;3486:592;;;:::o;2602:206:46:-;2676:34;2699:10;2676:22;:34::i;:::-;2671:133;;2763:10;2775:21;:10;:19;:21::i;:::-;2727:70;;;;;;;;;;;;:::i;6620:2614:24:-;-1:-1:-1;;;6880:7:24;-1:-1:-1;;;;;;6880:35:24;;;;;:83;;-1:-1:-1;;;;6919:7:24;-1:-1:-1;;;;;;6919:44:24;;;6880:83;6876:209;;;-1:-1:-1;;;7035:7:24;7068;7051:25;;;;;;15444:19:214;;15488:2;15479:12;;15284:213;7051:25:24;;;;-1:-1:-1;;7051:25:24;;;;;;;;;;6980:98;;;;;;;;;;:::i;6876:209::-;7131:22;:11;:20;:22::i;:::-;7194:40;:9;7227:4;7194:18;:40::i;:::-;7240:43;:11;7275:5;7240:20;:43::i;:::-;1684:38:34;5236:60:21;;;1516:34:34;5159:59:21;;;5153:144;5138:159;;7371:8:24;:15;:40;7367:148;;1684:38:34;5236:60:21;;;1516:34:34;5159:59:21;;;5153:144;5138:159;;7492:15:24;;7428:80;;;;;;;;15676:25:214;;;;15717:18;;;15710:34;15649:18;;7428:80:24;15502:248:214;7367:148:24;1684:38:34;5236:60:21;;;1516:34:34;5159:59:21;;;5153:144;5138:159;;7565:10:24;:17;:44;7561:158;;1684:38:34;5236:60:21;;;1516:34:34;5159:59:21;;;5153:144;5138:159;;7694:17:24;;7626:86;;;;;;;;15676:25:214;;;;15717:18;;;15710:34;15649:18;;7626:86:24;15502:248:214;7561:158:24;1684:38:34;5236:60:21;;;1516:34:34;5159:59:21;;;5153:144;5138:159;;1684:38:34;5236:60:21;;;1516:34:34;5159:59:21;;;5153:144;5138:159;;7776:50:24;7772:171;;1684:38:34;5236:60:21;;;1516:34:34;5159:59:21;;;5153:144;5138:159;;1684:38:34;5236:60:21;;;1516:34:34;5159:59:21;;;5153:144;5138:159;;7843:93:24;;;;;;;;15676:25:214;;;;15717:18;;;15710:34;15649:18;;7843:93:24;15502:248:214;7772:171:24;7985:29;:11;:27;:29::i;:::-;7952;:11;:27;:29::i;:::-;:62;7948:225;;8090:29;:11;:27;:29::i;:::-;8129;:11;:27;:29::i;:::-;8031:135;;;;;;;;15676:25:214;;;;15717:18;;;15710:34;15649:18;;8031:135:24;15502:248:214;7948:225:24;8216:30;:11;:28;:30::i;:::-;8182;:11;:28;:30::i;:::-;:64;8178:230;;8323:30;:11;:28;:30::i;:::-;8363;:11;:28;:30::i;:::-;8263:138;;;;;;;;15676:25:214;;;;15717:18;;;15710:34;15649:18;;8263:138:24;15502:248:214;8178:230:24;8505:9;8500:314;8520:29;:11;:27;:29::i;:::-;8516:1;:33;8500:314;;;8594:44;:22;:11;8614:1;8594:19;:22::i;:::-;:42;;;;;;;;:::i;:::-;;:44::i;:::-;579:1:34;4322:19:3;:27;;;4321:44;4287:79;;;4274:93;;8568:70:24;8564:244;;579:1:34;4322:19:3;:27;;;4321:44;4287:79;;;4274:93;;8745:44:24;:22;:11;8765:1;8745:19;:22::i;:44::-;8657:142;;;;;;;;15676:25:214;;;;15717:18;;;15710:34;15649:18;;8657:142:24;15502:248:214;8564:244:24;8551:3;;8500:314;;;;8876:31;8899:7;8876:22;:31::i;:::-;8872:140;;;8962:7;8995;8978:25;;;;;;15444:19:214;;15488:2;15479:12;;15284:213;8978:25:24;;;;-1:-1:-1;;8978:25:24;;;;;;;;;;8924:81;;;;;;;;;:::i;8872:140::-;9053:103;9065:7;9074:11;9087:9;9098:11;9122:8;9111:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;9144:10;9133:22;;;;;;;;:::i;:::-;;;;;;;;;;;;;9053:11;:103::i;:::-;9192:37;9215:7;9224:4;9192:22;:37::i;2992:383:64:-;3278:34;3282:14;3278:34;3265:48;3259:4;3255:59;;3325:45;;-1:-1:-1;3360:10:64;3325:45;2992:383;:::o;6156:426:85:-;6284:16;;;6298:1;6284:16;;;;;;;;6255:26;;6284:16;;;;;;;;;;-1:-1:-1;6284:16:85;6255:45;;6345:9;-1:-1:-1;;;;;6329:27:85;6321:36;;6306:9;6316:1;6306:12;;;;;;;;:::i;:::-;;;;;;:51;;;;;6402:9;-1:-1:-1;;;;;6386:27:85;6378:36;;6363:9;6373:1;6363:12;;;;;;;;:::i;:::-;;;;;;:51;;;;;6421:156;1175:66;1159:83;;6469:9;6486:1;6530:19;6495:56;;;;;;15444:19:214;;15488:2;15479:12;;15284:213;6495:56:85;;;;-1:-1:-1;;6495:56:85;;;;;;;;;-1:-1:-1;;;6421:24:85;:156::i;1509:162:47:-;1583:4;810:53;;;1602:64;;;;;1634:32;1646:19;1634:11;:32::i;:::-;1633:33;1595:71;1509:162;-1:-1:-1;;1509:162:47:o;3073:307:84:-;3188:16;;;3202:1;3188:16;;;;;;;;;3137:14;;;;3188:16;;;;;;;;;;;;-1:-1:-1;3188:16:84;3159:45;;3243:8;3210:9;3220:1;3210:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;3259:13;3275:62;1152:66;3310:9;3259:13;1281:66;3275:24;:62::i;:::-;3351:23;;;3073:307;-1:-1:-1;;;;3073:307:84:o;692:238:99:-;777:61;809:15;826:11;777:31;:61::i;:::-;772:156;;853:70;;;;;-1:-1:-1;;;;;17377:55:214;;853:70:99;;;17359:74:214;-1:-1:-1;;;;;;17469:79:214;;17449:18;;;17442:107;17332:18;;853:70:99;17187:368:214;5258:401:61;5402:17;5428:12;5442:23;5469:115;5499:6;5543:8;5569;5520:5;5469:13;:115::i;:::-;5427:157;;;;5595:7;5590:41;;5604:27;5620:10;5604:15;:27::i;:::-;5644:10;5258:401;-1:-1:-1;;;;;;5258:401:61:o;1862:325:65:-;1932:13;1953:14;1973:83;1989:2;1980:6;:11;1973:83;;;-1:-1:-1;;2007:37:65;;3261:1:2;3257:13;;3253:24;2007:42:65;;2003:53;2051:5;2003:53;1993:8;;1973:83;;;2092:30;;;-1:-1:-1;;17701:79:214;;2092:30:65;;;17689:92:214;2092:30:65;;17797:12:214;;;;2092:30:65;;;875:21:2;;;2092:30:65;2142:39;2128:54;1862:325;-1:-1:-1;;;;1862:325:65:o;3147:332:75:-;3278:16;;;3292:1;3278:16;;;;;;;;;3222:19;;;;3278:16;;;;;;;;;;;;-1:-1:-1;3278:16:75;3249:45;;3323:21;3315:30;;;3300:9;3310:1;3300:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3352:13;3368:62;1171:66;3403:9;3352:13;1300:66;3368:24;:62::i;7384:464::-;7495:24;7522:46;7535:8;7545:22;7522:12;:46::i;:::-;7671:16;;;7685:1;7671:16;;;;;;;;;7495:73;;-1:-1:-1;7575:29:75;;7610:25;;7575:29;;7671:16;;;;;;;;;;;;-1:-1:-1;7671:16:75;7642:45;;7716:21;7708:30;;;7693:9;7703:1;7693:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;7745:98;1171:66;7775:9;7786:11;7799:15;7816:12;1300:66;7745:19;:98::i;:::-;7489:359;;;;7384:464;;;:::o;3184:455:76:-;3271:24;3301:29;3333:32;3347:17;3333:13;:32::i;:::-;3301:64;;3371:25;3399:32;3413:17;3399:13;:32::i;:::-;3467:16;;;3481:1;3467:16;;;;;;;;;3371:60;;-1:-1:-1;3438:26:76;;3467:16;;;;;;;;;;;;-1:-1:-1;3467:16:76;3438:45;;3512:16;3504:25;;;3489:9;3499:1;3489:12;;;;;;;;:::i;:::-;;;;;;;;;;:40;3536:98;1092:66;3566:9;3577:11;3590:15;3607:12;1221:66;3536:19;:98::i;3784:313:83:-;3893:16;;;3907:1;3893:16;;;;;;;;;3837:19;;;;3893:16;;;;;;;;;;;;-1:-1:-1;3893:16:83;3864:45;;3954:6;-1:-1:-1;;;;;3938:24:83;3930:33;;3915:9;3925:1;3915:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;3970:13;3986:62;1166:66;4021:9;3970:13;-1:-1:-1;;;3986:24:83;:62::i;5762:222::-;5845:16;;;5859:1;5845:16;;;;;;;;;5816:26;;5845:16;;;;;;;;;;;-1:-1:-1;5845:16:83;5816:45;;5906:6;-1:-1:-1;;;;;5890:24:83;5882:33;;5867:9;5877:1;5867:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;5922:57;1166:66;5955:9;-1:-1:-1;;;5922:22:83;:57::i;6291:295:81:-;6397:16;;;6411:1;6397:16;;;;;;;;6368:26;;6397:16;;;;;;;;;;-1:-1:-1;6397:16:81;6368:45;;6452:10;6419:9;6429:1;6419:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;6508:6;-1:-1:-1;;;;;6492:24:81;6484:33;;6469:9;6479:1;6469:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;6524:57;1166:66;6557:9;-1:-1:-1;;;6524:22:81;:57::i;4219:268:31:-;4319:16;;;4333:1;4319:16;;;;;;;;;4290:26;;4319:16;;;;;;;;;;;-1:-1:-1;4319:16:31;4290:45;;4374:10;4341:9;4351:1;4341:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4392:90;970:66;954:83;;4427:9;4438:1;4459:6;4441:26;;;;;;17971:14:214;17964:22;17959:3;17955:32;17943:45;;18013:1;18004:11;;17820:201;4441:26:31;;;;-1:-1:-1;;4441:26:31;;;;;;;;;-1:-1:-1;;;4392:24:31;:90::i;6910:423:84:-;6995:24;7022:34;7035:6;7043:12;7022;:34::i;:::-;7159:16;;;7173:1;7159:16;;;;;;;;;6995:61;;-1:-1:-1;7063:29:84;;7098:25;;7063:29;;7159:16;;;;;;;;;;;;-1:-1:-1;7159:16:84;7130:45;;7214:8;7181:9;7191:1;7181:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;7230:98;1152:66;7260:9;7271:11;7284:15;7301:12;1281:66;7230:19;:98::i;5145:286:83:-;5240:16;;;5254:1;5240:16;;;;;;;;;5211:26;;5240:16;;;;;;;;;;;-1:-1:-1;5240:16:83;5211:45;;5301:6;-1:-1:-1;;;;;5285:24:83;5277:33;;5262:9;5272:1;5262:12;;;;;;;;:::i;:::-;;;;;;:48;;;;;5317:109;1166:66;1150:83;;5352:9;5363:1;5401:8;5366:45;;;;;;15444:19:214;;15488:2;15479:12;;15284:213;5555:332:81;5665:16;;;5679:1;5665:16;;;;;;;;5636:26;;5665:16;;;;;;;;;;-1:-1:-1;5665:16:81;5636:45;;5720:10;5687:9;5697:1;5687:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;5776:6;-1:-1:-1;;;;;5760:24:81;5752:33;;5737:9;5747:1;5737:12;;;;;;;;:::i;:::-;;;;;;:48;;;;;5792:90;1166:66;1150:83;;5827:9;5838:1;5859:6;5841:26;;;;;;17971:14:214;17964:22;17959:3;17955:32;17943:45;;18013:1;18004:11;;17820:201;9836:624:24;-1:-1:-1;;;10020:7:24;-1:-1:-1;;;;;;10020:35:24;;10016:161;;-1:-1:-1;;;10127:7:24;10160;10143:25;;;;;;15444:19:214;;15488:2;15479:12;;15284:213;10016:161:24;10222:31;10245:7;10222:22;:31::i;:::-;10217:136;;10303:7;10336;10319:25;;;;;;15444:19:214;;15488:2;15479:12;;15284:213;10319:25:24;;;;-1:-1:-1;;10319:25:24;;;;;;;;;;10270:76;;;;;;;;;:::i;10217:136::-;10359:96;10376:7;-1:-1:-1;;1053:20:4;;;;1045:29;1077:30;;;;;;1045:62;10359:16:24;:96::i;7191:399:64:-;7338:17;7364:12;7378:18;7400:125;7435:9;7462:8;7486:6;7510:8;7400:15;:125::i;5581:340:78:-;5703:16;;;5717:1;5703:16;;;;;;;;5674:26;;5703:16;;;;;;;;;;-1:-1:-1;5703:16:78;5674:45;;5764:13;-1:-1:-1;;;;;5748:31:78;5740:40;;5725:9;5735:1;5725:12;;;;;;;;:::i;:::-;;;;;;:55;;;;;5801:13;5786:9;5796:1;5786:12;;;;;;;;:::i;:::-;;;;;;:28;;;;;5821:95;1081:66;1065:83;;5856:9;5867:1;5888:11;5870:31;;;;;;17971:14:214;17964:22;17959:3;17955:32;17943:45;;18013:1;18004:11;;17820:201;1474:1069:4;1617:29;1649:42;1660:11;1673:17;1649:10;:42::i;:::-;1617:74;;1809:25;1851:12;:19;1837:34;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1837:34:4;;1809:62;;1919:21;1969:25;1964:312;2016:12;:19;1996:17;:39;1964:312;;;2139:19;-1:-1:-1;;;;;2072:87:4;:55;2082:12;2095:17;2082:31;;;;;;;;:::i;:::-;;;;;;;2072:53;;;3536:35;;;3406:170;2072:55;-1:-1:-1;;;;;2072:87:4;;2068:200;;2199:12;2212:17;2199:31;;;;;;;;:::i;:::-;;;;;;;2173:8;2182:13;2173:23;;;;;;;;:::i;:::-;-1:-1:-1;;2173:57:4;;;:23;;;;;;;;;;;:57;2242:15;;;;;2068:200;2037:19;;1964:312;;;;2429:13;2419:8;2412:31;2486:52;2497:11;2510:17;2529:8;2486:10;:52::i;596:401:100:-;-1:-1:-1;;;;;;2955:46:65;;2954:74;821:10:100;803:79;799:196;;-1:-1:-1;;;956:10:100;968:21;:10;:19;:21::i;5970:214:79:-;6060:16;;;6074:1;6060:16;;;;;;;;;6031:26;;6060:16;;;;;;;;;;;-1:-1:-1;6060:16:79;6031:45;;6115:11;6082:9;6092:1;6082:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;6134;1180:66;6169:9;6134:24;:45::i;648:795:101:-;776:17;796:25;:10;451:5:20;2637:44:65;;2539:148;796:25:101;776:45;-1:-1:-1;825:30:101;858:45;-1:-1:-1;;858:45:101;;:34;:45::i;:::-;940:30;;825:78;;-1:-1:-1;979:26:101;;975:466;;1017:68;1039:16;1058:26;1083:1;1058:22;:26;:::i;:::-;2742:27:2;2756:4;2742:27;2736:34;;2612:168;1017:68:101;:75;;;;1013:149;;1109:46;;;;;-1:-1:-1;;18323:79:214;;1109:46:101;;;18305:98:214;18278:18;;1109:46:101;18159:250:214;1013:149:101;1173:9;1168:269;1188:26;1213:1;1188:22;:26;:::i;:::-;1184:1;:30;1168:269;;;2756:4:2;2742:27;;;;2736:34;1242:50:101;;;;;:108;;;;-1:-1:-1;1296:47:101;1318:16;1337:5;:1;1341;1337:5;:::i;1296:47::-;:54;;;;;1242:108;1229:202;;;1376:46;;;;;-1:-1:-1;;18323:79:214;;1376:46:101;;;18305:98:214;18278:18;;1376:46:101;18159:250:214;1229:202:101;1216:3;;1168:269;;2855:314:31;2969:16;;;2983:1;2969:16;;;;;;;;;2921:11;;;;2969:16;;;;;;;;;;;;-1:-1:-1;2969:16:31;2940:45;;3024:10;2991:9;3001:1;2991:12;;;;;;;;:::i;:::-;;;;;;;;;;:44;3042:13;3058:62;970:66;3093:9;3042:13;-1:-1:-1;;;3058:24:31;:62::i;:::-;3042:78;;3134:29;3155:5;3142:20;;1650:10:20;1541:126;5020:265:80;5117:16;;;5131:1;5117:16;;;;;;;;;5088:26;;5117:16;;;;;;;;;;;-1:-1:-1;5117:16:80;5088:45;;5172:11;5139:9;5149:1;5139:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5191:89;1166:66;1150:83;;5226:9;5237:1;5258:5;5240:25;;;;;;;18563:2:214;18559:15;;;;-1:-1:-1;;18555:88:214;18543:101;;18669:2;18660:12;;18414:264;5240:25:80;;;;-1:-1:-1;;5240:25:80;;;;;;;;;1295:66;5191:24;:89::i;5560:349:79:-;5674:16;;;5688:1;5674:16;;;;;;;;;5645:26;;5674:16;;;;;;;;;;;-1:-1:-1;5674:16:79;5645:45;;5729:11;5696:9;5706:1;5696:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5748:156;1180:66;1164:83;;5796:9;5813:1;5857:19;5822:56;;;;;;15444:19:214;;15488:2;15479:12;;15284:213;6643:291:85;6747:16;;;6761:1;6747:16;;;;;;;;6718:26;;6747:16;;;;;;;;;;-1:-1:-1;6747:16:85;6718:45;;6808:9;-1:-1:-1;;;;;6792:27:85;6784:36;;6769:9;6779:1;6769:12;;;;;;;;:::i;:::-;;;;;;:51;;;;;6865:9;-1:-1:-1;;;;;6849:27:85;6841:36;;6826:9;6836:1;6826:12;;;;;;;;:::i;:::-;;;;;;;;;;:51;6884:45;1175:66;6919:9;6884:24;:45::i;9574:257:82:-;9671:16;;;9685:1;9671:16;;;;;;;;;9642:26;;9671:16;;;;;;;;;;;-1:-1:-1;9671:16:82;9642:45;;9726:8;9693:9;9703:1;9693:12;;;;;;;;:::i;:::-;;;;;;:42;;;;;9742:84;1160:66;1144:83;;9783:9;9794:1;9815:8;9797:28;;;;;;;-1:-1:-1;;18824:79:214;;;;18812:92;;18929:2;18920:12;;18683:255;9797:28:82;;;;;;;;;;;;;9742:30;:84::i;4048:97:64:-;4089:7;4111:29;:27;:29::i;3747:306:80:-;3858:16;;;3872:1;3858:16;;;;;;;;;3808:13;;;;3858:16;;;;;;;;;;;;-1:-1:-1;3858:16:80;3829:45;;3913:11;3880:9;3890:1;3880:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3932:13;3948:62;1166:66;3983:9;3932:13;1295:66;3948:24;:62::i;6617:1665:3:-;6300:45;6680:87;;6722:38;;;;;;;;;;;;;;6680:87;6773:25;6801:30;:11;:28;:30::i;:::-;6773:58;;944:1:34;6841:17:3;:38;6837:156;;;6896:90;;;;;;;;15676:25:214;;;944:1:34;15717:18:214;;;15710:34;15649:18;;6896:90:3;15502:248:214;6837:156:3;6999:24;7026:29;:11;:27;:29::i;:::-;6999:56;-1:-1:-1;7061:23:3;7087:36;7106:17;6999:56;7087:36;:::i;:::-;7061:62;;689:2:34;7133:15:3;:34;7129:141;;;7184:79;;;;;;;;15676:25:214;;;689:2:34;15717:18:214;;;15710:34;15649:18;;7184:79:3;15502:248:214;7129:141:3;7312:25;7348:9;7343:429;7363:16;7359:1;:20;7343:429;;;4274:93;4322:19;:27;;;579:1:34;4321:44:3;4287:79;;;4274:93;7391:24;7452:21;;;7448:234;;7492:52;;;;;;;;5982:25:214;;;5955:18;;7492:52:3;5836:177:214;7448:234:3;376:2:34;7563:16:3;:28;7559:123;;;7610:63;;;;;;;;5982:25:214;;;5955:18;;7610:63:3;5836:177:214;7559:123:3;7689:37;7710:16;7689:37;;:::i;:::-;;-1:-1:-1;;7754:3:3;;7343:429;;;;7839:30;:11;:28;:30::i;:::-;7818:17;:51;7814:184;;7941:30;:11;:28;:30::i;:::-;7886:105;;;;;;;;15676:25:214;;;;15717:18;;;15710:34;;;15649:18;;7886:105:3;15502:248:214;7814:184:3;8054:16;8037:241;689:2:34;8072:1:3;:20;8037:241;;;4274:93;4322:19;:27;;;579:1:34;4321:44:3;4287:79;;;4274:93;8168:21;;8164:108;;8208:55;;;;;;;;5982:25:214;;;5955:18;;8208:55:3;5836:177:214;8164:108:3;-1:-1:-1;8094:3:3;;8037:241;;5760:1635:21;5867:10;5866:11;:31;;;;-1:-1:-1;6300:45:3;;5881:16:21;5862:81;;;5906:37;;-1:-1:-1;;;5906:37:21;;5941:1;5906:37;;;5982:25:214;5955:18;;5906:37:21;5836:177:214;5862:81:21;6006:25;6034;:6;:23;:25::i;:::-;6006:53;;944:1:34;6069:17:21;:38;6065:104;;;6116:53;;-1:-1:-1;;;6116:53:21;;;;;5982:25:214;;;5955:18;;6116:53:21;5836:177:214;6065:104:21;6176:24;6203;:6;:22;:24::i;:::-;6176:51;-1:-1:-1;6297:23:21;6323:36;6342:17;6176:51;6323:36;:::i;:::-;6297:62;;689:2:34;6369:15:21;:34;6365:98;;;6412:51;;-1:-1:-1;;;6412:51:21;;;;;5982:25:214;;;5955:18;;6412:51:21;5836:177:214;6365:98:21;6524:25;6560:9;6555:314;6575:16;6571:1;:20;6555:314;;;6603:24;6630:39;:17;:6;6645:1;6630:14;:17::i;:39::-;6603:66;;6681:16;6701:1;6681:21;6677:102;;6721:49;;;;;;;;;;;;;;6677:102;6786:37;6807:16;6786:37;;:::i;:::-;;-1:-1:-1;;6851:3:21;;6555:314;;;;6937:25;:6;:23;:25::i;:::-;6916:17;:46;6912:135;;7014:25;:6;:23;:25::i;:::-;6979:61;;-1:-1:-1;;;6979:61:21;;;;;;5982:25:214;;5970:2;5955:18;;5836:177;6912:135:21;7122:16;7105:286;7144:15;7140:1;:19;7105:286;;;7171:24;7198:39;:17;:6;7213:1;7198:14;:17::i;:39::-;7171:66;-1:-1:-1;7249:20:21;;7245:101;;7288:49;;;;;;;;;;;;;;7245:101;-1:-1:-1;7373:3:21;;7105:286;;4978:171:3;5051:7;579:1:34;1533;1517:13;1529:1;376:2;1517:13;:::i;:::-;:17;;;;:::i;:::-;1516:34;;;;:::i;:::-;5087:11:3;5066:78;5079:64;;5066:78;;4978:171;-1:-1:-1;;4978:171:3:o;5376:173::-;5450:7;579:1:34;1705;;1685:13;1697:1;376:2;1685:13;:::i;:::-;:17;;;;:::i;4019:206:21:-;4089:10;4179:19;:27;;;4210:1;4178:33;4157:6;4132:82;4149:63;;4132:82;;;;;;;;;:::i;:::-;4125:89;4019:206;-1:-1:-1;;;4019:206:21:o;3195:520:1:-;3261:7;3274:13;3296:10;3290:17;;;;;;;;:::i;:::-;3274:33;;;;3324:2;3316:5;:10;3312:401;;;3568:2;3560:10;3574:1;3559:16;;;-1:-1:-1;;3195:520:1:o;3312:401::-;3610:18;3596:10;:32;;;;;;;;:::i;:::-;;3592:121;;-1:-1:-1;3643:2:1;;3195:520;-1:-1:-1;;3195:520:1:o;3592:121::-;-1:-1:-1;3707:1:1;;3195:520;-1:-1:-1;;3195:520:1:o;3592:121::-;3270:445;3195:520;;;:::o;19791:676:33:-;19999:24;20026:49;20039:11;20052:9;20063:11;20026:12;:49::i;:::-;19999:76;;20082:29;20114:55;20128:18;20148:20;20114:13;:55::i;:::-;20082:87;;20175:25;20203:55;20217:18;20237:20;20203:13;:55::i;:::-;20294:16;;;20308:1;20294:16;;;;;;;;;20175:83;;-1:-1:-1;20265:26:33;;20294:16;;;;;;;;;;;;-1:-1:-1;20294:16:33;20265:45;;20349:7;20316:9;20326:1;20316:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;20364:98;1210:66;20394:9;20405:11;20418:15;20435:12;1339:66;20364:19;:98::i;:::-;19993:474;;;;19791:676;;;;;;:::o;22785:355:24:-;22957:178;22991:7;23016:8;23046:63;23085:11;23098:10;23046:38;:63::i;:::-;23124:4;22957:16;:178::i;1129:181:47:-;764:71:86;;;-1:-1:-1;;;764:71:86;;;12755:92:214;1205:4:47;12863:11:214;;;12856:100;;;814:20:86;12972:12:214;;;12965:101;1205:4:47;13082:12:214;764:71:86;;;;;;;;;;;;756:80;;;:::i;:::-;1224:81:47;;;;1129:181;-1:-1:-1;1129:181:47:o;35844:541:24:-;36001:7;36138:242;36182:59;36223:7;36232:8;36182:40;:59::i;:::-;36259:31;;;;4322:19:3;:27;579:1:34;4321:44:3;4287:79;;;4274:93;36308:63:24;36347:11;36360:10;36308:38;:63::i;:::-;36138:17;:242::i;:::-;36125:255;35844:541;-1:-1:-1;;;;;35844:541:24:o;1312:272:49:-;1399:4;1498:23;1513:7;1498:14;:23::i;:::-;:81;;;;;1525:54;1558:7;1567:11;1525:32;:54::i;3782:1003:61:-;3918:12;3932:17;3981:22;4006:26;4023:8;4006:16;:26::i;:::-;3981:51;;4109:9;4104:228;4124:5;:12;4120:1;:16;4104:228;;;4151:9;4173:5;4179:1;4173:8;;;;;;;;:::i;:::-;;;;;;;4151:31;;4194:34;458:6:103;4194:4:61;:14;;;;;:34;;;;:::i;:::-;4190:136;;;4240:77;;;;;3536:35:4;;;;;4240:49:61;;:77;;4290:6;;4298:8;;4308;;4240:77;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4190:136;-1:-1:-1;4138:3:61;;4104:228;;;;4407:78;4422:6;4437:5;4454:8;4474;4407:4;:78::i;:::-;4389:96;;-1:-1:-1;4389:96:61;-1:-1:-1;4560:9:61;4555:226;4575:5;:12;4571:1;:16;4555:226;;;4602:9;4624:5;4630:1;4624:8;;;;;;;;:::i;:::-;;;;;;;4602:31;;4645:33;586:6:103;4645:4:61;:14;;;;;:33;;;;:::i;:::-;4641:134;;;4690:76;;;;;3536:35:4;;;;;4690:48:61;;:76;;4739:6;;4747:8;;4757;;4690:76;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4641:134;-1:-1:-1;4589:3:61;;4555:226;;;;3951:834;3782:1003;;;;;;;:::o;348:217:102:-;551:6;545:13;538:4;530:6;526:17;519:40;9326:179:75;9423:12;9467:8;9477:22;9450:50;;;;;;;;19937:19:214;;;-1:-1:-1;;;;;;19986:79:214;19981:2;19972:12;;19965:101;20091:2;20082:12;;19751:349;9450:50:75;;;;;;;;;;;;;9443:57;;9326:179;;;;:::o;12891:3164:24:-;-1:-1:-1;;;13164:7:24;-1:-1:-1;;;;;;13164:44:24;;13160:211;;13291:7;13262:88;13300:8;13310:10;13322:14;13338:11;13262:88;;;;;;;;;:::i;:::-;;;;;;;;13358:7;;13160:211;13509:22;13534:24;13550:7;13534:15;:24::i;:::-;13509:49;;13569:9;13564:340;13584:5;:12;13580:1;:16;13564:340;;;13611:9;13633:5;13639:1;13633:8;;;;;;;;:::i;:::-;;;;;;;13611:31;;13654:33;409:6:36;13654:4:24;:14;;;;;:33;;;;:::i;:::-;13650:248;;;13699:190;;;;;3536:35:4;;;;;13699:47:24;;:190;;13758:7;;13777:8;;13797:10;;13819:14;;13845:11;;13868;;13699:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13650:248;-1:-1:-1;13598:3:24;;13564:340;;;;13981:7;13952:88;13990:8;14000:10;14012:14;14028:11;13952:88;;;;;;;;;:::i;:::-;;;;;;;;14104:26;14133:59;14174:7;14183:8;14133:40;:59::i;:::-;14104:88;-1:-1:-1;14198:21:24;894:4:18;884:15;;14198:54:24;;14258:149;14296:18;14330:1;14347:10;:17;14387:13;14258;:149::i;:::-;14507:1;14474:30;:11;:28;:30::i;:::-;:34;14470:1174;;;14593:33;14629:66;14677:7;14686:8;14629:47;:66::i;:::-;695:28:23;;;14593:102:24;-1:-1:-1;894:4:18;884:15;;14869:47:24;;15025:27;15060:25;15098:7;15093:545;15111:30;:11;:28;:30::i;:::-;15107:1;:34;;;15093:545;;;15177:63;15219:7;15228:8;15238:1;15177:41;:63::i;:::-;15155:85;-1:-1:-1;15270:25:24;:14;15293:1;7012:16:19;;1055;7012;967;7001:27;6961:68;6939:92;;;6824:218;15270:25:24;15250:45;;15305:170;15347:19;15386:1;15407:17;15451:13;15305;:170::i;:::-;15485:34;15502:17;15485:34;;:::i;:::-;;-1:-1:-1;15616:3:24;;15093:545;;;;14510:1134;;;14470:1174;15718:9;15713:338;15733:5;:12;15729:1;:16;15713:338;;;15760:9;15782:5;15788:1;15782:8;;;;;;;;:::i;:::-;;;;;;;15760:31;;15803:32;503:6:36;15803:4:24;:14;;;;;:32;;;;:::i;:::-;15799:246;;;15847:189;;;;;3536:35:4;;;;;15847:46:24;;:189;;15905:7;;15924:8;;15944:10;;15966:14;;15992:11;;16015;;15847:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15799:246;-1:-1:-1;15747:3:24;;15713:338;;5278:304:76;5357:29;5517:54;5545:17;5539:31;967:16:19;2053:39;;;2035:58;;1896:263;5747:155:76;5826:12;5877:17;5853:44;;;;;;;;:::i;:::-;;;;;;;;;;;;;5846:51;;5747:155;;;:::o;25973:1804:24:-;-1:-1:-1;;;26140:7:24;-1:-1:-1;;;;;;26140:44:24;;26136:173;;26270:7;26238:50;26279:8;26238:50;;;;;;:::i;:::-;;;;;;;;25973:1804;;;:::o;26136:173::-;26450:22;26475:24;26491:7;26475:15;:24::i;:::-;26450:49;;26510:9;26505:235;26525:5;:12;26521:1;:16;26505:235;;;26552:9;26574:5;26580:1;26574:8;;;;;;;;:::i;:::-;;;;;;;26552:31;;26595:36;1049:6:36;26595:4:24;:14;;;;;:36;;;;:::i;:::-;26591:143;;;26643:82;;;;;3536:35:4;;;;;26643:50:24;;:82;;26694:7;;26703:8;;26713:11;;26643:82;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26591:143;-1:-1:-1;26539:3:24;;26505:235;;;;26820:7;26788:50;26829:8;26788:50;;;;;;:::i;:::-;;;;;;;;26871:26;26900:59;26941:7;26950:8;26900:40;:59::i;:::-;26871:88;;26965:113;26997:18;27025:1;27044:30;:11;:28;:30::i;:::-;27034:41;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;27034:41:24;;26965:13;:113::i;:::-;27297:1;27264:30;:11;:28;:30::i;:::-;:34;27260:236;;;27308:33;27344:66;27392:7;27401:8;27344:47;:66::i;:::-;27308:102;;27418:71;27449:25;27484:2;27418:12;:71::i;:::-;27300:196;27260:236;27545:9;27540:233;27560:5;:12;27556:1;:16;27540:233;;;27587:9;27609:5;27615:1;27609:8;;;;;;;;:::i;:::-;;;;;;;27587:31;;27630:35;1149:6:36;27630:4:24;:14;;;;;:35;;;;:::i;:::-;27626:141;;;27677:81;;;;;3536:35:4;;;;;27677:49:24;;:81;;27727:7;;27736:8;;27746:11;;27677:81;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27626:141;-1:-1:-1;27574:3:24;;27540:233;;8739:150:84;8846:38;;8819:12;23342:15:214;;;-1:-1:-1;;23338:88:214;8846:38:84;;;23326:101:214;23473:14;;23466:22;23461:3;23457:32;23443:12;;;23436:54;8819:12:84;23506::214;;8846:38:84;23175:349:214;9655:254:32;9752:16;;;9766:1;9752:16;;;;;;;;;9723:26;;9752:16;;;;;;;;;;;-1:-1:-1;9752:16:32;9723:45;;9807:7;9774:9;9784:1;9774:12;;;;;;;;:::i;:::-;;;;;;:41;;;;;9822:82;968:66;952:83;;9861:9;9872:1;9893:8;9875:28;;;;;;;-1:-1:-1;;18824:79:214;;;;18812:92;;18929:2;18920:12;;18683:255;9875:28:32;;;;;;;;;;;;;9822;:82::i;5594:317:64:-;5733:12;5747:17;5790:6;-1:-1:-1;;;;;5790:11:64;5810:1;5821:79;5847:8;5868:9;5889:8;5821:13;:79::i;:::-;5790:116;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5772:134:64;;;;-1:-1:-1;5594:317:64;-1:-1:-1;;;;;5594:317:64:o;3524:369:30:-;3664:16;;;3678:1;3664:16;;;;;;;;;3605:22;;3635:26;;3664:16;;;;;;;;;;;;-1:-1:-1;3664:16:30;3635:45;;3719:10;3686:9;3696:1;3686:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;3737:18;3758:49;3784:8;3794:9;3805:1;3758:25;:49::i;:::-;3737:70;;3821:66;:44;3842:5;3849:1;3852:5;:12;3821:20;:44::i;:::-;:64;:66::i;4911:282::-;5037:16;;;5051:1;5037:16;;;;;;;;;5008:26;;5037:16;;;;;;;;;;;-1:-1:-1;5037:16:30;5008:45;;5092:10;5059:9;5069:1;5059:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;5110:78;5136:8;5146:9;5157:1;5160:27;5180:5;5160:18;:27::i;:::-;5110:25;:78::i;13842:301:28:-;13926:21;13950:17;:15;:17::i;:::-;13926:41;-1:-1:-1;14002:4:28;-1:-1:-1;;;;;13977:30:28;;;13973:166;;14017:41;14040:7;14049:8;14017:22;:41::i;13973:166::-;14079:53;;;;;-1:-1:-1;;;;;14079:34:28;;;;;:53;;14114:7;;14123:8;;14079:53;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12340:451;12500:21;12524:17;:15;:17::i;:::-;12500:41;-1:-1:-1;12576:4:28;-1:-1:-1;;;;;12551:30:28;;;12547:240;;12591:78;12620:7;12629:8;12639:17;12658:10;12591:28;:78::i;:::-;12547:240;;;12690:90;;;;;-1:-1:-1;;;;;12690:40:28;;;;;:90;;12731:7;;12740:8;;12750:17;;12769:10;;12690:90;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12494:297;12340:451;;;;:::o;1832:227::-;1062:42;1921:22;1882:7;;-1:-1:-1;;;;;1921:22:28;;1949:106;;1997:10;1990:17;;;1832:227;:::o;1949:106::-;2035:13;1832:227;-1:-1:-1;1832:227:28:o;4597:171:3:-;4671:7;579:1:34;1355:13;1367:1;376:2;1355:13;:::i;:::-;1354:30;;;;:::i;:::-;4693:70:3;;;;;4597:171;-1:-1:-1;4597:171:3:o;24203:209:33:-;24354:53;;;;;;24777:19:214;;;24812:12;;;24805:28;;;24327:12:33;24849::214;;;24842:28;;;24327:12:33;24886::214;;24354:53:33;;;;;;;;;;;;;24347:60;;24203:209;;;;;:::o;24603:388::-;24911:32;;24945:34;;24729:29;;2643:5:19;;;967:16;2674:39;;;;2656:58;2755:23;2740:39;;;;2722:58;24889:91:33;2502:344:19;25156:234:33;25282:12;25333:18;25362:20;25309:76;;;;;;;;;:::i;51493:242:24:-;51589:7;;;51628:84;51648:10;51644:14;;:1;:14;51628:84;;;51673:32;4274:93:3;4322:19;:27;;;579:1:34;4321:44:3;4287:79;;;4274:93;51673:32:24;;:::i;:::-;;-1:-1:-1;51660:3:24;;51628:84;;;-1:-1:-1;51724:6:24;51493:242;-1:-1:-1;;;51493:242:24:o;16691:1682::-;-1:-1:-1;;;16870:7:24;-1:-1:-1;;;;;;16870:44:24;;16866:235;;17024:7;16977:103;17043:8;17060:5;17073:4;16977:103;;;;;;;;:::i;:::-;;;;;;;;17088:7;;16866:235;17107:16;17126:59;17167:7;17176:8;17126:40;:59::i;:::-;17107:78;;17331:22;17356:24;17372:7;17356:15;:24::i;:::-;17331:49;;17391:9;17386:328;17406:5;:12;17402:1;:16;17386:328;;;17433:9;17455:5;17461:1;17455:8;;;;;;;;:::i;:::-;;;;;;;17433:31;;17476:41;614:6:36;17476:4:24;:14;;;;;:41;;;;:::i;:::-;17472:236;;;17529:170;;;;;3536:35:4;;;;;17529:54:24;;:170;;17605:7;;17634:8;;17661:5;;17684:4;;17529:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17472:236;-1:-1:-1;17420:3:24;;17386:328;;;;17818:7;17771:103;17837:8;17854:5;17867:4;17771:103;;;;;;;;:::i;:::-;;;;;;;;17924:70;17956:8;17974:5;17924:70;;17987:4;17924:13;:70::i;:::-;18048:9;18043:326;18063:5;:12;18059:1;:16;18043:326;;;18090:9;18112:5;18118:1;18112:8;;;;;;;;:::i;:::-;;;;;;;18090:31;;18133:40;723:6:36;18133:4:24;:14;;;;;:40;;;;:::i;:::-;18129:234;;;18185:169;;;;;3536:35:4;;;;;18185:53:24;;:169;;18260:7;;18289:8;;18316:5;;18339:4;;18185:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18129:234;-1:-1:-1;18077:3:24;;18043:326;;50476:191;50578:7;50642;50651:8;50625:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;50625:35:24;;;;;;;;;50615:46;;50625:35;50615:46;;;;42033:22;50608:53;;50476:191;-1:-1:-1;;;50476:191:24:o;8945:812:23:-;9043:14;9079:2;9069:6;:12;9065:112;;9138:2;9129:6;:11;9111:29;;;;9160:2;9150:12;;;;;;:::i;:::-;;;;9065:112;-1:-1:-1;9368:21:23;;9353:12;9341:25;;9337:53;9516:2;:11;;;9598:22;;;9594:159;;;9734:1;9718:14;9714:22;9708:29;9693:12;9678:13;9674:32;9670:68;9662:6;9659:80;9649:90;;9059:698;8945:812;;;;;:::o;708:400:49:-;772:4;961:68;994:7;1003:25;961:32;:68::i;:::-;:142;;;;-1:-1:-1;1040:63:49;1073:7;-1:-1:-1;;;;;;4132:576:49;4295:56;;-1:-1:-1;;;;;;5197:79:214;;4295:56:49;;;5179:98:214;4234:4:49;;;;5152:18:214;;4295:56:49;;;-1:-1:-1;;4295:56:49;;;;;;;;;;;;;;;;;;;;;4533:20;;4295:56;;-1:-1:-1;;;;;;;4295:56:49;;-1:-1:-1;;4498:7:49;4491:5;4480:86;4469:97;;4587:16;4573:30;;4631:4;4625:11;4610:26;;4655:7;:29;;;;;4680:4;4666:10;:18;;4655:29;:48;;;;;4702:1;4688:11;:15;4655:48;4648:55;4132:576;-1:-1:-1;;;;;;;4132:576:49:o;3854:344:82:-;3971:16;;;3985:1;3971:16;;;;;;;;;3912:22;;3942:26;;3971:16;;;;;;;;;;;;-1:-1:-1;3971:16:82;3942:45;;4026:8;3993:9;4003:1;3993:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;4042:18;4063:49;1160:66;4099:9;4042:18;4063:25;:49::i;:::-;4042:70;;4126:66;:44;4147:5;4154:1;4157:5;:12;4126:20;:44::i;3035:136:4:-;3105:4;3157:9;3124:42;;3143:9;3125:15;3135:4;3934:26;;;3804:162;3125:15;:27;3124:42;;;3117:49;;3035:136;;;;:::o;1761:1386:61:-;1888:12;1902:17;1956:21;1979:17;2000:22;2013:8;2000:12;:22::i;:::-;1955:67;;-1:-1:-1;1955:67:61;-1:-1:-1;;;;;;2067:27:61;;2063:106;;2139:8;2149:19;:8;:17;:19::i;2063:106::-;2275:12;2270:64;;2289:45;2317:8;2327:6;2289:27;:45::i;:::-;2413:9;;2409:197;;-1:-1:-1;;;2955:46:65;;-1:-1:-1;;;2954:74:65;2432:22:61;2515:26;2954:74:65;2515:13:61;:26::i;:::-;2490:51;-1:-1:-1;2549:50:61;2563:11;2576:22;2593:5;2490:51;2576:22;:::i;:::-;2549:13;:50::i;:::-;2424:182;;2409:197;2708:14;2681:23;:8;451:5:20;2637:44:65;;2539:148;2681:23:61;-1:-1:-1;;2681:41:61;;:461;;2982:160;3043:6;3069:5;3092:13;3125:8;2982:39;:160::i;:::-;2681:461;;;2805:168;2874:6;2900:5;2923:13;2956:8;2805:47;:168::i;:::-;2663:479;;;;-1:-1:-1;1761:1386:61;-1:-1:-1;;;;;;;1761:1386:61:o;3655:342:32:-;3771:16;;;3785:1;3771:16;;;;;;;;;3712:22;;3742:26;;3771:16;;;;;;;;;;;;-1:-1:-1;3771:16:32;3742:45;;3826:7;3793:9;3803:1;3793:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;3841:18;3862:49;968:66;3898:9;3841:18;3862:25;:49::i;1489:2340:23:-;1602:10;;1598:1504;;1755:2;1745:6;:12;1741:122;;1818:2;1809:6;:11;1791:29;;;;1842:2;1832:12;;;;;;:::i;:::-;;;;1741:122;1953:10;;1949:1147;;2161:2;:11;;;2035:21;-1:-1:-1;;579:1:34;804:25:35;;782:48;2208:18:23;2193:33;;2395:12;2387:6;2383:25;2442:4;2431:9;2427:20;2419:28;;2497:13;2491:20;2480:9;2476:36;2458:54;;2745:4;2741:9;2724:14;2718:21;2714:37;2645:4;2633:10;2629:21;2572:193;2544:14;2524:253;;2836:13;2826:6;:23;2822:36;;2851:7;;;;2822:36;-1:-1:-1;2999:1:23;2981:19;;;;;3054:23;;;;;3012:30;1949:1147;3132:253;3149:2;3139:6;:12;3132:253;;3244:20;;3221:44;;3318:1;3300:19;;;;-1:-1:-1;;3358:12:23;;;;3346:2;3329:19;3132:253;;;3453:10;;3449:376;;3473:12;-1:-1:-1;;579:1:34;804:25:35;;782:48;3761:21:23;;3672:20;;3694:9;;3668:36;3757:32;;3617:184;3573:238;;-1:-1:-1;1489:2340:23;;;;:::o;53041:230:24:-;53162:7;53246;53255:8;53229:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;53229:35:24;;;;;;;;;53219:46;;53229:35;53219:46;;;;42196:40;53192:73;;53041:230;-1:-1:-1;;;53041:230:24:o;52412:274::-;52556:7;52661;52670:8;52644:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;52634:46;;;;;;52613:17;52606:25;;52586:45;;;42105:34;52586:45;:94;52578:103;;52571:110;;52412:274;;;;;:::o;966:162:23:-;1055:68;1061:14;1077:6;1085:4;:11;1098:24;1117:4;894::18;884:15;;758:151;1098:24:23;1055:5;:68::i;4032:370::-;4154:13;4203:2;4188:11;:6;4197:2;4188:11;:::i;:::-;4187:18;;;;:::i;:::-;4170:35;;:14;:35;:::i;:::-;4154:51;;4211:187;4235:5;4218:14;:22;4211:187;;;4333:1;4317:14;4310:25;4382:1;4366:14;4362:22;4344:40;;4211:187;;28441:790:24;28700:36;28739:66;28787:7;28796:8;28739:47;:66::i;:::-;28700:105;-1:-1:-1;28811:26:24;28847:49;28700:105;28878:17;7012:16:19;;1055;7012;967;7001:27;6961:68;6939:92;;;6824:218;28847:49:24;28811:86;;28935:291;28989:7;29014:8;29049:17;29099:19;29140:1;29155:10;29197:22;28935:36;:291::i;4897:201:64:-;5019:12;5063:8;5073:9;5084:8;5046:47;;;;;;;;;;:::i;36853:522:24:-;36989:12;37113:257;37152:79;37194:7;37203:8;37213:17;37152:41;:79::i;:::-;37249:1;37268:93;37343:17;37268:66;37316:7;37325:8;37268:47;:66::i;:::-;:74;7012:16:19;;1055;7012;967;7001:27;6961:68;6939:92;;;6824:218;37268:93:24;37113:12;:257::i;2003:574:22:-;2094:5;2189:3;2181:5;:11;:32;;;;2202:4;:11;2196:3;:17;2181:32;2177:93;;;2253:4;2259:5;2266:3;2222:48;;;;;;;;;;;;;:::i;2177:93::-;2336:4;2326:15;;2383:16;2394:5;2326:15;2383:16;:::i;:::-;;-1:-1:-1;2405:12:22;2420:11;2426:5;2420:3;:11;:::i;:::-;692:17;2555:15;2547:3;2536:14;;;;2535:36;;;;;;-1:-1:-1;;;;;2003:574:22:o;40103:220:38:-;40169:24;40201:30;40234:32;40252:6;40260:2;40264:1;40234:17;:32::i;39802:222:39:-;39866:12;39956:6;39980:39;39956:6;40013:2;40017:1;39980:17;:39::i;23830:737:24:-;24081:36;24120:66;24168:7;24177:8;24120:47;:66::i;:::-;24081:105;-1:-1:-1;24192:26:24;24228:49;24081:105;24259:17;7012:16:19;;1055;7012;967;7001:27;6961:68;6939:92;;;6824:218;24228:49:24;24192:86;;24285:277;24339:7;24364:8;24399:17;24442:1;24464:19;24497:4;24533:22;24285:36;:277::i;25229:145::-;25313:56;25326:7;25335:8;25345:23;25360:7;25345:14;:23::i;:::-;25313:12;:56::i;5924:432:84:-;6052:16;;;6066:1;6052:16;;;;;;;;;5982:14;;;;;;6052:16;;;;;;;;;;;-1:-1:-1;6052:16:84;6023:45;;6107:8;6074:9;6084:1;6074:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;6124:24;;;6210:78;1152:66;6253:9;1281:66;6210:19;:78::i;:::-;-1:-1:-1;;2756:4:2;2742:27;;2736:34;2742:27;;;;2736:34;7557:35:84;;;;;;7624:33;;;;;;-1:-1:-1;5924:432:84;-1:-1:-1;;;;;;5924:432:84:o;1546:281:46:-;1708:29;1718:10;1730:6;1708:9;:29::i;:::-;1703:120;;1786:21;:10;:19;:21::i;3755:308:74:-;3868:16;;;3882:1;3868:16;;;;;;;;;3816:15;;;;3868:16;;;;;;;;;;;;-1:-1:-1;3868:16:74;3839:45;;3923:11;3890:9;3900:1;3890:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3942:13;3958:62;1154:66;3993:9;3942:13;-1:-1:-1;;;3958:24:74;:62::i;5054:269::-;5153:16;;;5167:1;5153:16;;;;;;;;;5124:26;;5153:16;;;;;;;;;;;-1:-1:-1;5153:16:74;5124:45;;5208:11;5175:9;5185:1;5175:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5227:91;1154:66;1138:83;;5262:9;5273:1;5294:7;5276:27;;;;;;15444:19:214;;15488:2;15479:12;;15284:213;6415:321:64;6562:12;6576:17;6619:6;-1:-1:-1;;;;;6619:19:64;6646:79;6672:8;6693:9;6714:8;6646:13;:79::i;:::-;6619:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;53609:301:24;53730:13;53822:82;53853:48;53883:7;53892:8;53853:29;:48::i;:::-;4711:21:23;;4605:137;43926:3999:24;-1:-1:-1;;;44323:7:24;-1:-1:-1;;;;;;44323:35:24;;44319:161;;-1:-1:-1;;;44430:7:24;44463;44446:25;;;;;;15444:19:214;;15488:2;15479:12;;15284:213;44319:161:24;44486:27;44516:49;:22;44547:17;7012:16:19;;1055;7012;967;7001:27;6961:68;6939:92;;;6824:218;44516:49:24;44486:79;;44571:26;44636:4;:11;44622;44600:33;;:19;:33;;;;:::i;:::-;:47;;;;:::i;:::-;44571:76;;44919:18;44896:19;:41;;:98;;;;-1:-1:-1;44975:19:24;44941:30;44960:11;44941:16;:30;:::i;:::-;:53;;;;44896:98;44892:218;;;45011:92;;;;;29128:12:214;29167:15;;;45011:92:24;;;29149:34:214;29219:15;;;29199:18;;;29192:43;29271:15;;29251:18;;;29244:43;29091:18;;45011:92:24;28922:371:214;44892:218:24;45216:19;45197:16;:38;;;45193:140;;;45252:74;;;;;;;;29471:25:214;;;29544:12;29532:25;;29512:18;;;29505:53;29444:18;;45252:74:24;29298:266:214;45193:140:24;45372:35;45410:72;:22;45444:17;45463:18;45410:33;:72::i;:::-;45372:110;;45629:22;45654:24;45670:7;45654:15;:24::i;:::-;45629:49;;45689:9;45684:486;45704:5;:12;45700:1;:16;45684:486;;;45731:9;45753:5;45759:1;45753:8;;;;;;;;:::i;:::-;;;;;;;45731:31;;45774:42;836:6:36;45774:4:24;:14;;;;;:42;;;;:::i;:::-;45770:394;;;3536:35:4;;;;-1:-1:-1;;;;;45828:55:24;;45905:7;45934:8;45973:17;46020:16;46061:11;46100:22;46140:4;45828:327;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;45770:394;-1:-1:-1;45718:3:24;;45684:486;;;-1:-1:-1;46228:32:24;;;:13;46368:107;46386:17;46382:21;;:1;:21;;;46368:107;;;46431:33;:22;46462:1;7012:16:19;;1055;7012;967;7001:27;6961:68;6939:92;;;6824:218;46431:33:24;46422:42;;;;46405:3;;46368:107;;;;46600:7;46544:277;46627:8;46664:17;46705:5;46734:11;46771:21;46808:4;46544:277;;;;;;;;;;;:::i;:::-;;;;;;;;46176:652;46913:18;46890:19;:41;46886:248;;46941:31;46975:48;47005:7;47014:8;46975:29;:48::i;:::-;695:28:23;;;-1:-1:-1;46886:248:24;47191:27;47221:61;47245:7;47254:8;47264:17;47221:23;:61::i;:::-;47191:91;;47290:92;47322:19;47351:16;47290:92;;47375:4;47290:13;:92::i;:::-;47183:206;47443:9;47438:483;47458:5;:12;47454:1;:16;47438:483;;;47485:9;47507:5;47513:1;47507:8;;;;;;;;:::i;:::-;;;;;;;47485:31;;47528:41;947:6:36;47528:4:24;:14;;;;;:41;;;;:::i;:::-;47524:391;;;3536:35:4;;;;-1:-1:-1;;;;;47581:54:24;;47657:7;47686:8;47725:17;47772:16;47813:11;47852:21;47891:4;47581:325;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;47524:391;-1:-1:-1;47472:3:24;;47438:483;;;;44169:3756;;;;43926:3999;;;;;;;:::o;5042:669:23:-;5458:4;5452:11;5499:4;5487:17;;-1:-1:-1;;5373:16:23;5546:26;;;5373:16;5369:32;5518:4;5511:63;5618:6;5610;5603:22;5636:51;5641:14;5657:6;5665;5673:13;5636:4;:51::i;2681:1129:40:-;2801:22;2831:21;2855;:11;2997:3:22;2975:25;;2901:104;2855:21:40;2831:45;-1:-1:-1;692:17:22;3238:38;;2882:20:40;3044:11;3238:38:22;3044:11:40;3029:26;;;;:::i;:::-;;3015:40;;3164:4;3158:11;3149:20;;3207:4;3200:5;3196:16;3267:4;3254:11;3250:22;3236:12;3232:41;3226:4;3219:55;3317:11;3310:5;3303:26;3360:1;3337:463;3376:11;3373:1;3370:18;3337:463;;;3770:20;;3749:42;;3728:64;;3642:31;;;;3555:4;3537:23;;;;3463:1;3456:9;3337:463;;;3341:28;;3116:690;;;2681:1129;;;;;:::o;830:1343::-;1002:12;;955:17;;980:19;1043:26;1058:11;1002:12;1043:26;:::i;:::-;1020:49;;1441:4;1435:11;;-1:-1:-1;1484:4:40;1474:15;;-1:-1:-1;;5373:16:23;1531:32:40;;;5373:16:23;5369:32;1503:4:40;1496:69;1607:12;1601:4;1594:26;1651:1;1721:4;1714:5;1710:16;1628:535;1741:11;1738:1;1735:18;1628:535;;;2134:19;;2113:41;;2091:64;;2007:31;;;;1828:1;1821:9;;;;;1920:4;1902:23;1628:535;;3998:652:24;4065:11;4301:64;;;4297:111;;-1:-1:-1;1339:66:33;;3998:652:24;-1:-1:-1;3998:652:24:o;4297:111::-;4452:185;4498:85;1210:66:33;4574:7:24;4498:40;:85::i;:::-;4603:2;4625:1;4452:17;:185::i;32433:1314::-;32563:23;32588:28;32618:24;32684:20;32707:30;:11;:28;:30::i;:::-;32684:53;;32798:65;32831:7;32840:8;32850:12;32798:32;:65::i;:::-;32785:78;;32927:24;32954:30;:11;:28;:30::i;:::-;32927:57;-1:-1:-1;32994:20:24;;32990:753;;33087:66;33135:7;33144:8;33087:47;:66::i;:::-;33070:83;-1:-1:-1;6395:59:19;;;33205:33:24;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;33205:33:24;-1:-1:-1;33191:47:24;-1:-1:-1;894:4:18;884:15;;33246:21:24;33310:427;33328:16;33324:1;:20;;;33310:427;;;33361:27;33391:63;33433:7;33442:8;33452:1;33391:41;:63::i;:::-;33361:93;-1:-1:-1;33464:14:24;33481:25;:14;33504:1;7012:16:19;;1055;7012;967;7001:27;6961:68;6939:92;;;6824:218;33481:25:24;33464:42;;33516:110;33547:19;33576:1;33587:6;33610:13;33516:12;:110::i;:::-;33705:23;33722:6;33705:23;;:::i;:::-;;;33351:386;;33346:3;;;;;:::i;:::-;;;;33310:427;;;;33016:727;32990:753;32644:1103;;32433:1314;;;;;;;:::o;955:327:46:-;1036:4;1178:56;-1:-1:-1;;;;;;2955:46:65;;2954:74;1227:6:46;1178:19;:56::i;:::-;:99;;;;1238:39;1258:10;1270:6;1238:19;:39::i;7408:1509:19:-;7534:13;1137:16;7559:25;;7555:118;;;7601:65;;;;;;;;5982:25:214;;;5955:18;;7601:65:19;5836:177:214;7555:118:19;7735:13;6395:59;;;7012:16;;;1055;7012;967;7001:27;6961:68;;;6939:92;;7998:38;;;7994:192;;8081:19;8063:15;:37;8048:52;;;;7994:192;;;8162:15;8140:19;:37;8125:52;;;;7994:192;-1:-1:-1;8502:16:19;967;1055;8369;;;;8358:27;8494:35;;;8808:5;8647:26;8628:45;;;;8627:61;;;8789:24;;;;8818:34;;;;;8788:65;;-1:-1:-1;7408:1509:19;;;;;:::o;6076:2380:23:-;6193:10;;6189:1542;;6346:2;6336:6;:12;6332:122;;6409:2;6400:6;:11;6382:29;;;;6433:2;6423:12;;;;;;:::i;:::-;;;;6332:122;6544:10;;6540:1185;;6752:2;:11;;;6626:21;6810:22;;;6806:135;;;-1:-1:-1;;;579:1:34;804:25:35;;782:48;6806:135:23;;;-1:-1:-1;;;579:1:34;804:25:35;;782:48;6806:135:23;7135:14;7129:21;7114:12;7106:6;7102:25;7098:53;7375:4;7359:13;7353:20;7349:31;7285:4;7281:9;7269:10;7265:26;7210:184;7183:13;7163:243;;7465:13;7455:6;:23;7451:36;;7480:7;;;;7451:36;-1:-1:-1;7628:1:23;7610:19;;;;;7683:23;;;;;7641:30;6540:1185;7760:253;7777:2;7767:6;:12;7760:253;;7871:21;;7849:44;;7946:1;7928:19;;;;-1:-1:-1;;7986:12:23;;;;7974:2;7957:19;7760:253;;;8081:10;;8077:375;;8101:12;-1:-1:-1;;579:1:34;804:25:35;;782:48;8389:20:23;;8299:21;;8322:9;;8295:37;8385:31;;8244:184;8201:237;;-1:-1:-1;6076:2380:23;;;;:::o;50919:282:24:-;51164:30;;;;;;31633:19:214;;;31668:12;;;31661:28;;;51007:7:24;;31705:12:214;;51164:30:24;31445:278:214;48493:360:24;48619:12;48643:6;48653:1;48643:11;48639:26;;-1:-1:-1;48656:9:24;;;;;;;;;-1:-1:-1;48656:9:24;;;;48639:26;48706:16;48725:41;48748:7;48757:8;48725:22;:41::i;:::-;48706:60;;48779:69;48810:8;48828:1;48839:6;48779:12;:69::i;4003:378:81:-;4127:16;;;4141:1;4127:16;;;;;;;;4079:11;;;;4127:16;4141:1;4127:16;;;;;;;;;;-1:-1:-1;4127:16:81;4098:45;;4182:10;4149:9;4159:1;4149:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4238:6;-1:-1:-1;;;;;4222:24:81;4214:33;;4199:9;4209:1;4199:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;4254:13;4270:62;1166:66;4305:9;4254:13;-1:-1:-1;;;4270:24:81;:62::i;:::-;4254:78;;4346:29;4367:5;4354:20;;1650:10:20;1541:126;14:332:214;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;180:9;167:23;-1:-1:-1;;;;;;223:5:214;219:78;212:5;209:89;199:117;;312:1;309;302:12;543:166;-1:-1:-1;;;;;634:5:214;630:54;623:5;620:65;610:93;;699:1;696;689:12;714:377;832:6;840;893:2;881:9;872:7;868:23;864:32;861:52;;;909:1;906;899:12;861:52;945:9;932:23;922:33;;1005:2;994:9;990:18;977:32;1018:43;1055:5;1018:43;:::i;:::-;1080:5;1070:15;;;714:377;;;;;:::o;1096:375::-;1167:8;1177:6;1231:3;1224:4;1216:6;1212:17;1208:27;1198:55;;1249:1;1246;1239:12;1198:55;-1:-1:-1;1272:20:214;;1315:18;1304:30;;1301:50;;;1347:1;1344;1337:12;1301:50;1384:4;1376:6;1372:17;1360:29;;1444:3;1437:4;1427:6;1424:1;1420:14;1412:6;1408:27;1404:38;1401:47;1398:67;;;1461:1;1458;1451:12;1398:67;1096:375;;;;;:::o;1476:1205::-;1775:6;1783;1791;1799;1807;1815;1823;1831;1884:3;1872:9;1863:7;1859:23;1855:33;1852:53;;;1901:1;1898;1891:12;1852:53;1937:9;1924:23;1914:33;;1994:2;1983:9;1979:18;1966:32;1956:42;;2045:2;2034:9;2030:18;2017:32;2007:42;;2096:2;2085:9;2081:18;2068:32;2058:42;;2151:3;2140:9;2136:19;2123:33;2175:18;2216:2;2208:6;2205:14;2202:34;;;2232:1;2229;2222:12;2202:34;2271:78;2341:7;2332:6;2321:9;2317:22;2271:78;:::i;:::-;2368:8;;-1:-1:-1;2245:104:214;-1:-1:-1;2456:3:214;2441:19;;2428:33;;-1:-1:-1;2473:16:214;;;2470:36;;;2502:1;2499;2492:12;2470:36;;2541:80;2613:7;2602:8;2591:9;2587:24;2541:80;:::i;:::-;1476:1205;;;;-1:-1:-1;1476:1205:214;;-1:-1:-1;1476:1205:214;;;;;;2640:8;-1:-1:-1;;;1476:1205:214:o;2917:184::-;-1:-1:-1;;;2966:1:214;2959:88;3066:4;3063:1;3056:15;3090:4;3087:1;3080:15;3106:334;3177:2;3171:9;3233:2;3223:13;;-1:-1:-1;;3219:86:214;3207:99;;3336:18;3321:34;;3357:22;;;3318:62;3315:88;;;3383:18;;:::i;:::-;3419:2;3412:22;3106:334;;-1:-1:-1;3106:334:214:o;3445:589::-;3487:5;3540:3;3533:4;3525:6;3521:17;3517:27;3507:55;;3558:1;3555;3548:12;3507:55;3594:6;3581:20;3620:18;3616:2;3613:26;3610:52;;;3642:18;;:::i;:::-;3686:114;3794:4;-1:-1:-1;;3718:4:214;3714:2;3710:13;3706:86;3702:97;3686:114;:::i;:::-;3825:2;3816:7;3809:19;3871:3;3864:4;3859:2;3851:6;3847:15;3843:26;3840:35;3837:55;;;3888:1;3885;3878:12;3837:55;3953:2;3946:4;3938:6;3934:17;3927:4;3918:7;3914:18;3901:55;4001:1;3976:16;;;3994:4;3972:27;3965:38;;;;3980:7;3445:589;-1:-1:-1;;;3445:589:214:o;4039:566::-;4156:6;4164;4172;4225:2;4213:9;4204:7;4200:23;4196:32;4193:52;;;4241:1;4238;4231:12;4193:52;4280:9;4267:23;4299:43;4336:5;4299:43;:::i;:::-;4361:5;-1:-1:-1;4413:2:214;4398:18;;4385:32;;-1:-1:-1;4468:2:214;4453:18;;4440:32;4495:18;4484:30;;4481:50;;;4527:1;4524;4517:12;4481:50;4550:49;4591:7;4582:6;4571:9;4567:22;4550:49;:::i;:::-;4540:59;;;4039:566;;;;;:::o;4610:420::-;4719:6;4727;4780:2;4768:9;4759:7;4755:23;4751:32;4748:52;;;4796:1;4793;4786:12;4748:52;4832:9;4819:23;4809:33;;4893:2;4882:9;4878:18;4865:32;4920:18;4912:6;4909:30;4906:50;;;4952:1;4949;4942:12;4906:50;4975:49;5016:7;5007:6;4996:9;4992:22;4975:49;:::i;:::-;4965:59;;;4610:420;;;;;:::o;5288:543::-;5409:6;5417;5425;5478:2;5466:9;5457:7;5453:23;5449:32;5446:52;;;5494:1;5491;5484:12;5446:52;5530:9;5517:23;5507:33;;5590:2;5579:9;5575:18;5562:32;5603:43;5640:5;5603:43;:::i;:::-;5665:5;-1:-1:-1;5722:2:214;5707:18;;5694:32;5764:15;;5757:23;5745:36;;5735:64;;5795:1;5792;5785:12;5735:64;5818:7;5808:17;;;5288:543;;;;;:::o;6018:156::-;6084:20;;6144:4;6133:16;;6123:27;;6113:55;;6164:1;6161;6154:12;6179:447;6304:6;6312;6320;6373:2;6361:9;6352:7;6348:23;6344:32;6341:52;;;6389:1;6386;6379:12;6341:52;6425:9;6412:23;6402:33;;6485:2;6474:9;6470:18;6457:32;6498:43;6535:5;6498:43;:::i;:::-;6560:5;-1:-1:-1;6584:36:214;6616:2;6601:18;;6584:36;:::i;:::-;6574:46;;6179:447;;;;;:::o;6631:640::-;6759:6;6767;6775;6828:2;6816:9;6807:7;6803:23;6799:32;6796:52;;;6844:1;6841;6834:12;6796:52;6880:9;6867:23;6857:33;;6941:2;6930:9;6926:18;6913:32;6964:18;7005:2;6997:6;6994:14;6991:34;;;7021:1;7018;7011:12;6991:34;7044:49;7085:7;7076:6;7065:9;7061:22;7044:49;:::i;:::-;7034:59;;7146:2;7135:9;7131:18;7118:32;7102:48;;7175:2;7165:8;7162:16;7159:36;;;7191:1;7188;7181:12;7159:36;;7214:51;7257:7;7246:8;7235:9;7231:24;7214:51;:::i;7276:484::-;7370:6;7378;7431:2;7419:9;7410:7;7406:23;7402:32;7399:52;;;7447:1;7444;7437:12;7399:52;7486:9;7473:23;7505:43;7542:5;7505:43;:::i;:::-;7567:5;-1:-1:-1;7623:2:214;7608:18;;7595:32;7650:18;7639:30;;7636:50;;;7682:1;7679;7672:12;8149:211;8239:6;8292:2;8280:9;8271:7;8267:23;8263:32;8260:52;;;8308:1;8305;8298:12;8260:52;-1:-1:-1;8331:23:214;;8149:211;-1:-1:-1;8149:211:214:o;8365:518::-;8513:6;8521;8529;8582:2;8570:9;8561:7;8557:23;8553:32;8550:52;;;8598:1;8595;8588:12;8550:52;8634:9;8621:23;8611:33;;8691:2;8680:9;8676:18;8663:32;8653:42;;8746:2;8735:9;8731:18;8718:32;8773:18;8765:6;8762:30;8759:50;;;8805:1;8802;8795:12;8888:259;8947:6;9000:2;8988:9;8979:7;8975:23;8971:32;8968:52;;;9016:1;9013;9006:12;8968:52;9055:9;9042:23;9074:43;9111:5;9074:43;:::i;9606:250::-;9691:1;9701:113;9715:6;9712:1;9709:13;9701:113;;;9791:11;;;9785:18;9772:11;;;9765:39;9737:2;9730:10;9701:113;;;-1:-1:-1;;9848:1:214;9830:16;;9823:27;9606:250::o;9861:330::-;9903:3;9941:5;9935:12;9968:6;9963:3;9956:19;9984:76;10053:6;10046:4;10041:3;10037:14;10030:4;10023:5;10019:16;9984:76;:::i;:::-;10105:2;10093:15;-1:-1:-1;;10089:88:214;10080:98;;;;10180:4;10076:109;;9861:330;-1:-1:-1;;9861:330:214:o;10196:322::-;10404:6;10393:9;10386:25;10447:2;10442;10431:9;10427:18;10420:30;10367:4;10467:45;10508:2;10497:9;10493:18;10485:6;10467:45;:::i;10523:940::-;10661:9;10695:18;10736:2;10728:6;10725:14;10722:40;;;10742:18;;:::i;:::-;10788:6;10785:1;10781:14;10814:4;10838:30;10862:4;10858:2;10854:13;10838:30;:::i;:::-;10902:19;;;10974:14;;;;10946:4;10937:14;;;11011;11000:26;;10997:46;;;11039:1;11036;11029:12;10997:46;11063:5;11077:353;11093:6;11088:3;11085:15;11077:353;;;11179:3;11166:17;11215:2;11202:11;11199:19;11196:109;;;11259:1;11288:2;11284;11277:14;11196:109;11330:57;11372:14;11358:11;11351:5;11347:23;11330:57;:::i;:::-;11318:70;;-1:-1:-1;11408:12:214;;;;11110;;11077:353;;;-1:-1:-1;11452:5:214;10523:940;-1:-1:-1;;;;;;;10523:940:214:o;11468:464::-;-1:-1:-1;;;;;;11706:6:214;11702:79;11691:9;11684:98;11818:6;11813:2;11802:9;11798:18;11791:34;11861:2;11856;11845:9;11841:18;11834:30;11665:4;11881:45;11922:2;11911:9;11907:18;11899:6;11881:45;:::i;11937:630::-;12206:3;12244:6;12238:13;12260:66;12319:6;12314:3;12307:4;12299:6;12295:17;12260:66;:::i;:::-;12387:4;12348:16;;;12373:19;;;12417:13;;12439:78;12417:13;12504:1;12493:13;;12486:4;12474:17;;12439:78;:::i;:::-;12537:20;12559:1;12533:28;;11937:630;-1:-1:-1;;;;11937:630:214:o;13105:357::-;13223:12;;13270:4;13259:16;;;13253:23;;13223:12;13288:16;;13285:171;;;-1:-1:-1;;13362:4:214;13358:17;;;;13355:1;13351:25;13347:98;13336:110;;13105:357;-1:-1:-1;13105:357:214:o;13467:218::-;13614:2;13603:9;13596:21;13577:4;13634:45;13675:2;13664:9;13660:18;13652:6;13634:45;:::i;13690:340::-;13867:2;13856:9;13849:21;13830:4;13887:45;13928:2;13917:9;13913:18;13905:6;13887:45;:::i;:::-;13879:53;;-1:-1:-1;;;;;13972:6:214;13968:55;13963:2;13952:9;13948:18;13941:83;13690:340;;;;;:::o;14035:184::-;-1:-1:-1;;;14084:1:214;14077:88;14184:4;14181:1;14174:15;14208:4;14205:1;14198:15;14224:125;14289:9;;;14310:10;;;14307:36;;;14323:18;;:::i;14354:925::-;-1:-1:-1;;;;;;14795:6:214;14791:79;14786:3;14779:92;14761:3;14890;14922:2;14918:1;14913:3;14909:11;14902:23;14954:6;14948:13;14970:74;15037:6;15033:1;15028:3;15024:11;15017:4;15009:6;15005:17;14970:74;:::i;:::-;15072:6;15067:3;15063:16;15053:26;;15107:2;15103:1;15099:2;15095:10;15088:22;15141:6;15135:13;15119:29;;15157:75;15223:8;15219:1;15215:2;15211:10;15204:4;15196:6;15192:17;15157:75;:::i;:::-;15252:17;15271:1;15248:25;;14354:925;-1:-1:-1;;;;;14354:925:214:o;15755:184::-;-1:-1:-1;;;15804:1:214;15797:88;15904:4;15901:1;15894:15;15928:4;15925:1;15918:15;15944:862;16106:4;16135:2;16175;16164:9;16160:18;16205:2;16194:9;16187:21;16228:6;16263;16257:13;16294:6;16286;16279:22;16332:2;16321:9;16317:18;16310:25;;16394:2;16384:6;16381:1;16377:14;16366:9;16362:30;16358:39;16344:53;;16432:2;16424:6;16420:15;16453:1;16463:314;16477:6;16474:1;16471:13;16463:314;;;16566:66;16554:9;16546:6;16542:22;16538:95;16533:3;16526:108;16657:40;16690:6;16681;16675:13;16657:40;:::i;:::-;16647:50;-1:-1:-1;16755:12:214;;;;16720:15;;;;16499:1;16492:9;16463:314;;;-1:-1:-1;16794:6:214;;15944:862;-1:-1:-1;;;;;;;15944:862:214:o;16811:184::-;-1:-1:-1;;;16860:1:214;16853:88;16960:4;16957:1;16950:15;16984:4;16981:1;16974:15;18026:128;18093:9;;;18114:11;;;18111:37;;;18128:18;;:::i;19133:168::-;19206:9;;;19237;;19254:15;;;19248:22;;19234:37;19224:71;;19275:18;;:::i;19306:440::-;-1:-1:-1;;;;;19544:6:214;19540:55;19529:9;19522:74;19632:6;19627:2;19616:9;19612:18;19605:34;19675:2;19670;19659:9;19655:18;19648:30;19503:4;19695:45;19736:2;19725:9;19721:18;19713:6;19695:45;:::i;20105:439::-;20158:3;20196:5;20190:12;20223:6;20218:3;20211:19;20249:4;20278;20273:3;20269:14;20262:21;;20317:4;20310:5;20306:16;20340:1;20350:169;20364:6;20361:1;20358:13;20350:169;;;20425:13;;20413:26;;20459:12;;;;20494:15;;;;20386:1;20379:9;20350:169;;;-1:-1:-1;20535:3:214;;20105:439;-1:-1:-1;;;;;20105:439:214:o;20549:690::-;20882:3;20871:9;20864:22;20845:4;20909:57;20961:3;20950:9;20946:19;20938:6;20909:57;:::i;:::-;21014:9;21006:6;21002:22;20997:2;20986:9;20982:18;20975:50;21048:33;21074:6;21066;21048:33;:::i;:::-;21034:47;;21117:6;21112:2;21101:9;21097:18;21090:34;21172:9;21164:6;21160:22;21155:2;21144:9;21140:18;21133:50;21200:33;21226:6;21218;21200:33;:::i;21244:897::-;21696:6;21685:9;21678:25;21739:3;21734:2;21723:9;21719:18;21712:31;21659:4;21766:57;21818:3;21807:9;21803:19;21795:6;21766:57;:::i;:::-;21871:9;21863:6;21859:22;21854:2;21843:9;21839:18;21832:50;21905:33;21931:6;21923;21905:33;:::i;:::-;21891:47;;21974:6;21969:2;21958:9;21954:18;21947:34;22030:9;22022:6;22018:22;22012:3;22001:9;21997:19;21990:51;22058:33;22084:6;22076;22058:33;:::i;:::-;22050:41;;;22128:6;22122:3;22111:9;22107:19;22100:35;21244:897;;;;;;;;;:::o;22146:287::-;22275:3;22313:6;22307:13;22329:66;22388:6;22383:3;22376:4;22368:6;22364:17;22329:66;:::i;:::-;22411:16;;;;;22146:287;-1:-1:-1;;22146:287:214:o;22438:261::-;22617:2;22606:9;22599:21;22580:4;22637:56;22689:2;22678:9;22674:18;22666:6;22637:56;:::i;22704:466::-;23002:6;22991:9;22984:25;23045:2;23040;23029:9;23025:18;23018:30;22965:4;23065:56;23117:2;23106:9;23102:18;23094:6;23065:56;:::i;:::-;23057:64;;23157:6;23152:2;23141:9;23137:18;23130:34;22704:466;;;;;;:::o;23529:363::-;23767:6;23756:9;23749:25;23810:2;23805;23794:9;23790:18;23783:30;23730:4;23830:56;23882:2;23871:9;23867:18;23859:6;23830:56;:::i;23897:604::-;24205:6;24194:9;24187:25;24248:3;24243:2;24232:9;24228:18;24221:31;24168:4;24275:57;24327:3;24316:9;24312:19;24304:6;24275:57;:::i;:::-;24380:4;24372:6;24368:17;24363:2;24352:9;24348:18;24341:45;24434:9;24426:6;24422:22;24417:2;24406:9;24402:18;24395:50;24462:33;24488:6;24480;24462:33;:::i;24909:492::-;25084:3;25122:6;25116:13;25138:66;25197:6;25192:3;25185:4;25177:6;25173:17;25138:66;:::i;:::-;25267:13;;25226:16;;;;25289:70;25267:13;25226:16;25336:4;25324:17;;25289:70;:::i;:::-;25375:20;;24909:492;-1:-1:-1;;;;24909:492:214:o;25406:512::-;25657:2;25646:9;25639:21;25620:4;25683:56;25735:2;25724:9;25720:18;25712:6;25683:56;:::i;:::-;25787:14;25779:6;25775:27;25770:2;25759:9;25755:18;25748:55;25851:9;25843:6;25839:22;25834:2;25823:9;25819:18;25812:50;25879:33;25905:6;25897;25879:33;:::i;25923:616::-;26233:6;26222:9;26215:25;26276:3;26271:2;26260:9;26256:18;26249:31;26196:4;26303:57;26355:3;26344:9;26340:19;26332:6;26303:57;:::i;:::-;26408:14;26400:6;26396:27;26391:2;26380:9;26376:18;26369:55;26472:9;26464:6;26460:22;26455:2;26444:9;26440:18;26433:50;26500:33;26526:6;26518;26500:33;:::i;26544:639::-;26794:6;26789:3;26782:19;26764:3;26820:2;26853;26848:3;26844:12;26885:6;26879:13;26950:2;26942:6;26938:15;26971:1;26981:175;26995:6;26992:1;26989:13;26981:175;;;27058:13;;27044:28;;27094:14;;;;27131:15;;;;27017:1;27010:9;26981:175;;;-1:-1:-1;27172:5:214;;26544:639;-1:-1:-1;;;;;;;26544:639:214:o;27188:184::-;-1:-1:-1;;;27237:1:214;27230:88;27337:4;27334:1;27327:15;27361:4;27358:1;27351:15;27377:274;27417:1;27443;27433:189;;-1:-1:-1;;;27475:1:214;27468:88;27579:4;27576:1;27569:15;27607:4;27604:1;27597:15;27433:189;-1:-1:-1;27636:9:214;;27377:274::o;27656:530::-;27841:3;27879:6;27873:13;27895:66;27954:6;27949:3;27942:4;27934:6;27930:17;27895:66;:::i;:::-;28030:2;28026:15;;;;-1:-1:-1;;28022:88:214;27983:16;;;;28008:103;;;28138:2;28127:14;;28120:30;;;;28177:2;28166:14;;27656:530;-1:-1:-1;;27656:530:214:o;28191:360::-;28394:2;28383:9;28376:21;28357:4;28414:45;28455:2;28444:9;28440:18;28432:6;28414:45;:::i;:::-;28490:2;28475:18;;28468:34;;;;-1:-1:-1;28533:2:214;28518:18;28511:34;28406:53;28191:360;-1:-1:-1;28191:360:214:o;28743:174::-;28810:12;28842:10;;;28854;;;28838:27;;28877:11;;;28874:37;;;28891:18;;:::i;:::-;28874:37;28743:174;;;;:::o;29569:899::-;29991:6;29980:9;29973:25;30034:3;30029:2;30018:9;30014:18;30007:31;29954:4;30061:57;30113:3;30102:9;30098:19;30090:6;30061:57;:::i;:::-;30166:4;30154:17;;30149:2;30134:18;;30127:45;30191:12;30239:15;;;30234:2;30219:18;;30212:43;30292:15;;30286:3;30271:19;;30264:44;30339:3;30324:19;;30317:35;;;30389:22;;;30383:3;30368:19;;30361:51;30429:33;30393:6;30447;30429:33;:::i;:::-;30421:41;29569:899;-1:-1:-1;;;;;;;;;;29569:899:214:o;30473:787::-;30836:3;30825:9;30818:22;30799:4;30863:57;30915:3;30904:9;30900:19;30892:6;30863:57;:::i;:::-;30968:4;30960:6;30956:17;30951:2;30940:9;30936:18;30929:45;31022:14;31014:6;31010:27;31005:2;30994:9;30990:18;30983:55;31086:12;31078:6;31074:25;31069:2;31058:9;31054:18;31047:53;31137:6;31131:3;31120:9;31116:19;31109:35;31193:9;31185:6;31181:22;31175:3;31164:9;31160:19;31153:51;31221:33;31247:6;31239;31221:33;:::i;:::-;31213:41;30473:787;-1:-1:-1;;;;;;;;;30473:787:214:o;31265:175::-;31302:3;31346:4;31339:5;31335:16;31375:4;31366:7;31363:17;31360:43;;31383:18;;:::i;:::-;31432:1;31419:15;;31265:175;-1:-1:-1;;31265:175:214:o","linkReferences":{},"immutableReferences":{"35577":[{"start":3115,"length":32}]}},"methodIdentifiers":{"_msgSender()":"119df25f","_msgValue()":"45ec9354","_world()":"e1af802c","installModule(address,bytes)":"8da798da","registerDelegation(address,bytes32,bytes)":"1d2257ba","registerFunctionSelector(bytes32,string)":"26d98102","registerNamespace(bytes32)":"b29e4089","registerNamespaceDelegation(bytes32,bytes32,bytes)":"bfdfaff7","registerRootFunctionSelector(bytes32,string,string)":"6548a90a","registerStoreHook(bytes32,address,uint8)":"530f4b60","registerSystem(bytes32,address,bool)":"3350b6a9","registerSystemHook(bytes32,address,uint8)":"d5f8337f","registerTable(bytes32,bytes32,bytes32,bytes32,string[],string[])":"0ba51f49","supportsInterface(bytes4)":"01ffc9a7","unregisterDelegation(address)":"cdc938c5","unregisterNamespaceDelegation(bytes32)":"aa66e9c8","unregisterStoreHook(bytes32,address)":"05609129","unregisterSystemHook(bytes32,address)":"a92813ad"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"FieldLayout_Empty\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"staticDataLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"computedStaticDataLength\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthDoesNotFitInAWord\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsNotZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyDynamicFields\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyFields\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"PackedCounter_InvalidLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"Schema_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Schema_StaticTypeAfterDynamicType\",\"type\":\"error\"},{\"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\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidFieldNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidKeyNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaDynamicLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaStaticLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableNotFound\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"World_AccessDenied\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_CallbackNotAllowed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"World_DelegationNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"World_InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"World_InterfaceNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes14\",\"name\":\"namespace\",\"type\":\"bytes14\"}],\"name\":\"World_InvalidNamespace\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceId\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"system\",\"type\":\"address\"}],\"name\":\"World_SystemAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_UnlimitedDelegationNotAllowed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"Store_DeleteRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"PackedCounter\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"PackedCounter\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceStaticData\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"_msgSender\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_msgValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_world\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"registerNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"worldFunctionSignature\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerRootFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract System\",\"name\":\"system\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"publicAccess\",\"type\":\"bool\"}],\"name\":\"registerSystem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"},{\"internalType\":\"string[]\",\"name\":\"keyNames\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"fieldNames\",\"type\":\"string[]\"}],\"name\":\"registerTable\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"unregisterDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"unregisterNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"MUD (https://mud.dev) by Lattice (https://lattice.xyz)\",\"details\":\"Aggregates multiple system implementations for the World.\",\"errors\":{\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"computedStaticDataLength\":\"The computed static data length.\",\"staticDataLength\":\"The static data length of the field layout.\"}}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"PackedCounter_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the packed coutner.\"}}],\"Schema_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the schema.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"Store_TableNotFound(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"World_AccessDenied(string,address)\":[{\"params\":{\"caller\":\"The address of the user trying to access the resource.\",\"resource\":\"The resource's identifier.\"}}],\"World_CallbackNotAllowed(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector of the disallowed callback.\"}}],\"World_DelegationNotFound(address,address)\":[{\"params\":{\"delegatee\":\"The address of the delegatee.\",\"delegator\":\"The address of the delegator.\"}}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_InsufficientBalance(uint256,uint256)\":[{\"params\":{\"amount\":\"The amount needed.\",\"balance\":\"The current balance.\"}}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"params\":{\"contractAddress\":\"The address of the contract in question.\",\"interfaceId\":\"The ID of the interface.\"}}],\"World_InvalidNamespace(bytes14)\":[{\"params\":{\"namespace\":\"The invalid namespace.\"}}],\"World_InvalidResourceId(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceNotFound(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_SystemAlreadyExists(address)\":[{\"params\":{\"system\":\"The address of the system.\"}}]},\"events\":{\"Store_DeleteRecord(bytes32,bytes32[])\":{\"params\":{\"keyTuple\":\"An array representing the composite key for the record.\",\"tableId\":\"The ID of the table where the record is deleted.\"}},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"details\":\"In static data, data is always overwritten starting at the start position, so the total length of the data remains the same and no data is shifted.\",\"params\":{\"data\":\"The data to write to the static data of the record at the start byte.\",\"keyTuple\":\"An array representing the key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}}},\"kind\":\"dev\",\"methods\":{\"_msgSender()\":{\"returns\":{\"sender\":\"The `msg.sender` in the call to the World contract before the World routed the call to the WorldContextConsumer contract.\"}},\"_msgValue()\":{\"returns\":{\"value\":\"The `msg.value` in the call to the World contract before the World routed the call to the WorldContextConsumer contract.\"}},\"_world()\":{\"returns\":{\"_0\":\"The address of the World contract that routed the call to this WorldContextConsumer.\"}},\"installModule(address,bytes)\":{\"details\":\"Validates the given module against the IModule interface and delegates the installation process. The module is then registered in the InstalledModules table.\",\"params\":{\"encodedArgs\":\"The ABI encoded arguments for module installation.\",\"module\":\"The module to be installed.\"}},\"registerDelegation(address,bytes32,bytes)\":{\"details\":\"Creates a new delegation from the caller to the specified delegatee\",\"params\":{\"delegatee\":\"The address of the delegatee\",\"delegationControlId\":\"The ID controlling the delegation\",\"initCallData\":\"The initialization data for the delegation\"}},\"registerFunctionSelector(bytes32,string)\":{\"details\":\"Creates a mapping between a World function and its associated system function\",\"params\":{\"systemFunctionSignature\":\"The signature of the system function\",\"systemId\":\"The system ID\"},\"returns\":{\"worldFunctionSelector\":\"The selector of the World function\"}},\"registerNamespace(bytes32)\":{\"details\":\"Creates a new namespace resource with the given ID\",\"params\":{\"namespaceId\":\"The unique identifier for the new namespace\"}},\"registerNamespaceDelegation(bytes32,bytes32,bytes)\":{\"details\":\"Sets up a new delegation control for a specific namespace\",\"params\":{\"delegationControlId\":\"The ID controlling the delegation\",\"initCallData\":\"The initialization data for the delegation\",\"namespaceId\":\"The ID of the namespace\"}},\"registerRootFunctionSelector(bytes32,string,string)\":{\"details\":\"Creates a mapping for a root World function without namespace or name prefix\",\"params\":{\"systemFunctionSignature\":\"The signature of the system function\",\"systemId\":\"The system ID\",\"worldFunctionSignature\":\"The signature of the World function\"},\"returns\":{\"worldFunctionSelector\":\"The selector of the World function\"}},\"registerStoreHook(bytes32,address,uint8)\":{\"details\":\"The caller must be the owner of the namespace to which the table belongs. The hook must conform to the IStoreHook interface.\",\"params\":{\"enabledHooksBitmap\":\"A bitmap indicating which hook functionalities are enabled.\",\"hookAddress\":\"The address of the storage hook contract.\",\"tableId\":\"The resource ID of the table for which the hook is being registered.\"}},\"registerSystem(bytes32,address,bool)\":{\"details\":\"Registers or upgrades a system at the given ID If the namespace doesn't exist yet, it is registered. The system is granted access to its namespace, so it can write to any table in the same namespace. If publicAccess is true, no access control check is performed for calling the system. This function doesn't check whether a system already exists at the given selector, making it possible to upgrade systems.\",\"params\":{\"publicAccess\":\"Flag indicating if access control check is bypassed\",\"system\":\"The system being registered\",\"systemId\":\"The unique identifier for the system\"}},\"registerSystemHook(bytes32,address,uint8)\":{\"details\":\"Adds a new hook for the system at the provided system ID\",\"params\":{\"enabledHooksBitmap\":\"Bitmap indicating which hooks are enabled\",\"hookAddress\":\"The address of the hook being registered\",\"systemId\":\"The ID of the system\"}},\"registerTable(bytes32,bytes32,bytes32,bytes32,string[],string[])\":{\"details\":\"Registers a table with the specified configuration. If the namespace for the table does not exist, it's created. Existing namespaces require the caller to be the owner for table registration.\",\"params\":{\"fieldLayout\":\"The field layout structure for the table.\",\"fieldNames\":\"The names of the fields in the table.\",\"keyNames\":\"The names associated with the keys in the table.\",\"keySchema\":\"The schema for the keys of the table.\",\"tableId\":\"The resource ID of the table.\",\"valueSchema\":\"The schema for the values within the table.\"}},\"supportsInterface(bytes4)\":{\"params\":{\"interfaceId\":\"The ID of the interface in question.\"},\"returns\":{\"_0\":\"True if the interface is supported, false otherwise.\"}},\"unregisterDelegation(address)\":{\"details\":\"Deletes the new delegation from the caller to the specified delegatee\",\"params\":{\"delegatee\":\"The address of the delegatee\"}},\"unregisterNamespaceDelegation(bytes32)\":{\"details\":\"Deletes the delegation control for a specific namespace\",\"params\":{\"namespaceId\":\"The ID of the namespace\"}},\"unregisterStoreHook(bytes32,address)\":{\"details\":\"The caller must be the owner of the namespace to which the table belongs.\",\"params\":{\"hookAddress\":\"The address of the storage hook contract.\",\"tableId\":\"The resource ID of the table from which the hook is being unregistered.\"}},\"unregisterSystemHook(bytes32,address)\":{\"details\":\"Removes a hook for the system at the provided system ID\",\"params\":{\"hookAddress\":\"The address of the hook being unregistered\",\"systemId\":\"The ID of the system\"}}},\"title\":\"Registration System for World\",\"version\":1},\"userdoc\":{\"errors\":{\"FieldLayout_Empty()\":[{\"notice\":\"Error raised when the provided field layout is empty.\"}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has an invalid static data length.\"}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length that does not fit in a word (32 bytes).\"}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a nonzero static data length.\"}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length of zero.\"}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many dynamic fields.\"}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many fields.\"}],\"PackedCounter_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided packed counter has an invalid length.\"}],\"Schema_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided schema has an invalid length.\"}],\"Schema_StaticTypeAfterDynamicType()\":[{\"notice\":\"Error raised when a static type is placed after a dynamic type in a schema.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided field names length is invalid.\"}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided key names length is invalid.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided static data length is invalid.\"}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema dynamic length is invalid.\"}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided value schema length is invalid.\"}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema static length is invalid.\"}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"notice\":\"Error raised if the provided table already exists.\"}],\"Store_TableNotFound(bytes32,string)\":[{\"notice\":\"Error raised if the provided table cannot be found.\"}],\"World_AccessDenied(string,address)\":[{\"notice\":\"Raised when a user tries to access a resource they don't have permission for.\"}],\"World_AlreadyInitialized()\":[{\"notice\":\"Raised when trying to initialize an already initialized World.\"}],\"World_CallbackNotAllowed(bytes4)\":[{\"notice\":\"Raised when the World is calling itself via an external call.\"}],\"World_DelegationNotFound(address,address)\":[{\"notice\":\"Raised when the specified delegation is not found.\"}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"notice\":\"Raised when trying to register a function selector that already exists.\"}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"notice\":\"Raised when the specified function selector is not found.\"}],\"World_InsufficientBalance(uint256,uint256)\":[{\"notice\":\"Raised when there's an insufficient balance for a particular operation.\"}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"notice\":\"Raised when the specified interface is not supported by the contract.\"}],\"World_InvalidNamespace(bytes14)\":[{\"notice\":\"Raised when an namespace contains an invalid sequence of characters (\\\"__\\\").\"}],\"World_InvalidResourceId(bytes32,string)\":[{\"notice\":\"Raised when an invalid resource ID is provided.\"}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Raised when an invalid resource type is provided.\"}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"notice\":\"Raised when trying to register a resource that already exists.\"}],\"World_ResourceNotFound(bytes32,string)\":[{\"notice\":\"Raised when the specified resource is not found.\"}],\"World_SystemAlreadyExists(address)\":[{\"notice\":\"Raised when trying to register a system that already exists.\"}],\"World_UnlimitedDelegationNotAllowed()\":[{\"notice\":\"Raised when trying to create an unlimited delegation in a context where it is not allowed, e.g. when registering a namespace fallback delegation.\"}]},\"events\":{\"Store_DeleteRecord(bytes32,bytes32[])\":{\"notice\":\"Emitted when a record is deleted from the store.\"},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Emitted when static data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"_msgSender()\":{\"notice\":\"Extract the `msg.sender` from the context appended to the calldata.\"},\"_msgValue()\":{\"notice\":\"Extract the `msg.value` from the context appended to the calldata.\"},\"_world()\":{\"notice\":\"Get the address of the World contract that routed the call to this WorldContextConsumer.\"},\"installModule(address,bytes)\":{\"notice\":\"Installs a module into the World under a specified namespace.\"},\"registerDelegation(address,bytes32,bytes)\":{\"notice\":\"Registers a delegation for the caller\"},\"registerFunctionSelector(bytes32,string)\":{\"notice\":\"Registers a new World function selector\"},\"registerNamespace(bytes32)\":{\"notice\":\"Registers a new namespace\"},\"registerNamespaceDelegation(bytes32,bytes32,bytes)\":{\"notice\":\"Registers a delegation for a namespace\"},\"registerRootFunctionSelector(bytes32,string,string)\":{\"notice\":\"Registers a root World function selector\"},\"registerStoreHook(bytes32,address,uint8)\":{\"notice\":\"Register a storage hook for a specified table.\"},\"registerSystem(bytes32,address,bool)\":{\"notice\":\"Registers a system\"},\"registerSystemHook(bytes32,address,uint8)\":{\"notice\":\"Registers a new system hook\"},\"registerTable(bytes32,bytes32,bytes32,bytes32,string[],string[])\":{\"notice\":\"Register a table within the World framework.\"},\"supportsInterface(bytes4)\":{\"notice\":\"Checks if an interface is supported by the contract. using ERC-165 supportsInterface (see https://eips.ethereum.org/EIPS/eip-165)\"},\"unregisterDelegation(address)\":{\"notice\":\"Unregisters a delegation\"},\"unregisterNamespaceDelegation(bytes32)\":{\"notice\":\"Unregisters a delegation for a namespace\"},\"unregisterStoreHook(bytes32,address)\":{\"notice\":\"Unregister a previously registered storage hook for a specified table.\"},\"unregisterSystemHook(bytes32,address)\":{\"notice\":\"Unregisters a system hook\"}},\"notice\":\"This system aggregates World registration and installation functionalities externalized from the World contract, aiming to keep the World contract's bytecode lean.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@latticexyz/world/src/modules/init/RegistrationSystem.sol\":\"RegistrationSystem\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@latticexyz/=node_modules/@latticexyz/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0xf6881fc6c28fc265369dd73936c79e194dc221f872cd28d3bf007f5012dba9e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7530258c9641a76d9a128f2c6041546a0d2ace67cf988900f51db7bcf99cd43e\",\"dweb:/ipfs/QmUsb7geQHbySyyDSf2jirwHRym8wp88bQASkYnAMSwCqk\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/IPackedCounterErrors.sol\":{\"keccak256\":\"0xb7fea790ba0b4897d68a6ad1b6272969762acda712f8e465655f0b4ea9d86c03\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4227afe9f8fae6c1e691105afd0cea4a17cfa079f55774547a6ae9bc125b4a37\",\"dweb:/ipfs/QmVA8i35XwNNkS2PCNGTvNSQutwFbVx8qYf5SqsqY9KhaV\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0xcca682e9b4ce25691b535b4263b46fe742378e560458193e0a46f9be6682198d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://35df157436b75d740251f03ddc5a7f8841d519ba59a841d287e50e1dd6e5b699\",\"dweb:/ipfs/QmWwHDr5rDa88ZYeSdxQiQ94E3RoJbsnKsRgTScEN3SCG2\"]},\"node_modules/@latticexyz/store/src/IStoreData.sol\":{\"keccak256\":\"0xf1af17eb0d23488342f7addadecd166c58b21c8a7c2d942d9d57f0ee489463fb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d35fceb7562a14c126b996c497a9bae51edc72a0a79aec1dc3ebe6921ea32021\",\"dweb:/ipfs/QmTRDmwg771nVBdjmd77didbDPaaXBY11hbPGXBumuH1XJ\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x5e50e8c87b09a34f8b4141adb779ccb25f37e8c102ee28dc85dd77db9993db82\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d0ebfe462012320c7795ddd29ca9fc0ee738327a92507b776379aabd34324cf2\",\"dweb:/ipfs/QmacJ8TwoMekCWvv8LMrDRmBBMKkE6yRvAUBN4twWeLMCa\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x3e9eb573557af7e7cf40281ba7b3ebdffb4e3b13ecc49827b307a5f061028087\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36391ca958dbb9fac695b28ebc5be2e9c47cbff3bab85ba779b08870ee32ef09\",\"dweb:/ipfs/QmZBhQPg2X4HxHaBUyEL7dn4bnuGoKpiHHTTKSYUGNBLh7\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xabefed80f6691fd3b3362a5434e4c24a38d2ca5c51279b722aa25d897b5427d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a711569d612187f6738a4bb39d8d8419a03ff3da91c45209b4096e5dcdfca53c\",\"dweb:/ipfs/QmWTGSZyrGmbpwfttR8nLzFYqbjg1L3G9P8xfrtzg8QVpH\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x3f115843507290fa8b5dabee0a69b03397274fb1291d79ecb51ab80055bea5dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0733e8df7e6e5ca91800c97d4914e9743fbe84a4a16bad01c76c1539d0d8046a\",\"dweb:/ipfs/QmeRqJ1tBBgEMc1z29m4UM46QSjxDvrmV2v86J8bNCb4o5\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/PackedCounter.sol\":{\"keccak256\":\"0xc27fe981ae23ca9a894a1e9081dcbec8f88fd12e741445b989ff9a756b29c4a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88dc94ac9c32ed8ac65f6e3e872953be04ce27d1645ba505031b1cd34a99b72a\",\"dweb:/ipfs/QmV8VPFDwm8cA1HFr4Kebgu3YdbqkAwKdrwkHpRP1DBXfv\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x167af6321dc89c2e5850e31949b1d64ab70bb1cc809daa54a030e8ff30f35411\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e4b1a2d5da7e4f79349f5257a62b4c6ffe110d6e18fe407099aec71a2f3b2539\",\"dweb:/ipfs/QmQXqehp55UecYyuYTiPBKSnuedqYybXfCCjoPPrZ2hnRw\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x506379a8fc67e12c3384faf8db13b88440326973e7da4e8914defbdf974e5721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6aa992c4137302330a374715c922a15f4afc1909680fe83a22808b738453779a\",\"dweb:/ipfs/QmedBdCc7WnUs1yseY1RAPUHMEFVA9UnwAd8xTDwwcDsSE\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x868d515c7579d909f73cc5353e7a58fdb361d0c9dde83b11fa1529f0c2dd21fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fdeb6ca2dc6cae645c13cba6a5b08ff495858e32f16f8b54d19784d4da012d37\",\"dweb:/ipfs/QmPyHrJFDUddguyWcYEwfbTisRkzmwDx169feEZCJq8v9Z\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0x02cc84859c7f2b57f2ca5e0bf27e6cb5c5a911f3891c6b12878fb31d18fd2f66\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0724e7df4b0752acab63a6f900e84aaafc2eac62f67ab499e9ee02da9abd73c8\",\"dweb:/ipfs/QmQnvC3yBiCR61PfY2uiDG7JiLdy9Cw1a7YhLUd8bLFzab\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xca6f60a79f25447aeb390156c987e77fef837e1b23db294076425759e9dc60f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf6c4c5e25a0ed37abcba6346dc59259bb634634edf8cc86bd14db92a32768c8\",\"dweb:/ipfs/QmbQxGchi71XtGAK5uF1H96Xfhh7fAx9c9LpEwc4q5hUxt\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0x59c633598dae70cb65fd0cd5fda434f2beed4421463340ba5ea99ba07843f9c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://57738241ca53b9cd7883f7e24e7b1c98ca6cde65bae60c73a65f5a0372aa4912\",\"dweb:/ipfs/Qmac9wp9ScJbS9KCCdzLqQikvNn7br293vzfkqXQcjtmeE\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0xe5c0071b598577e12f02a423dc2185403cfa8c5a62926fbda83dc5d846cb612a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a2af2477805d80280401d3c6ffc57117e52e33492f8d3d57bee7fb37636658e\",\"dweb:/ipfs/QmeonwdLCzZVkDfLaLKcMZwTXfkVYXAgZptHbuKri2rtn3\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x88689af9b661f7eb723123fbe212876c2f342cfdb3a01ea7f4e94e9c8f819877\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f39abf5a2306a4346d9909f98d7808474c85ed46d552a503d2a69f4dccb54289\",\"dweb:/ipfs/QmcBLXR8ckXfoBCntFF8YcoTymKNJv7PkmFpgy4zZtTRUd\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0xfc030c5075377169d4384cf89e8a1037dacab1ee53bcb867d5ace75e4ee5df46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d1c310ce30a1a39380108e75c5f893f58be159cf4b80706b43b8466f4bc4aa0b\",\"dweb:/ipfs/QmXWTsz6Gk8XQKmNNNLHaRuHxJis1dHmoStWoANAYwfmcz\"]},\"node_modules/@latticexyz/world/src/AccessControl.sol\":{\"keccak256\":\"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899\",\"dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm\"]},\"node_modules/@latticexyz/world/src/Delegation.sol\":{\"keccak256\":\"0x1ad6ce468042f6ba104c8fa2cd5506e434e1bd458448492ae9e8d1993a7e5f1d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded3d879ad5a4119f9ff2320ff27f63a06bc3853e91d3697b3406ee3e6ab65d5\",\"dweb:/ipfs/QmTMjjArXQxXa3WeFF4dvvkAFSEstHTTsNYDCckgCBUVeE\"]},\"node_modules/@latticexyz/world/src/ERC165Checker.sol\":{\"keccak256\":\"0xc63b86705fd62b862e422f830604b7e14e18f1fab662b70a02f656f6ace4fdc7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d674c90bcc5b21e93b0b2a685c6cff86a69962cf900811af677ce77c3598dcf\",\"dweb:/ipfs/QmVE4pv8AFQWP9RRdaqGo6FP1AR8svMaUQsPnEHZc5VLgF\"]},\"node_modules/@latticexyz/world/src/IDelegationControl.sol\":{\"keccak256\":\"0x7cc2fbdd8ff6c996e19fab46c1031b76355da74973cebf45ce4df4b035d566bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://857d577f84a68018a3392ec4540c15e80326aaf4b0f224d0d239605abacfc0f3\",\"dweb:/ipfs/QmVEr3rTH1F1BFaCTMd7MmuceTqASwKBcMRnuFZ4tUAYmR\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/SystemCall.sol\":{\"keccak256\":\"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5\",\"dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol\":{\"keccak256\":\"0x20fc943df3df3fff11f26ac37d4b6aac578e7c80958d255cad688ee40f4c7dd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb433dc2023b727c6bc01989e93c98d7f26102ae2be3a5f1609dcc9dd4ddf3bd\",\"dweb:/ipfs/QmXy5Mj6g1RmVeadLE83cFSa8SdW5YHfRGUgngkBUBKV9Y\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol\":{\"keccak256\":\"0x510abaa82ed6cf548c88009008412bdae99d1f389901dff1f5a0fe829fba6c93\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://73bc275a36ed2861d8b575956b8bbc657285a48e97c988d7430bc3d33f6e14e3\",\"dweb:/ipfs/QmaebcyKw2yPXyYXQqhsxSKixbtsFd35D4FCxoaXsnNMw1\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSignatures.sol\":{\"keccak256\":\"0x97b9a1815cf8248269f7f2eeaa6d6275e0a259648126a11af6fc59ed60ccfe02\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a8084a09d927df2fd31499a815a6ceb88911506dad18130853dabfedf6a29db\",\"dweb:/ipfs/QmVMi4ybNLjArKvbA6ZMRRxX4jdzPPCoWdacNiFYKu72w1\"]},\"node_modules/@latticexyz/world/src/codegen/tables/InstalledModules.sol\":{\"keccak256\":\"0x6d2ed705d31dafb682c9e13a6ae895b998b32bcca71ea4cd925f8bb55fcdb86a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dcb65f32eb25b2582f8dd6eaa83e4aaa348ce06a9f9f45c17e536b0b87ab2b92\",\"dweb:/ipfs/QmNfvtWV8wQEKSAoNAN7W1UVftEuyDA4J48WZcGhDSEm9K\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceDelegationControl.sol\":{\"keccak256\":\"0x003c03d7e8be675abe422eab801b0ebb6a5d795dea499f76c09101cc1b4f7867\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2ff0d412d17835b30fe7e923e4b4db1fc16f7cb16e1702fc2151a0086e08924b\",\"dweb:/ipfs/QmcHoBWUBHYVt4gs5qwsDvDJPg2gPRgmd14SzJN2AtQipt\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x08f47dfce2d68f889a929040f0456e2a9c1b0052942fda9e24910362c66e811c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e713e64128ec4de5ac4809a26b8618255153f7139a01b545381b18e6ca77362d\",\"dweb:/ipfs/QmSozw8WXSxgp29yVCwgQiZ2kPCiqJLZVWxuRQZ6yMZhR7\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0x3c01fede84dbf9894a5f077953c6296bb69afdd683300599d8560288ab0b02fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d216ae4cb61b2f8b67d037f0b53e8c11cc3863d60a1b4926f318f177308d9c73\",\"dweb:/ipfs/QmdvcY4SvUJwV4j3ALYMVfjFRxzgXyACVTJDuVQcTt2yUt\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol\":{\"keccak256\":\"0x2af4c6fc1be378742dd873ea5904c83379dcc2ddc82c1bd520c4f3ad060bb36b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fdab8aa666d0019068fe24cc974ce6bc707f9b53f54d9b538aca64f2434c9a4c\",\"dweb:/ipfs/Qmc1G4MZTzZMAqRuHPwqsozP3cNGGGDvpxqppmqrGA39vh\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol\":{\"keccak256\":\"0x36e956904cd2049d910560725f49cd4b6a203d41c179dafdb44eb58d3912ed91\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://71e5088419d47a1d9ea9db79f08b99aa01a2d781d7c7f03e462c2af0efeb8f62\",\"dweb:/ipfs/QmU1cZxtDW1UAMR6kMtNk4NVFf6aUQdtMPQ9P4bi5Tr6iX\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0xc4d0de173640fcc0ec93b2a7fbdc17ce13964e42f3eaf9ba28ad274c422b4664\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://82eef2fa01d32f953eaeb17665edc6557c5f42f101cf95a452af9266c39b9efd\",\"dweb:/ipfs/QmV7pYCFgvGxAacv1mKK7DUsayP4wPRPBTfsnatAxFJKdH\"]},\"node_modules/@latticexyz/world/src/codegen/tables/UserDelegationControl.sol\":{\"keccak256\":\"0x5cc51a00ec1d040fd8c189cf3eab048dc4a1ea6249cd68d4003239f2f665c27f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5e1622570fd947d29246a60b8e30735b6b87b10ef02ff69d3b248643a3c54fc0\",\"dweb:/ipfs/QmS9M1v3Dd9VmVRBa1gKUdPo4gp5QbT6cm8gNDnLA8dcEi\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22\",\"dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV\"]},\"node_modules/@latticexyz/world/src/modules/init/LimitedCallContext.sol\":{\"keccak256\":\"0x1aa994d09220ac38bd4f47e2be9f54e4b1a46ffb14be40552ac64998059105fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ba9f14551c18238056f6f5daf6166acc93c531f66cf32bbadb4142eca04a25\",\"dweb:/ipfs/QmQfiy93ewydVkwLdbUSXHn5K29r1SJaiw51sgoFWJXsmu\"]},\"node_modules/@latticexyz/world/src/modules/init/RegistrationSystem.sol\":{\"keccak256\":\"0x5aa1ad023ec7e30b102275af8f76e08d195e277fd89fb5fffd8436adf7dbc3f2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5389a9204b6714c8494f169277ccfdcf43ab3d969cafddf8a5eb61d2a2b827a4\",\"dweb:/ipfs/QmVvkj8hEcUQZTvHptDe7fEZHnH9bnut6f3jaLSquPgBCw\"]},\"node_modules/@latticexyz/world/src/modules/init/constants.sol\":{\"keccak256\":\"0xe7eb58bdb9ebaf16162db44d7b02d7e95f70ac46910c19649bb57b835f96dad9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://23227e603db835db6390e872d11569749c8c8f22de770aa775ab7c99f450a752\",\"dweb:/ipfs/QmZkGgdNqbno253umMW8sCHC3QKd5WLjrQi7CbH74x36Z8\"]},\"node_modules/@latticexyz/world/src/modules/init/implementations/ModuleInstallationSystem.sol\":{\"keccak256\":\"0x1be1b12b2b2c7ff519cbe503ddda58cd308a8067e9ff7a168f3833031cf3f93d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://37cede506e9219fa7a1c518ece3fa6333ccad58b4b792629044288d2d9b9e8d1\",\"dweb:/ipfs/QmcFo72Bv2t5GFQgM71NNB7xNLnQwG39oE9KTrdaNsv9ZV\"]},\"node_modules/@latticexyz/world/src/modules/init/implementations/StoreRegistrationSystem.sol\":{\"keccak256\":\"0x3a8ffe8942badedf5654e02189c6d6e89c5a37d40d8643abbdd7869ee2858498\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://885dec95191527acc629af3b99818e81c37cb14744ae33677a84d37bc9413c86\",\"dweb:/ipfs/Qmd873kb8eDWXqZxnT6Qimh5AW2osaX6KnbXySSVkjZRrf\"]},\"node_modules/@latticexyz/world/src/modules/init/implementations/WorldRegistrationSystem.sol\":{\"keccak256\":\"0xc267df948cb1efec454b25a6ffac1b81f0bd3c33cc590f13722af6cddef5e692\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e3f156fdc7b29a1011f7745b57c9e08eb85e14596ff63918e91d9e1878dc0bf8\",\"dweb:/ipfs/Qmee2zDChY6qjXua9PwFA4tQvNVj5Dk33TCP1B8F65L6zJ\"]},\"node_modules/@latticexyz/world/src/requireInterface.sol\":{\"keccak256\":\"0x5b94a21fd46abb4aac8f38809c0d6105f30792042c927f8a6a4f40cfe35c7ab8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bade9d52cf370f3b5435abb47a5338dca5498bee773e97518e7a080fa882940\",\"dweb:/ipfs/QmTtaXUWwMQmHW8oKEoRZxagidZcCiN3oLQs7kN3nycrkW\"]},\"node_modules/@latticexyz/world/src/requireNamespace.sol\":{\"keccak256\":\"0xda4a4a55bde8e55c28472d37009a194aa221ad11feb233d1c17a87b303977567\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef691f35102f6ce85cc1cdaf3ec29b4ba632384a0358629dd642292c709f34e5\",\"dweb:/ipfs/QmYuewEaRZ1UWxd231AK4SpjsiLrd7o4nyaPTeEzLCswcc\"]},\"node_modules/@latticexyz/world/src/requireValidNamespace.sol\":{\"keccak256\":\"0x361f8259c4a5ba355b2aad118befe00f7fe5169be730d6c0ca11ab7a863bd6fd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ccc850a1ea57e900d85e2c5fac02c36d55b42d2345b439ea7044ea42f5a49c01\",\"dweb:/ipfs/QmVShgn2FgTTg9QGnL5Fzhovowmu1C7fABKLJTxbewZzEG\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/systemHookTypes.sol\":{\"keccak256\":\"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d\",\"dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"FieldLayout_Empty"},{"inputs":[{"internalType":"uint256","name":"staticDataLength","type":"uint256"},{"internalType":"uint256","name":"computedStaticDataLength","type":"uint256"}],"type":"error","name":"FieldLayout_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsNotZero"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsZero"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyDynamicFields"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyFields"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"PackedCounter_InvalidLength"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"Schema_InvalidLength"},{"inputs":[],"type":"error","name":"Schema_StaticTypeAfterDynamicType"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Slice_OutOfBounds"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidFieldNamesLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidKeyNamesLength"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaDynamicLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaStaticLength"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableNotFound"},{"inputs":[],"type":"error","name":"UnauthorizedCallContext"},{"inputs":[{"internalType":"string","name":"resource","type":"string"},{"internalType":"address","name":"caller","type":"address"}],"type":"error","name":"World_AccessDenied"},{"inputs":[],"type":"error","name":"World_AlreadyInitialized"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_CallbackNotAllowed"},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"address","name":"delegatee","type":"address"}],"type":"error","name":"World_DelegationNotFound"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorAlreadyExists"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorNotFound"},{"inputs":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"type":"error","name":"World_InsufficientBalance"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"type":"error","name":"World_InterfaceNotSupported"},{"inputs":[{"internalType":"bytes14","name":"namespace","type":"bytes14"}],"type":"error","name":"World_InvalidNamespace"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceId"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceType"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceNotFound"},{"inputs":[{"internalType":"address","name":"system","type":"address"}],"type":"error","name":"World_SystemAlreadyExists"},{"inputs":[],"type":"error","name":"World_UnlimitedDelegationNotAllowed"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false}],"type":"event","name":"Store_DeleteRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"PackedCounter","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"PackedCounter","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceStaticData","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"_msgSender","outputs":[{"internalType":"address","name":"sender","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"_msgValue","outputs":[{"internalType":"uint256","name":"value","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_world","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"contract IModule","name":"module","type":"address"},{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installModule"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespace"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"worldFunctionSignature","type":"string"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerRootFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerStoreHook"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract System","name":"system","type":"address"},{"internalType":"bool","name":"publicAccess","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"registerSystem"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerSystemHook"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"},{"internalType":"Schema","name":"keySchema","type":"bytes32"},{"internalType":"Schema","name":"valueSchema","type":"bytes32"},{"internalType":"string[]","name":"keyNames","type":"string[]"},{"internalType":"string[]","name":"fieldNames","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"registerTable"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterDelegation"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"unregisterNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterStoreHook"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterSystemHook"}],"devdoc":{"kind":"dev","methods":{"_msgSender()":{"returns":{"sender":"The `msg.sender` in the call to the World contract before the World routed the call to the WorldContextConsumer contract."}},"_msgValue()":{"returns":{"value":"The `msg.value` in the call to the World contract before the World routed the call to the WorldContextConsumer contract."}},"_world()":{"returns":{"_0":"The address of the World contract that routed the call to this WorldContextConsumer."}},"installModule(address,bytes)":{"details":"Validates the given module against the IModule interface and delegates the installation process. The module is then registered in the InstalledModules table.","params":{"encodedArgs":"The ABI encoded arguments for module installation.","module":"The module to be installed."}},"registerDelegation(address,bytes32,bytes)":{"details":"Creates a new delegation from the caller to the specified delegatee","params":{"delegatee":"The address of the delegatee","delegationControlId":"The ID controlling the delegation","initCallData":"The initialization data for the delegation"}},"registerFunctionSelector(bytes32,string)":{"details":"Creates a mapping between a World function and its associated system function","params":{"systemFunctionSignature":"The signature of the system function","systemId":"The system ID"},"returns":{"worldFunctionSelector":"The selector of the World function"}},"registerNamespace(bytes32)":{"details":"Creates a new namespace resource with the given ID","params":{"namespaceId":"The unique identifier for the new namespace"}},"registerNamespaceDelegation(bytes32,bytes32,bytes)":{"details":"Sets up a new delegation control for a specific namespace","params":{"delegationControlId":"The ID controlling the delegation","initCallData":"The initialization data for the delegation","namespaceId":"The ID of the namespace"}},"registerRootFunctionSelector(bytes32,string,string)":{"details":"Creates a mapping for a root World function without namespace or name prefix","params":{"systemFunctionSignature":"The signature of the system function","systemId":"The system ID","worldFunctionSignature":"The signature of the World function"},"returns":{"worldFunctionSelector":"The selector of the World function"}},"registerStoreHook(bytes32,address,uint8)":{"details":"The caller must be the owner of the namespace to which the table belongs. The hook must conform to the IStoreHook interface.","params":{"enabledHooksBitmap":"A bitmap indicating which hook functionalities are enabled.","hookAddress":"The address of the storage hook contract.","tableId":"The resource ID of the table for which the hook is being registered."}},"registerSystem(bytes32,address,bool)":{"details":"Registers or upgrades a system at the given ID If the namespace doesn't exist yet, it is registered. The system is granted access to its namespace, so it can write to any table in the same namespace. If publicAccess is true, no access control check is performed for calling the system. This function doesn't check whether a system already exists at the given selector, making it possible to upgrade systems.","params":{"publicAccess":"Flag indicating if access control check is bypassed","system":"The system being registered","systemId":"The unique identifier for the system"}},"registerSystemHook(bytes32,address,uint8)":{"details":"Adds a new hook for the system at the provided system ID","params":{"enabledHooksBitmap":"Bitmap indicating which hooks are enabled","hookAddress":"The address of the hook being registered","systemId":"The ID of the system"}},"registerTable(bytes32,bytes32,bytes32,bytes32,string[],string[])":{"details":"Registers a table with the specified configuration. If the namespace for the table does not exist, it's created. Existing namespaces require the caller to be the owner for table registration.","params":{"fieldLayout":"The field layout structure for the table.","fieldNames":"The names of the fields in the table.","keyNames":"The names associated with the keys in the table.","keySchema":"The schema for the keys of the table.","tableId":"The resource ID of the table.","valueSchema":"The schema for the values within the table."}},"supportsInterface(bytes4)":{"params":{"interfaceId":"The ID of the interface in question."},"returns":{"_0":"True if the interface is supported, false otherwise."}},"unregisterDelegation(address)":{"details":"Deletes the new delegation from the caller to the specified delegatee","params":{"delegatee":"The address of the delegatee"}},"unregisterNamespaceDelegation(bytes32)":{"details":"Deletes the delegation control for a specific namespace","params":{"namespaceId":"The ID of the namespace"}},"unregisterStoreHook(bytes32,address)":{"details":"The caller must be the owner of the namespace to which the table belongs.","params":{"hookAddress":"The address of the storage hook contract.","tableId":"The resource ID of the table from which the hook is being unregistered."}},"unregisterSystemHook(bytes32,address)":{"details":"Removes a hook for the system at the provided system ID","params":{"hookAddress":"The address of the hook being unregistered","systemId":"The ID of the system"}}},"version":1},"userdoc":{"kind":"user","methods":{"_msgSender()":{"notice":"Extract the `msg.sender` from the context appended to the calldata."},"_msgValue()":{"notice":"Extract the `msg.value` from the context appended to the calldata."},"_world()":{"notice":"Get the address of the World contract that routed the call to this WorldContextConsumer."},"installModule(address,bytes)":{"notice":"Installs a module into the World under a specified namespace."},"registerDelegation(address,bytes32,bytes)":{"notice":"Registers a delegation for the caller"},"registerFunctionSelector(bytes32,string)":{"notice":"Registers a new World function selector"},"registerNamespace(bytes32)":{"notice":"Registers a new namespace"},"registerNamespaceDelegation(bytes32,bytes32,bytes)":{"notice":"Registers a delegation for a namespace"},"registerRootFunctionSelector(bytes32,string,string)":{"notice":"Registers a root World function selector"},"registerStoreHook(bytes32,address,uint8)":{"notice":"Register a storage hook for a specified table."},"registerSystem(bytes32,address,bool)":{"notice":"Registers a system"},"registerSystemHook(bytes32,address,uint8)":{"notice":"Registers a new system hook"},"registerTable(bytes32,bytes32,bytes32,bytes32,string[],string[])":{"notice":"Register a table within the World framework."},"supportsInterface(bytes4)":{"notice":"Checks if an interface is supported by the contract. using ERC-165 supportsInterface (see https://eips.ethereum.org/EIPS/eip-165)"},"unregisterDelegation(address)":{"notice":"Unregisters a delegation"},"unregisterNamespaceDelegation(bytes32)":{"notice":"Unregisters a delegation for a namespace"},"unregisterStoreHook(bytes32,address)":{"notice":"Unregister a previously registered storage hook for a specified table."},"unregisterSystemHook(bytes32,address)":{"notice":"Unregisters a system hook"}},"version":1}},"settings":{"remappings":["@latticexyz/=node_modules/@latticexyz/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"node_modules/@latticexyz/world/src/modules/init/RegistrationSystem.sol":"RegistrationSystem"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0xf6881fc6c28fc265369dd73936c79e194dc221f872cd28d3bf007f5012dba9e2","urls":["bzz-raw://7530258c9641a76d9a128f2c6041546a0d2ace67cf988900f51db7bcf99cd43e","dweb:/ipfs/QmUsb7geQHbySyyDSf2jirwHRym8wp88bQASkYnAMSwCqk"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/IPackedCounterErrors.sol":{"keccak256":"0xb7fea790ba0b4897d68a6ad1b6272969762acda712f8e465655f0b4ea9d86c03","urls":["bzz-raw://4227afe9f8fae6c1e691105afd0cea4a17cfa079f55774547a6ae9bc125b4a37","dweb:/ipfs/QmVA8i35XwNNkS2PCNGTvNSQutwFbVx8qYf5SqsqY9KhaV"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0xcca682e9b4ce25691b535b4263b46fe742378e560458193e0a46f9be6682198d","urls":["bzz-raw://35df157436b75d740251f03ddc5a7f8841d519ba59a841d287e50e1dd6e5b699","dweb:/ipfs/QmWwHDr5rDa88ZYeSdxQiQ94E3RoJbsnKsRgTScEN3SCG2"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreData.sol":{"keccak256":"0xf1af17eb0d23488342f7addadecd166c58b21c8a7c2d942d9d57f0ee489463fb","urls":["bzz-raw://d35fceb7562a14c126b996c497a9bae51edc72a0a79aec1dc3ebe6921ea32021","dweb:/ipfs/QmTRDmwg771nVBdjmd77didbDPaaXBY11hbPGXBumuH1XJ"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x5e50e8c87b09a34f8b4141adb779ccb25f37e8c102ee28dc85dd77db9993db82","urls":["bzz-raw://d0ebfe462012320c7795ddd29ca9fc0ee738327a92507b776379aabd34324cf2","dweb:/ipfs/QmacJ8TwoMekCWvv8LMrDRmBBMKkE6yRvAUBN4twWeLMCa"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x3e9eb573557af7e7cf40281ba7b3ebdffb4e3b13ecc49827b307a5f061028087","urls":["bzz-raw://36391ca958dbb9fac695b28ebc5be2e9c47cbff3bab85ba779b08870ee32ef09","dweb:/ipfs/QmZBhQPg2X4HxHaBUyEL7dn4bnuGoKpiHHTTKSYUGNBLh7"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xabefed80f6691fd3b3362a5434e4c24a38d2ca5c51279b722aa25d897b5427d0","urls":["bzz-raw://a711569d612187f6738a4bb39d8d8419a03ff3da91c45209b4096e5dcdfca53c","dweb:/ipfs/QmWTGSZyrGmbpwfttR8nLzFYqbjg1L3G9P8xfrtzg8QVpH"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x3f115843507290fa8b5dabee0a69b03397274fb1291d79ecb51ab80055bea5dd","urls":["bzz-raw://0733e8df7e6e5ca91800c97d4914e9743fbe84a4a16bad01c76c1539d0d8046a","dweb:/ipfs/QmeRqJ1tBBgEMc1z29m4UM46QSjxDvrmV2v86J8bNCb4o5"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/PackedCounter.sol":{"keccak256":"0xc27fe981ae23ca9a894a1e9081dcbec8f88fd12e741445b989ff9a756b29c4a7","urls":["bzz-raw://88dc94ac9c32ed8ac65f6e3e872953be04ce27d1645ba505031b1cd34a99b72a","dweb:/ipfs/QmV8VPFDwm8cA1HFr4Kebgu3YdbqkAwKdrwkHpRP1DBXfv"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x167af6321dc89c2e5850e31949b1d64ab70bb1cc809daa54a030e8ff30f35411","urls":["bzz-raw://e4b1a2d5da7e4f79349f5257a62b4c6ffe110d6e18fe407099aec71a2f3b2539","dweb:/ipfs/QmQXqehp55UecYyuYTiPBKSnuedqYybXfCCjoPPrZ2hnRw"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x506379a8fc67e12c3384faf8db13b88440326973e7da4e8914defbdf974e5721","urls":["bzz-raw://6aa992c4137302330a374715c922a15f4afc1909680fe83a22808b738453779a","dweb:/ipfs/QmedBdCc7WnUs1yseY1RAPUHMEFVA9UnwAd8xTDwwcDsSE"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x868d515c7579d909f73cc5353e7a58fdb361d0c9dde83b11fa1529f0c2dd21fe","urls":["bzz-raw://fdeb6ca2dc6cae645c13cba6a5b08ff495858e32f16f8b54d19784d4da012d37","dweb:/ipfs/QmPyHrJFDUddguyWcYEwfbTisRkzmwDx169feEZCJq8v9Z"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0x02cc84859c7f2b57f2ca5e0bf27e6cb5c5a911f3891c6b12878fb31d18fd2f66","urls":["bzz-raw://0724e7df4b0752acab63a6f900e84aaafc2eac62f67ab499e9ee02da9abd73c8","dweb:/ipfs/QmQnvC3yBiCR61PfY2uiDG7JiLdy9Cw1a7YhLUd8bLFzab"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xca6f60a79f25447aeb390156c987e77fef837e1b23db294076425759e9dc60f8","urls":["bzz-raw://bf6c4c5e25a0ed37abcba6346dc59259bb634634edf8cc86bd14db92a32768c8","dweb:/ipfs/QmbQxGchi71XtGAK5uF1H96Xfhh7fAx9c9LpEwc4q5hUxt"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0x59c633598dae70cb65fd0cd5fda434f2beed4421463340ba5ea99ba07843f9c2","urls":["bzz-raw://57738241ca53b9cd7883f7e24e7b1c98ca6cde65bae60c73a65f5a0372aa4912","dweb:/ipfs/Qmac9wp9ScJbS9KCCdzLqQikvNn7br293vzfkqXQcjtmeE"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0xe5c0071b598577e12f02a423dc2185403cfa8c5a62926fbda83dc5d846cb612a","urls":["bzz-raw://0a2af2477805d80280401d3c6ffc57117e52e33492f8d3d57bee7fb37636658e","dweb:/ipfs/QmeonwdLCzZVkDfLaLKcMZwTXfkVYXAgZptHbuKri2rtn3"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x88689af9b661f7eb723123fbe212876c2f342cfdb3a01ea7f4e94e9c8f819877","urls":["bzz-raw://f39abf5a2306a4346d9909f98d7808474c85ed46d552a503d2a69f4dccb54289","dweb:/ipfs/QmcBLXR8ckXfoBCntFF8YcoTymKNJv7PkmFpgy4zZtTRUd"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0xfc030c5075377169d4384cf89e8a1037dacab1ee53bcb867d5ace75e4ee5df46","urls":["bzz-raw://d1c310ce30a1a39380108e75c5f893f58be159cf4b80706b43b8466f4bc4aa0b","dweb:/ipfs/QmXWTsz6Gk8XQKmNNNLHaRuHxJis1dHmoStWoANAYwfmcz"],"license":"MIT"},"node_modules/@latticexyz/world/src/AccessControl.sol":{"keccak256":"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e","urls":["bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899","dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm"],"license":"MIT"},"node_modules/@latticexyz/world/src/Delegation.sol":{"keccak256":"0x1ad6ce468042f6ba104c8fa2cd5506e434e1bd458448492ae9e8d1993a7e5f1d","urls":["bzz-raw://ded3d879ad5a4119f9ff2320ff27f63a06bc3853e91d3697b3406ee3e6ab65d5","dweb:/ipfs/QmTMjjArXQxXa3WeFF4dvvkAFSEstHTTsNYDCckgCBUVeE"],"license":"MIT"},"node_modules/@latticexyz/world/src/ERC165Checker.sol":{"keccak256":"0xc63b86705fd62b862e422f830604b7e14e18f1fab662b70a02f656f6ace4fdc7","urls":["bzz-raw://9d674c90bcc5b21e93b0b2a685c6cff86a69962cf900811af677ce77c3598dcf","dweb:/ipfs/QmVE4pv8AFQWP9RRdaqGo6FP1AR8svMaUQsPnEHZc5VLgF"],"license":"MIT"},"node_modules/@latticexyz/world/src/IDelegationControl.sol":{"keccak256":"0x7cc2fbdd8ff6c996e19fab46c1031b76355da74973cebf45ce4df4b035d566bf","urls":["bzz-raw://857d577f84a68018a3392ec4540c15e80326aaf4b0f224d0d239605abacfc0f3","dweb:/ipfs/QmVEr3rTH1F1BFaCTMd7MmuceTqASwKBcMRnuFZ4tUAYmR"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/SystemCall.sol":{"keccak256":"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af","urls":["bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5","dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol":{"keccak256":"0x20fc943df3df3fff11f26ac37d4b6aac578e7c80958d255cad688ee40f4c7dd2","urls":["bzz-raw://bb433dc2023b727c6bc01989e93c98d7f26102ae2be3a5f1609dcc9dd4ddf3bd","dweb:/ipfs/QmXy5Mj6g1RmVeadLE83cFSa8SdW5YHfRGUgngkBUBKV9Y"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol":{"keccak256":"0x510abaa82ed6cf548c88009008412bdae99d1f389901dff1f5a0fe829fba6c93","urls":["bzz-raw://73bc275a36ed2861d8b575956b8bbc657285a48e97c988d7430bc3d33f6e14e3","dweb:/ipfs/QmaebcyKw2yPXyYXQqhsxSKixbtsFd35D4FCxoaXsnNMw1"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSignatures.sol":{"keccak256":"0x97b9a1815cf8248269f7f2eeaa6d6275e0a259648126a11af6fc59ed60ccfe02","urls":["bzz-raw://9a8084a09d927df2fd31499a815a6ceb88911506dad18130853dabfedf6a29db","dweb:/ipfs/QmVMi4ybNLjArKvbA6ZMRRxX4jdzPPCoWdacNiFYKu72w1"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/InstalledModules.sol":{"keccak256":"0x6d2ed705d31dafb682c9e13a6ae895b998b32bcca71ea4cd925f8bb55fcdb86a","urls":["bzz-raw://dcb65f32eb25b2582f8dd6eaa83e4aaa348ce06a9f9f45c17e536b0b87ab2b92","dweb:/ipfs/QmNfvtWV8wQEKSAoNAN7W1UVftEuyDA4J48WZcGhDSEm9K"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceDelegationControl.sol":{"keccak256":"0x003c03d7e8be675abe422eab801b0ebb6a5d795dea499f76c09101cc1b4f7867","urls":["bzz-raw://2ff0d412d17835b30fe7e923e4b4db1fc16f7cb16e1702fc2151a0086e08924b","dweb:/ipfs/QmcHoBWUBHYVt4gs5qwsDvDJPg2gPRgmd14SzJN2AtQipt"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0x08f47dfce2d68f889a929040f0456e2a9c1b0052942fda9e24910362c66e811c","urls":["bzz-raw://e713e64128ec4de5ac4809a26b8618255153f7139a01b545381b18e6ca77362d","dweb:/ipfs/QmSozw8WXSxgp29yVCwgQiZ2kPCiqJLZVWxuRQZ6yMZhR7"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0x3c01fede84dbf9894a5f077953c6296bb69afdd683300599d8560288ab0b02fa","urls":["bzz-raw://d216ae4cb61b2f8b67d037f0b53e8c11cc3863d60a1b4926f318f177308d9c73","dweb:/ipfs/QmdvcY4SvUJwV4j3ALYMVfjFRxzgXyACVTJDuVQcTt2yUt"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol":{"keccak256":"0x2af4c6fc1be378742dd873ea5904c83379dcc2ddc82c1bd520c4f3ad060bb36b","urls":["bzz-raw://fdab8aa666d0019068fe24cc974ce6bc707f9b53f54d9b538aca64f2434c9a4c","dweb:/ipfs/Qmc1G4MZTzZMAqRuHPwqsozP3cNGGGDvpxqppmqrGA39vh"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol":{"keccak256":"0x36e956904cd2049d910560725f49cd4b6a203d41c179dafdb44eb58d3912ed91","urls":["bzz-raw://71e5088419d47a1d9ea9db79f08b99aa01a2d781d7c7f03e462c2af0efeb8f62","dweb:/ipfs/QmU1cZxtDW1UAMR6kMtNk4NVFf6aUQdtMPQ9P4bi5Tr6iX"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0xc4d0de173640fcc0ec93b2a7fbdc17ce13964e42f3eaf9ba28ad274c422b4664","urls":["bzz-raw://82eef2fa01d32f953eaeb17665edc6557c5f42f101cf95a452af9266c39b9efd","dweb:/ipfs/QmV7pYCFgvGxAacv1mKK7DUsayP4wPRPBTfsnatAxFJKdH"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/UserDelegationControl.sol":{"keccak256":"0x5cc51a00ec1d040fd8c189cf3eab048dc4a1ea6249cd68d4003239f2f665c27f","urls":["bzz-raw://5e1622570fd947d29246a60b8e30735b6b87b10ef02ff69d3b248643a3c54fc0","dweb:/ipfs/QmS9M1v3Dd9VmVRBa1gKUdPo4gp5QbT6cm8gNDnLA8dcEi"],"license":"MIT"},"node_modules/@latticexyz/world/src/constants.sol":{"keccak256":"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5","urls":["bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22","dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/LimitedCallContext.sol":{"keccak256":"0x1aa994d09220ac38bd4f47e2be9f54e4b1a46ffb14be40552ac64998059105fe","urls":["bzz-raw://88ba9f14551c18238056f6f5daf6166acc93c531f66cf32bbadb4142eca04a25","dweb:/ipfs/QmQfiy93ewydVkwLdbUSXHn5K29r1SJaiw51sgoFWJXsmu"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/RegistrationSystem.sol":{"keccak256":"0x5aa1ad023ec7e30b102275af8f76e08d195e277fd89fb5fffd8436adf7dbc3f2","urls":["bzz-raw://5389a9204b6714c8494f169277ccfdcf43ab3d969cafddf8a5eb61d2a2b827a4","dweb:/ipfs/QmVvkj8hEcUQZTvHptDe7fEZHnH9bnut6f3jaLSquPgBCw"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/constants.sol":{"keccak256":"0xe7eb58bdb9ebaf16162db44d7b02d7e95f70ac46910c19649bb57b835f96dad9","urls":["bzz-raw://23227e603db835db6390e872d11569749c8c8f22de770aa775ab7c99f450a752","dweb:/ipfs/QmZkGgdNqbno253umMW8sCHC3QKd5WLjrQi7CbH74x36Z8"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/implementations/ModuleInstallationSystem.sol":{"keccak256":"0x1be1b12b2b2c7ff519cbe503ddda58cd308a8067e9ff7a168f3833031cf3f93d","urls":["bzz-raw://37cede506e9219fa7a1c518ece3fa6333ccad58b4b792629044288d2d9b9e8d1","dweb:/ipfs/QmcFo72Bv2t5GFQgM71NNB7xNLnQwG39oE9KTrdaNsv9ZV"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/implementations/StoreRegistrationSystem.sol":{"keccak256":"0x3a8ffe8942badedf5654e02189c6d6e89c5a37d40d8643abbdd7869ee2858498","urls":["bzz-raw://885dec95191527acc629af3b99818e81c37cb14744ae33677a84d37bc9413c86","dweb:/ipfs/Qmd873kb8eDWXqZxnT6Qimh5AW2osaX6KnbXySSVkjZRrf"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/implementations/WorldRegistrationSystem.sol":{"keccak256":"0xc267df948cb1efec454b25a6ffac1b81f0bd3c33cc590f13722af6cddef5e692","urls":["bzz-raw://e3f156fdc7b29a1011f7745b57c9e08eb85e14596ff63918e91d9e1878dc0bf8","dweb:/ipfs/Qmee2zDChY6qjXua9PwFA4tQvNVj5Dk33TCP1B8F65L6zJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/requireInterface.sol":{"keccak256":"0x5b94a21fd46abb4aac8f38809c0d6105f30792042c927f8a6a4f40cfe35c7ab8","urls":["bzz-raw://8bade9d52cf370f3b5435abb47a5338dca5498bee773e97518e7a080fa882940","dweb:/ipfs/QmTtaXUWwMQmHW8oKEoRZxagidZcCiN3oLQs7kN3nycrkW"],"license":"MIT"},"node_modules/@latticexyz/world/src/requireNamespace.sol":{"keccak256":"0xda4a4a55bde8e55c28472d37009a194aa221ad11feb233d1c17a87b303977567","urls":["bzz-raw://ef691f35102f6ce85cc1cdaf3ec29b4ba632384a0358629dd642292c709f34e5","dweb:/ipfs/QmYuewEaRZ1UWxd231AK4SpjsiLrd7o4nyaPTeEzLCswcc"],"license":"MIT"},"node_modules/@latticexyz/world/src/requireValidNamespace.sol":{"keccak256":"0x361f8259c4a5ba355b2aad118befe00f7fe5169be730d6c0ca11ab7a863bd6fd","urls":["bzz-raw://ccc850a1ea57e900d85e2c5fac02c36d55b42d2345b439ea7044ea42f5a49c01","dweb:/ipfs/QmVShgn2FgTTg9QGnL5Fzhovowmu1C7fABKLJTxbewZzEG"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/systemHookTypes.sol":{"keccak256":"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a","urls":["bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d","dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"}},"version":1},"id":89}