@latticexyz/world-modules 2.0.0-transaction-context-324984c5 → 2.0.1-main-4a6b4598
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.
- package/dist/mud.config.d.ts +700 -222
- package/dist/mud.config.js +1 -1
- package/dist/mud.config.js.map +1 -1
- package/out/AccessControl.sol/AccessControl.json +1 -1
- package/out/AccessControlLib.sol/AccessControlLib.json +1 -1
- package/out/AccessManagementSystem.sol/AccessManagementSystem.abi.json +0 -13
- package/out/AccessManagementSystem.sol/AccessManagementSystem.abi.json.d.ts +0 -13
- package/out/AccessManagementSystem.sol/AccessManagementSystem.json +1 -1
- package/out/AddressArray.sol/AddressArray.json +1 -1
- package/out/Allowances.sol/Allowances.json +1 -1
- package/out/ArrayLib.sol/ArrayLib.json +1 -1
- package/out/BalanceTransferSystem.sol/BalanceTransferSystem.abi.json +0 -24
- package/out/BalanceTransferSystem.sol/BalanceTransferSystem.abi.json.d.ts +0 -24
- package/out/BalanceTransferSystem.sol/BalanceTransferSystem.json +1 -1
- package/out/Balances.sol/Balances.json +1 -1
- package/out/Base.sol/CommonBase.json +1 -1
- package/out/Base.sol/ScriptBase.json +1 -1
- package/out/Base.sol/TestBase.json +1 -1
- package/out/BatchCallSystem.sol/BatchCallSystem.abi.json +0 -13
- package/out/BatchCallSystem.sol/BatchCallSystem.abi.json.d.ts +0 -13
- package/out/BatchCallSystem.sol/BatchCallSystem.json +1 -1
- package/out/Bool.sol/Bool.json +1 -1
- package/out/Bytes.sol/Bytes.json +1 -1
- package/out/CallboundDelegationControl.sol/CallboundDelegationControl.abi.json +0 -13
- package/out/CallboundDelegationControl.sol/CallboundDelegationControl.abi.json.d.ts +0 -13
- package/out/CallboundDelegationControl.sol/CallboundDelegationControl.json +1 -1
- package/out/CallboundDelegations.sol/CallboundDelegations.json +1 -1
- package/out/DecodeSlice.sol/DecodeSlice.json +1 -1
- package/out/Delegation.sol/Delegation.json +1 -1
- package/out/DelegationControl.sol/DelegationControl.abi.json +0 -13
- package/out/DelegationControl.sol/DelegationControl.abi.json.d.ts +0 -13
- package/out/DelegationControl.sol/DelegationControl.json +1 -1
- package/out/DelegationControlMock.sol/DelegationControlMock.abi.json +0 -13
- package/out/DelegationControlMock.sol/DelegationControlMock.abi.json.d.ts +0 -13
- package/out/DelegationControlMock.sol/DelegationControlMock.json +1 -1
- package/out/ERC165Checker.sol/ERC165Checker.json +1 -1
- package/out/ERC20.t.sol/ERC20Test.json +1 -1
- package/out/ERC20Metadata.sol/ERC20Metadata.json +1 -1
- package/out/ERC20Module.sol/ERC20Module.abi.json +10 -23
- package/out/ERC20Module.sol/ERC20Module.abi.json.d.ts +10 -23
- package/out/ERC20Module.sol/ERC20Module.json +1 -1
- package/out/ERC20Module.sol/ERC20ModuleRegistrationLibrary.abi.json +10 -10
- package/out/ERC20Module.sol/ERC20ModuleRegistrationLibrary.abi.json.d.ts +10 -10
- package/out/ERC20Module.sol/ERC20ModuleRegistrationLibrary.json +1 -1
- package/out/ERC20Registry.sol/ERC20Registry.json +1 -1
- package/out/ERC20System.sol/ERC20System.abi.json +0 -13
- package/out/ERC20System.sol/ERC20System.abi.json.d.ts +0 -13
- package/out/ERC20System.sol/ERC20System.json +1 -1
- package/out/ERC721.t.sol/ERC721Recipient.json +1 -1
- package/out/ERC721.t.sol/ERC721Test.json +1 -1
- package/out/ERC721.t.sol/ERC721TokenReceiver.json +1 -1
- package/out/ERC721.t.sol/NonERC721Recipient.json +1 -1
- package/out/ERC721.t.sol/RevertingERC721Recipient.json +1 -1
- package/out/ERC721.t.sol/WrongReturnDataERC721Recipient.json +1 -1
- package/out/ERC721Metadata.sol/ERC721Metadata.json +1 -1
- package/out/ERC721Module.sol/ERC721Module.abi.json +10 -23
- package/out/ERC721Module.sol/ERC721Module.abi.json.d.ts +10 -23
- package/out/ERC721Module.sol/ERC721Module.json +1 -1
- package/out/ERC721Module.sol/ERC721ModuleRegistrationLibrary.abi.json +10 -10
- package/out/ERC721Module.sol/ERC721ModuleRegistrationLibrary.abi.json.d.ts +10 -10
- package/out/ERC721Module.sol/ERC721ModuleRegistrationLibrary.json +1 -1
- package/out/ERC721Registry.sol/ERC721Registry.json +1 -1
- package/out/ERC721System.sol/ERC721System.abi.json +0 -13
- package/out/ERC721System.sol/ERC721System.abi.json.d.ts +0 -13
- package/out/ERC721System.sol/ERC721System.json +1 -1
- package/out/EchoSubscriber.sol/EchoSubscriber.abi.json +4 -4
- package/out/EchoSubscriber.sol/EchoSubscriber.abi.json.d.ts +4 -4
- package/out/EchoSubscriber.sol/EchoSubscriber.json +1 -1
- package/out/EncodeArray.sol/EncodeArray.json +1 -1
- package/out/EncodedLengths.sol/EncodedLengthsInstance.json +1 -0
- package/out/EncodedLengths.sol/EncodedLengthsLib.json +1 -0
- package/out/FieldLayout.sol/FieldLayoutInstance.json +1 -1
- package/out/FieldLayout.sol/FieldLayoutLib.abi.json +1 -88
- package/out/FieldLayout.sol/FieldLayoutLib.json +1 -1
- package/out/FieldLayoutEncodeHelper.sol/FieldLayoutEncodeHelper.json +1 -1
- package/out/FunctionSelectors.sol/FunctionSelectors.json +1 -1
- package/out/FunctionSignatures.sol/FunctionSignatures.json +1 -1
- package/out/GasReporter.sol/GasReporter.json +1 -1
- package/out/Hook.sol/HookInstance.json +1 -1
- package/out/Hook.sol/HookLib.json +1 -1
- package/out/Hooks.sol/Hooks.json +1 -1
- package/out/IAccessManagementSystem.sol/IAccessManagementSystem.json +1 -1
- package/out/IBalanceTransferSystem.sol/IBalanceTransferSystem.json +1 -1
- package/out/IBaseWorld.sol/IBaseWorld.abi.json +171 -16
- package/out/IBaseWorld.sol/IBaseWorld.abi.json.d.ts +171 -16
- package/out/IBaseWorld.sol/IBaseWorld.json +1 -1
- package/out/IBatchCallSystem.sol/IBatchCallSystem.json +1 -1
- package/out/IDelegationControl.sol/IDelegationControl.abi.json +0 -13
- package/out/IDelegationControl.sol/IDelegationControl.abi.json.d.ts +0 -13
- package/out/IDelegationControl.sol/IDelegationControl.json +1 -1
- package/out/IERC20.sol/IERC20.json +1 -1
- package/out/IERC20Errors.sol/IERC20Errors.json +1 -1
- package/out/IERC20Events.sol/IERC20Events.json +1 -1
- package/out/IERC20Mintable.sol/IERC20Mintable.json +1 -1
- package/out/IERC20System.sol/IERC20System.json +1 -1
- package/out/IERC721.sol/IERC721.json +1 -1
- package/out/IERC721Errors.sol/IERC721Errors.json +1 -1
- package/out/IERC721Events.sol/IERC721Events.json +1 -1
- package/out/IERC721Metadata.sol/IERC721Metadata.json +1 -1
- package/out/IERC721Mintable.sol/IERC721Mintable.json +1 -1
- package/out/IERC721Receiver.sol/IERC721Receiver.json +1 -1
- package/out/{PackedCounter.sol/PackedCounterInstance.abi.json → IEncodedLengthsErrors.sol/IEncodedLengthsErrors.abi.json} +1 -1
- package/out/{PackedCounter.sol/PackedCounterInstance.abi.json.d.ts → IEncodedLengthsErrors.sol/IEncodedLengthsErrors.abi.json.d.ts} +1 -1
- package/out/IEncodedLengthsErrors.sol/IEncodedLengthsErrors.json +1 -0
- package/out/IFieldLayoutErrors.sol/IFieldLayoutErrors.abi.json +88 -0
- package/out/{FieldLayout.sol/FieldLayoutLib.abi.json.d.ts → IFieldLayoutErrors.sol/IFieldLayoutErrors.abi.json.d.ts} +7 -7
- package/out/IFieldLayoutErrors.sol/IFieldLayoutErrors.json +1 -0
- package/out/IModule.sol/IModule.json +1 -1
- package/out/IModuleErrors.sol/IModuleErrors.abi.json +28 -0
- package/out/IModuleErrors.sol/IModuleErrors.abi.json.d.ts +28 -0
- package/out/IModuleErrors.sol/IModuleErrors.json +1 -0
- package/out/IModuleInstallationSystem.sol/IModuleInstallationSystem.json +1 -1
- package/out/IMulticall3.sol/IMulticall3.json +1 -1
- package/out/IPuppetFactorySystem.sol/IPuppetFactorySystem.json +1 -1
- package/out/IRegistrationSystem.sol/IRegistrationSystem.json +1 -1
- package/out/ISchemaErrors.sol/ISchemaErrors.abi.json +18 -0
- package/out/{Schema.sol/SchemaLib.abi.json.d.ts → ISchemaErrors.sol/ISchemaErrors.abi.json.d.ts} +2 -2
- package/out/ISchemaErrors.sol/ISchemaErrors.json +1 -0
- package/out/ISliceErrors.sol/ISliceErrors.abi.json +23 -0
- package/out/ISliceErrors.sol/ISliceErrors.json +1 -0
- package/out/IStore.sol/IStore.abi.json +145 -5
- package/out/IStore.sol/IStore.abi.json.d.ts +145 -5
- package/out/IStore.sol/IStore.json +1 -1
- package/out/IStoreErrors.sol/IStoreErrors.json +1 -1
- package/out/IStoreEvents.sol/IStoreEvents.abi.json +21 -2
- package/out/IStoreEvents.sol/IStoreEvents.abi.json.d.ts +21 -2
- package/out/IStoreEvents.sol/IStoreEvents.json +1 -1
- package/out/IStoreHook.sol/IStoreHook.abi.json +4 -4
- package/out/IStoreHook.sol/IStoreHook.abi.json.d.ts +4 -4
- package/out/IStoreHook.sol/IStoreHook.json +1 -1
- package/out/{IStoreData.sol/IStoreData.abi.json → IStoreKernel.sol/IStoreKernel.abi.json} +347 -5
- package/out/{IStoreData.sol/IStoreData.abi.json.d.ts → IStoreKernel.sol/IStoreKernel.abi.json.d.ts} +347 -5
- package/out/IStoreKernel.sol/IStoreKernel.json +1 -0
- package/out/IStoreRead.sol/IStoreRead.abi.json +2 -2
- package/out/IStoreRead.sol/IStoreRead.abi.json.d.ts +2 -2
- package/out/IStoreRead.sol/IStoreRead.json +1 -1
- package/out/IStoreRegistration.sol/IStoreRegistration.json +1 -1
- package/out/IStoreWrite.sol/IStoreWrite.abi.json +22 -3
- package/out/IStoreWrite.sol/IStoreWrite.abi.json.d.ts +22 -3
- package/out/IStoreWrite.sol/IStoreWrite.json +1 -1
- package/out/ISystemHook.sol/ISystemHook.json +1 -1
- package/out/IWorldContextConsumer.sol/IWorldContextConsumer.abi.json +0 -13
- package/out/IWorldContextConsumer.sol/IWorldContextConsumer.abi.json.d.ts +0 -13
- package/out/IWorldContextConsumer.sol/IWorldContextConsumer.json +1 -1
- package/out/IWorldErrors.sol/IWorldErrors.abi.json +0 -11
- package/out/IWorldErrors.sol/IWorldErrors.abi.json.d.ts +0 -11
- package/out/IWorldErrors.sol/IWorldErrors.json +1 -1
- package/out/IWorldEvents.sol/IWorldEvents.abi.json +15 -0
- package/out/IWorldEvents.sol/IWorldEvents.abi.json.d.ts +15 -0
- package/out/IWorldEvents.sol/IWorldEvents.json +1 -0
- package/out/IWorldKernel.sol/IWorldCall.json +1 -1
- package/out/IWorldKernel.sol/IWorldKernel.abi.json +26 -11
- package/out/IWorldKernel.sol/IWorldKernel.abi.json.d.ts +26 -11
- package/out/IWorldKernel.sol/IWorldKernel.json +1 -1
- package/out/IWorldKernel.sol/IWorldModuleInstallation.json +1 -1
- package/out/IWorldRegistrationSystem.sol/IWorldRegistrationSystem.abi.json +3 -3
- package/out/IWorldRegistrationSystem.sol/IWorldRegistrationSystem.abi.json.d.ts +3 -3
- package/out/IWorldRegistrationSystem.sol/IWorldRegistrationSystem.json +1 -1
- package/out/InitModule.sol/InitModule.abi.json +10 -23
- package/out/InitModule.sol/InitModule.abi.json.d.ts +10 -23
- package/out/InitModule.sol/InitModule.json +1 -1
- package/out/InitModuleAddress.sol/InitModuleAddress.json +1 -1
- package/out/InstalledModules.sol/InstalledModules.json +1 -1
- package/out/KeysInTable.sol/KeysInTable.json +1 -1
- package/out/KeysInTableHook.sol/KeysInTableHook.abi.json +13 -7
- package/out/KeysInTableHook.sol/KeysInTableHook.abi.json.d.ts +13 -7
- package/out/KeysInTableHook.sol/KeysInTableHook.json +1 -1
- package/out/KeysInTableModule.sol/KeysInTableModule.abi.json +0 -29
- package/out/KeysInTableModule.sol/KeysInTableModule.abi.json.d.ts +0 -29
- package/out/KeysInTableModule.sol/KeysInTableModule.json +1 -1
- package/out/KeysInTableModule.t.sol/KeysInTableModuleTest.abi.json +6 -6
- package/out/KeysInTableModule.t.sol/KeysInTableModuleTest.abi.json.d.ts +6 -6
- package/out/KeysInTableModule.t.sol/KeysInTableModuleTest.json +1 -1
- package/out/KeysWithValue.sol/KeysWithValue.json +1 -1
- package/out/KeysWithValueHook.sol/KeysWithValueHook.abi.json +12 -6
- package/out/KeysWithValueHook.sol/KeysWithValueHook.abi.json.d.ts +12 -6
- package/out/KeysWithValueHook.sol/KeysWithValueHook.json +1 -1
- package/out/KeysWithValueModule.sol/KeysWithValueModule.abi.json +0 -29
- package/out/KeysWithValueModule.sol/KeysWithValueModule.abi.json.d.ts +0 -29
- package/out/KeysWithValueModule.sol/KeysWithValueModule.json +1 -1
- package/out/KeysWithValueModule.t.sol/KeysWithValueModuleTest.abi.json +6 -6
- package/out/KeysWithValueModule.t.sol/KeysWithValueModuleTest.abi.json.d.ts +6 -6
- package/out/KeysWithValueModule.t.sol/KeysWithValueModuleTest.json +1 -1
- package/out/LimitedCallContext.sol/LimitedCallContext.json +1 -1
- package/out/Memory.sol/Memory.json +1 -1
- package/out/Module.sol/Module.abi.json +0 -13
- package/out/Module.sol/Module.abi.json.d.ts +0 -13
- package/out/Module.sol/Module.json +1 -1
- package/out/ModuleInstallationSystem.sol/ModuleInstallationSystem.abi.json +0 -13
- package/out/ModuleInstallationSystem.sol/ModuleInstallationSystem.abi.json.d.ts +0 -13
- package/out/ModuleInstallationSystem.sol/ModuleInstallationSystem.json +1 -1
- package/out/NamespaceDelegationControl.sol/NamespaceDelegationControl.json +1 -1
- package/out/NamespaceOwner.sol/NamespaceOwner.json +1 -1
- package/out/OperatorApproval.sol/OperatorApproval.json +1 -1
- package/out/Owners.sol/Owners.json +1 -1
- package/out/Puppet.sol/Puppet.json +1 -1
- package/out/PuppetDelegationControl.sol/PuppetDelegationControl.abi.json +0 -13
- package/out/PuppetDelegationControl.sol/PuppetDelegationControl.abi.json.d.ts +0 -13
- package/out/PuppetDelegationControl.sol/PuppetDelegationControl.json +1 -1
- package/out/PuppetFactorySystem.sol/PuppetFactorySystem.abi.json +0 -13
- package/out/PuppetFactorySystem.sol/PuppetFactorySystem.abi.json.d.ts +0 -13
- package/out/PuppetFactorySystem.sol/PuppetFactorySystem.json +1 -1
- package/out/PuppetMaster.sol/PuppetMaster.json +1 -1
- package/out/PuppetModule.sol/PuppetModule.abi.json +10 -23
- package/out/PuppetModule.sol/PuppetModule.abi.json.d.ts +10 -23
- package/out/PuppetModule.sol/PuppetModule.json +1 -1
- package/out/PuppetModule.t.sol/PuppetModuleTest.json +1 -1
- package/out/PuppetModule.t.sol/PuppetTestSystem.abi.json +0 -13
- package/out/PuppetModule.t.sol/PuppetTestSystem.abi.json.d.ts +0 -13
- package/out/PuppetModule.t.sol/PuppetTestSystem.json +1 -1
- package/out/PuppetRegistry.sol/PuppetRegistry.json +1 -1
- package/out/RegistrationSystem.sol/RegistrationSystem.abi.json +31 -49
- package/out/RegistrationSystem.sol/RegistrationSystem.abi.json.d.ts +31 -49
- package/out/RegistrationSystem.sol/RegistrationSystem.json +1 -1
- package/out/ResourceAccess.sol/ResourceAccess.json +1 -1
- package/out/ResourceId.sol/ResourceIdInstance.json +1 -1
- package/out/ResourceId.sol/ResourceIdLib.json +1 -1
- package/out/ResourceIds.sol/ResourceIds.json +1 -1
- package/out/RevertSubscriber.sol/RevertSubscriber.abi.json +4 -4
- package/out/RevertSubscriber.sol/RevertSubscriber.abi.json.d.ts +4 -4
- package/out/RevertSubscriber.sol/RevertSubscriber.json +1 -1
- package/out/Schema.sol/SchemaInstance.json +1 -1
- package/out/Schema.sol/SchemaLib.abi.json +1 -18
- package/out/Schema.sol/SchemaLib.json +1 -1
- package/out/SchemaEncodeHelper.sol/SchemaEncodeHelper.json +1 -1
- package/out/Slice.sol/SliceInstance.json +1 -1
- package/out/Slice.sol/SliceLib.abi.json +1 -23
- package/out/Slice.sol/SliceLib.json +1 -1
- package/out/StandardDelegationsModule.sol/StandardDelegationsModule.abi.json +10 -23
- package/out/StandardDelegationsModule.sol/StandardDelegationsModule.abi.json.d.ts +10 -23
- package/out/StandardDelegationsModule.sol/StandardDelegationsModule.json +1 -1
- package/out/StandardDelegationsModule.t.sol/StandardDelegationsModuleTest.json +1 -1
- package/out/StdAssertions.sol/StdAssertions.json +1 -1
- package/out/StdChains.sol/StdChains.json +1 -1
- package/out/StdCheats.sol/StdCheats.json +1 -1
- package/out/StdCheats.sol/StdCheatsSafe.json +1 -1
- package/out/StdError.sol/stdError.json +1 -1
- package/out/StdInvariant.sol/StdInvariant.json +1 -1
- package/out/StdJson.sol/stdJson.json +1 -1
- package/out/StdMath.sol/stdMath.json +1 -1
- package/out/StdStorage.sol/stdStorage.json +1 -1
- package/out/StdStorage.sol/stdStorageSafe.json +1 -1
- package/out/StdStyle.sol/StdStyle.json +1 -1
- package/out/StdUtils.sol/StdUtils.json +1 -1
- package/out/Storage.sol/Storage.json +1 -1
- package/out/StoreCore.sol/StoreCore.abi.json +1 -132
- package/out/StoreCore.sol/StoreCore.json +1 -1
- package/out/StoreCore.sol/StoreCoreInternal.json +1 -1
- package/out/StoreHook.sol/StoreHook.abi.json +4 -4
- package/out/StoreHook.sol/StoreHook.abi.json.d.ts +4 -4
- package/out/StoreHook.sol/StoreHook.json +1 -1
- package/out/StoreHooks.sol/StoreHooks.json +1 -1
- package/out/{StoreData.sol/StoreData.abi.json → StoreKernel.sol/StoreKernel.abi.json} +299 -5
- package/out/{StoreData.sol/StoreData.abi.json.d.ts → StoreKernel.sol/StoreKernel.abi.json.d.ts} +299 -5
- package/out/StoreKernel.sol/StoreKernel.json +1 -0
- package/out/StoreRead.sol/StoreRead.abi.json +2 -2
- package/out/StoreRead.sol/StoreRead.abi.json.d.ts +2 -2
- package/out/StoreRead.sol/StoreRead.json +1 -1
- package/out/StoreRegistrationSystem.sol/StoreRegistrationSystem.abi.json +28 -46
- package/out/StoreRegistrationSystem.sol/StoreRegistrationSystem.abi.json.d.ts +28 -46
- package/out/StoreRegistrationSystem.sol/StoreRegistrationSystem.json +1 -1
- package/out/StoreSwitch.sol/StoreSwitch.json +1 -1
- package/out/System.sol/System.abi.json +0 -13
- package/out/System.sol/System.abi.json.d.ts +0 -13
- package/out/System.sol/System.json +1 -1
- package/out/SystemCall.sol/SystemCall.json +1 -1
- package/out/SystemHook.sol/SystemHook.json +1 -1
- package/out/SystemHooks.sol/SystemHooks.json +1 -1
- package/out/SystemRegistry.sol/SystemRegistry.json +1 -1
- package/out/SystemSwitch.sol/SystemSwitch.json +1 -1
- package/out/SystemSwitch.t.sol/EchoSystem.abi.json +0 -13
- package/out/SystemSwitch.t.sol/EchoSystem.abi.json.d.ts +0 -13
- package/out/SystemSwitch.t.sol/EchoSystem.json +1 -1
- package/out/SystemSwitch.t.sol/SystemSwitchTest.abi.json +0 -16
- package/out/SystemSwitch.t.sol/SystemSwitchTest.abi.json.d.ts +0 -16
- package/out/SystemSwitch.t.sol/SystemSwitchTest.json +1 -1
- package/out/SystemboundDelegationControl.sol/SystemboundDelegationControl.abi.json +0 -13
- package/out/SystemboundDelegationControl.sol/SystemboundDelegationControl.abi.json.d.ts +0 -13
- package/out/SystemboundDelegationControl.sol/SystemboundDelegationControl.json +1 -1
- package/out/SystemboundDelegations.sol/SystemboundDelegations.json +1 -1
- package/out/Systems.sol/Systems.json +1 -1
- package/out/Tables.sol/Tables.json +1 -1
- package/out/Test.sol/Test.json +1 -1
- package/out/TightCoder.sol/TightCoder.json +1 -1
- package/out/TimeboundDelegationControl.sol/TimeboundDelegationControl.abi.json +0 -13
- package/out/TimeboundDelegationControl.sol/TimeboundDelegationControl.abi.json.d.ts +0 -13
- package/out/TimeboundDelegationControl.sol/TimeboundDelegationControl.json +1 -1
- package/out/TimeboundDelegations.sol/TimeboundDelegations.json +1 -1
- package/out/TokenApproval.sol/TokenApproval.json +1 -1
- package/out/TokenURI.sol/TokenURI.json +1 -1
- package/out/TotalSupply.sol/TotalSupply.json +1 -1
- package/out/TwoFields.sol/TwoFields.json +1 -1
- package/out/UniqueEntity.sol/UniqueEntity.json +1 -1
- package/out/UniqueEntityModule.sol/UniqueEntityModule.abi.json +10 -23
- package/out/UniqueEntityModule.sol/UniqueEntityModule.abi.json.d.ts +10 -23
- package/out/UniqueEntityModule.sol/UniqueEntityModule.json +1 -1
- package/out/UniqueEntityModule.t.sol/UniqueEntityModuleTest.json +1 -1
- package/out/UniqueEntityModule.t.sol/UniqueEntityTestSystem.abi.json +0 -13
- package/out/UniqueEntityModule.t.sol/UniqueEntityTestSystem.abi.json.d.ts +0 -13
- package/out/UniqueEntityModule.t.sol/UniqueEntityTestSystem.json +1 -1
- package/out/UniqueEntitySystem.sol/UniqueEntitySystem.abi.json +0 -13
- package/out/UniqueEntitySystem.sol/UniqueEntitySystem.abi.json.d.ts +0 -13
- package/out/UniqueEntitySystem.sol/UniqueEntitySystem.json +1 -1
- package/out/UsedKeysIndex.sol/UsedKeysIndex.json +1 -1
- package/out/UserDelegationControl.sol/UserDelegationControl.json +1 -1
- package/out/Vm.sol/Vm.json +1 -1
- package/out/Vm.sol/VmSafe.json +1 -1
- package/out/World.sol/World.abi.json +232 -127
- package/out/World.sol/World.abi.json.d.ts +232 -127
- package/out/World.sol/World.json +1 -1
- package/out/World.t.sol/EchoSystemHook.json +1 -1
- package/out/World.t.sol/IWorldTestSystem.json +1 -1
- package/out/World.t.sol/PayableFallbackSystem.abi.json +0 -13
- package/out/World.t.sol/PayableFallbackSystem.abi.json.d.ts +0 -13
- package/out/World.t.sol/PayableFallbackSystem.json +1 -1
- package/out/World.t.sol/RevertSystemHook.json +1 -1
- package/out/World.t.sol/WorldTest.abi.json +7 -7
- package/out/World.t.sol/WorldTest.abi.json.d.ts +7 -7
- package/out/World.t.sol/WorldTest.json +1 -1
- package/out/World.t.sol/WorldTestSystem.abi.json +1 -14
- package/out/World.t.sol/WorldTestSystem.abi.json.d.ts +1 -14
- package/out/World.t.sol/WorldTestSystem.json +1 -1
- package/out/WorldContext.sol/WorldContextConsumer.abi.json +0 -13
- package/out/WorldContext.sol/WorldContextConsumer.abi.json.d.ts +0 -13
- package/out/WorldContext.sol/WorldContextConsumer.json +1 -1
- package/out/WorldContext.sol/WorldContextConsumerLib.json +1 -1
- package/out/WorldContext.sol/WorldContextProviderLib.json +1 -1
- package/out/WorldRegistrationSystem.sol/WorldRegistrationSystem.abi.json +12 -30
- package/out/WorldRegistrationSystem.sol/WorldRegistrationSystem.abi.json.d.ts +12 -30
- package/out/WorldRegistrationSystem.sol/WorldRegistrationSystem.json +1 -1
- package/out/WorldResourceId.sol/WorldResourceIdInstance.json +1 -1
- package/out/WorldResourceId.sol/WorldResourceIdLib.json +1 -1
- package/out/console.sol/console.json +1 -1
- package/out/console2.sol/console2.json +1 -1
- package/out/constants.sol/LayoutOffsets.json +1 -1
- package/out/interfaces/IBaseWorld.sol/IBaseWorld.abi.json +174 -19
- package/out/interfaces/IBaseWorld.sol/IBaseWorld.abi.json.d.ts +174 -19
- package/out/interfaces/IBaseWorld.sol/IBaseWorld.json +1 -1
- package/out/query.t.sol/QueryTest.abi.json +6 -6
- package/out/query.t.sol/QueryTest.abi.json.d.ts +6 -6
- package/out/query.t.sol/QueryTest.json +1 -1
- package/out/safeconsole.sol/safeconsole.json +1 -1
- package/out/src/IERC165.sol/IERC165.json +1 -1
- package/out/tables/Balances.sol/Balances.json +1 -1
- package/out/test.sol/DSTest.json +1 -1
- package/out/world/src/IERC165.sol/IERC165.json +1 -1
- package/package.json +8 -9
- package/src/index.sol +5 -5
- package/src/interfaces/IBaseWorld.sol +2 -3
- package/src/interfaces/IERC20System.sol +1 -0
- package/src/interfaces/IPuppetFactorySystem.sol +1 -0
- package/src/modules/erc20-puppet/ERC20Module.sol +1 -3
- package/src/modules/erc20-puppet/tables/Allowances.sol +13 -43
- package/src/modules/erc20-puppet/tables/ERC20Metadata.sol +24 -54
- package/src/modules/erc20-puppet/tables/ERC20Registry.sol +13 -42
- package/src/modules/erc20-puppet/tables/TotalSupply.sol +13 -41
- package/src/modules/erc721-puppet/ERC721Module.sol +1 -3
- package/src/modules/erc721-puppet/IERC721Metadata.sol +1 -0
- package/src/modules/erc721-puppet/IERC721Receiver.sol +1 -0
- package/src/modules/erc721-puppet/tables/ERC721Metadata.sol +23 -53
- package/src/modules/erc721-puppet/tables/ERC721Registry.sol +13 -42
- package/src/modules/erc721-puppet/tables/OperatorApproval.sol +13 -43
- package/src/modules/erc721-puppet/tables/Owners.sol +13 -42
- package/src/modules/erc721-puppet/tables/TokenApproval.sol +13 -42
- package/src/modules/erc721-puppet/tables/TokenURI.sol +15 -44
- package/src/modules/keysintable/KeysInTableHook.sol +3 -3
- package/src/modules/keysintable/KeysInTableModule.sol +13 -13
- package/src/modules/keysintable/query.sol +7 -7
- package/src/modules/keysintable/tables/KeysInTable.sol +47 -63
- package/src/modules/keysintable/tables/UsedKeysIndex.sol +25 -57
- package/src/modules/keyswithvalue/KeysWithValueHook.sol +5 -5
- package/src/modules/keyswithvalue/KeysWithValueModule.sol +3 -3
- package/src/modules/keyswithvalue/getKeysWithValue.sol +3 -3
- package/src/modules/keyswithvalue/tables/KeysWithValue.sol +16 -45
- package/src/modules/puppet/tables/PuppetRegistry.sol +13 -42
- package/src/modules/std-delegations/tables/CallboundDelegations.sol +15 -48
- package/src/modules/std-delegations/tables/SystemboundDelegations.sol +15 -47
- package/src/modules/std-delegations/tables/TimeboundDelegations.sol +15 -46
- package/src/modules/tokens/tables/Balances.sol +13 -42
- package/src/modules/uniqueentity/tables/UniqueEntity.sol +14 -42
- package/src/utils/AccessControlLib.sol +1 -0
- package/src/utils/SystemSwitch.sol +1 -0
- package/ts/scripts/tablegen.ts +2 -2
- package/ts/scripts/worldgen.ts +6 -5
- package/out/IStoreData.sol/IStoreData.json +0 -1
- package/out/PackedCounter.sol/PackedCounterInstance.json +0 -1
- package/out/PackedCounter.sol/PackedCounterLib.json +0 -1
- package/out/StoreCore.sol/StoreCore.abi.json.d.ts +0 -132
- package/out/StoreData.sol/StoreData.json +0 -1
- package/out/TransactionContext.sol/TransactionContext.json +0 -1
- /package/out/{PackedCounter.sol/PackedCounterLib.abi.json → EncodedLengths.sol/EncodedLengthsInstance.abi.json} +0 -0
- /package/out/{TransactionContext.sol/TransactionContext.abi.json → EncodedLengths.sol/EncodedLengthsLib.abi.json} +0 -0
- /package/out/{Slice.sol/SliceLib.abi.json.d.ts → ISliceErrors.sol/ISliceErrors.abi.json.d.ts} +0 -0
@@ -1 +1 @@
|
|
1
|
-
{"abi":[{"type":"function","name":"_initialMsgSender","inputs":[],"outputs":[{"name":"sender","type":"address","internalType":"address"}],"stateMutability":"view"},{"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":"systemFunctionSelector","type":"bytes4","internalType":"bytes4"}],"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":"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":"FieldLayoutLib_Empty","inputs":[]},{"type":"error","name":"FieldLayoutLib_InvalidStaticDataLength","inputs":[{"name":"staticDataLength","type":"uint256","internalType":"uint256"},{"name":"computedStaticDataLength","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayoutLib_StaticLengthDoesNotFitInAWord","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayoutLib_StaticLengthIsNotZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayoutLib_StaticLengthIsZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayoutLib_TooManyDynamicFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayoutLib_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":"SchemaLib_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"SchemaLib_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_DirectCallToSystemForbidden","inputs":[{"name":"caller","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":"0x60a06040523060805234801561001457600080fd5b50608051615932620000316000396000610c3501526159326000f3fe608060405234801561001057600080fd5b50600436106101515760003560e01c8063742d6118116100cd578063b29e408911610081578063cdc938c511610066578063cdc938c5146102b8578063d5f8337f146102cb578063e1af802c146102de57600080fd5b8063b29e408914610292578063bfdfaff7146102a557600080fd5b80639081c758116100b25780639081c75814610264578063a92813ad1461026c578063aa66e9c81461027f57600080fd5b8063742d61181461023e5780638da798da1461025157600080fd5b80631d2257ba116101245780633350b6a9116101095780633350b6a91461020557806345ec935414610218578063530f4b601461022b57600080fd5b80631d2257ba146101c657806326d98102146101d957600080fd5b806301ffc9a714610156578063056091291461017e5780630ba51f4914610193578063119df25f146101a6575b600080fd5b610169610164366004614d5b565b6102e6565b60405190151581526020015b60405180910390f35b61019161018c366004614d8b565b61034f565b005b6101916101a1366004614e07565b610376565b6101ae610441565b6040516001600160a01b039091168152602001610175565b6101916101d4366004614f54565b610450565b6101ec6101e7366004614fad565b6104cb565b6040516001600160e01b03199091168152602001610175565b610191610213366004614ff4565b610617565b604051601f193601358152602001610175565b61019161023936600461504c565b610792565b6101ec61024c36600461508a565b6107fe565b61019161025f3660046150d8565b6108c0565b6101ae610982565b61019161027a366004614d8b565b61098c565b61019161028d366004615112565b6109cb565b6101916102a0366004615112565b6109fd565b6101916102b336600461512b565b610a92565b6101916102c6366004615165565b610b47565b6101916102d936600461504c565b610b60565b6101ae610c21565b60006001600160e01b031982167f255f267f00000000000000000000000000000000000000000000000000000000148061034957506001600160e01b031982167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b610357610c2b565b61036882610363610441565b610c8f565b6103728282610d08565b5050565b61037e610c2b565b600061038989610d33565b6fffffffffffffffffffffffffffffffff1916036103e857876103ab89610d4a565b6040517fe4ac069e0000000000000000000000000000000000000000000000000000000081526004016103df9291906151d2565b60405180910390fd5b61040b616e7360f01b6dffffffffffffffffffffffffffff60801b8a1617610e5e565b61041788610363610441565b61043788888888610428888a6151eb565b61043287896151eb565b610ea9565b5050505050505050565b600061044b6112b9565b905090565b610458610c2b565b61046a610463610441565b84846112eb565b610473826113be565b156104c6576000610483836113da565b90506104af817f1a86b55000000000000000000000000000000000000000000000000000000000611476565b6104c36104ba610441565b848460006114d1565b50505b505050565b60006104d5610c2b565b61737960f01b836001600160f01b031916146105305761737960f01b836104fb85610d4a565b6040517f5c30fb6f0000000000000000000000000000000000000000000000000000000081526004016103df93929190615271565b61053983610e5e565b61054583610363610441565b600061056e6105548560101b90565b71ffffffffffffffffffffffffffffffffffff1916611500565b90506000818460405160200161058592919061529a565b60405160208183030381529060405290508080519060200120925060006105ab84611586565b905080156105f1576040517f3d1d1ae20000000000000000000000000000000000000000000000000000000081526001600160e01b0319851660048201526024016103df565b84516020860120610603858883611636565b61060d8584611701565b5050505092915050565b61061f610c2b565b61737960f01b836001600160f01b031916146106455761737960f01b836104fb85610d4a565b6dffffffffffffffffffffffffffff60801b8316616e7360f01b1761066981610e5e565b61067581610363610441565b61069f837f255f267f00000000000000000000000000000000000000000000000000000000611476565b60006106aa85610d33565b6fffffffffffffffffffffffffffffffff1916036106cc57836103ab85610d4a565b60006106d7846117ca565b905080158015906106e85750848114155b1561072a576040517fc0b707410000000000000000000000000000000000000000000000000000000081526001600160a01b03851660048201526024016103df565b6000610735866113da565b90506001600160a01b0381161561075e5761074f8161184f565b61075983826118ce565b610769565b61076986600161196c565b610774868686611a0d565b61077e8587611ab0565b61078a83866001611b3b565b505050505050565b61079a610c2b565b6107c4827f1873396a00000000000000000000000000000000000000000000000000000000611476565b6107e7616e7360f01b6dffffffffffffffffffffffffffff60801b851617610e5e565b6107f383610363610441565b6104c6838383611bea565b6000610808610c2b565b60408051616e7360f01b6020820152600060228201819052603082015261084a9101604051602081830303815290604052610842906152f2565b610363610441565b5081516020830120600061085d82611586565b905080156108a3576040517f3d1d1ae20000000000000000000000000000000000000000000000000000000081526001600160e01b0319831660048201526024016103df565b6108ae828685611636565b6108b88285611701565b509392505050565b6108c8610c2b565b6108f2827f6fdd1c8000000000000000000000000000000000000000000000000000000000611476565b61096e6108fd610441565b600084846040516024016109119190615316565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f13861fb500000000000000000000000000000000000000000000000000000000179052611cad565b506103728282805190602001206001611cbe565b600061044b611d6d565b610994610c2b565b6109a082610363610441565b6103727f7462776f726c6400000000000000000053797374656d486f6f6b7300000000008383611d77565b6109d3610c2b565b6109dc81611e8a565b6109e581610e5e565b6109f181610363610441565b6109fa81611ebb565b50565b610a05610c2b565b610a0e81611e8a565b610a1781611f26565b610a2081612118565b15610a635780610a2f82610d4a565b6040517f0dc28f6a0000000000000000000000000000000000000000000000000000000081526004016103df9291906151d2565b610a6e81600161196c565b610a7f81610a7a610441565b61219d565b6109fa81610a8b610441565b6001611b3b565b610a9a610c2b565b610aa383611e8a565b610aac826113be565b610ae2576040517f71ee9e8100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610aee83610363610441565b6000610af9836113da565b9050610b25817f1a86b55000000000000000000000000000000000000000000000000000000000611476565b610b2f8484612267565b815115610b41576104c36104ba610441565b50505050565b610b4f610c2b565b6109fa610b5a610441565b826122e6565b610b68610c2b565b61737960f01b836001600160f01b03191614610b8e5761737960f01b836104fb85610d4a565b610bb8827f540fbfa800000000000000000000000000000000000000000000000000000000611476565b610bc183610e5e565b610be4616e7360f01b6dffffffffffffffffffffffffffff60801b851617610e5e565b610bf083610363610441565b6104c6836bffffffffffffffffffffffff19606085901b166bff0000000000000000000000605885901b1617612388565b600061044b61242d565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610c8d576040517f9f03a02600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b6001600160a01b038116610cbc616e7360f01b6dffffffffffffffffffffffffffff60801b851617612437565b6001600160a01b03161461037257610cd382610d4a565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016103df929190615329565b6103727f746273746f726500000000000000000053746f7265486f6f6b730000000000008383611d77565b6000610d416070601061536a565b9190911b919050565b606081601081901b6000610d5d83610d33565b90508271ffffffffffffffffffffffffffffffffffff19831615610d9e57610d9971ffffffffffffffffffffffffffffffffffff198416611500565b610dd5565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff19831615610dfc57610df783611500565b610e33565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001610e459392919061537d565b6040516020818303038152906040529350505050919050565b610e6781612118565b6109fa5780610e7582610d4a565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016103df9291906151d2565b613a3160f11b866001600160f01b03191614801590610ed75750611bdd60f21b866001600160f01b03191614155b15610f3857613a3160f11b8687604051602001610ef691815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526103df939291600401615271565b610f41856124c8565b610f4c84600161270f565b610f5783600061270f565b60e084901c60e885901c0160ff16825114610fb75760e084901c60e885901c0160ff1682516040517f0f72cb98000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016103df565b60e085901c60e886901c0160ff168151146110175760e085901c60e886901c0160ff1681516040517f7dec4c00000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016103df565b60e085901c60e886901c0160ff1660e084901c60e885901c0160ff161461108f5760e085901c60e886901c0160ff1660e084901c60e885901c0160ff166040517ff29d4d88000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016103df565b611098856128ab565b6110a1846128ab565b146110f3576110af856128ab565b6110b8846128ab565b6040517f65cc0adf000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016103df565b6110fc856128dd565b611105846128dd565b1461115757611113856128dd565b61111c846128dd565b6040517fedea9587000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016103df565b60005b611163866128ab565b8110156111fe5761118d61117785836128fa565b60c5811115611188576111886153f3565b612922565b6008601b8390030287901c60ff16146111f6576008601b8290030286901c60ff166111bb61117786846128fa565b6040517f254c7db4000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016103df565b60010161115a565b5061120886612118565b1561126257858660405160200161122191815260200190565b60408051601f19818403018152908290527fdfaaf9cf0000000000000000000000000000000000000000000000000000000082526103df92916004016151d2565b6112ae868686868660405160200161127a9190615409565b6040516020818303038152906040528660405160200161129a9190615409565b604051602081830303815290604052612982565b61078a86600161196c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806112e85750335b90565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b8160008151811061132c5761132c61548b565b602002602001018181525050826001600160a01b031660001b816001815181106113585761135861548b565b602002602001018181525050610b417f7462776f726c640000000000000000005573657244656c65676174696f6e436f60001b826000856040516020016113a191815260200190565b60408051601f19818403018152919052630100080160dd1b612a49565b6000811515801561034957506113d382612a5e565b1592915050565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106114135761141361548b565b6020908102919091010152600061146b7f7462776f726c6400000000000000000053797374656d7300000000000000000083837e15020014010000000000000000000000000000000000000000000000000000612abe565b60601c949350505050565b6114808282612af4565b610372576040517f74b5e6ff0000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526001600160e01b0319821660248201526044016103df565b60606000806114e287878787612b10565b91509150816114f4576114f481612ce0565b9150505b949350505050565b606060005b6010811015611556576fffffffffffffffffffffffffffffffff198316600882021b7fff00000000000000000000000000000000000000000000000000000000000000161561155657600101611505565b604080516fffffffffffffffffffffffffffffffff198516602082015281516030909101909152818152806114f8565b60408051600180825281830190925260009182919060208083019080368337019050509050827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916816000815181106115de576115de61548b565b602090810291909101015260006114f87f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f7283837e24020020040000000000000000000000000000000000000000000000000000612abe565b60006116428383612ce8565b60408051600180825281830190925291925060009160609183919060208083019080368337019050509050867bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916816000815181106116a0576116a061548b565b60209081029190910101526116f87f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72828686867e24020020040000000000000000000000000000000000000000000000000000612d27565b50505050505050565b6060600061170e8361302d565b9050600061171b8461303d565b6040805160018082528183019092529192506000919060208083019080368337019050509050857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916816000815181106117745761177461548b565b602090810291909101015261078a7f6f74776f726c6400000000000000000046756e6374696f6e5369676e61747572828686867c0100000000000000000000000000000000000000000000000000000000612d27565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b8160008151811061180f5761180f61548b565b602090810291909101015260006114f87f7462776f726c6400000000000000000053797374656d526567697374727900008383630100080160dd1b612abe565b60408051600180825281830190925260009160208083019080368337019050509050816001600160a01b031660001b816000815181106118915761189161548b565b60209081029190910101526103727f7462776f726c6400000000000000000053797374656d5265676973747279000082630100080160dd1b613066565b60408051600280825260608201835260009260208301908036833701905050905082816000815181106119035761190361548b565b602002602001018181525050816001600160a01b031660001b8160018151811061192f5761192f61548b565b60209081029190910101526104c67f7462776f726c640000000000000000005265736f75726365416363657373000082630101000160d81b613066565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106119a2576119a261548b565b6020026020010181815250506104c67f746273746f72650000000000000000005265736f75726365496473000000000060001b826000856040516020016119f091151560f81b815260010190565b60408051601f19818403018152919052630101000160d81b612a49565b6000611a198383613332565b604080516001808252818301909252919250600091606091839190602080830190803683370190505090508681600081518110611a5857611a5861548b565b60209081029190910101526116f87f7462776f726c6400000000000000000053797374656d73000000000000000000828686867e15020014010000000000000000000000000000000000000000000000000000612d27565b60408051600180825281830190925260009160208083019080368337019050509050826001600160a01b031660001b81600081518110611af257611af261548b565b6020026020010181815250506104c67f7462776f726c6400000000000000000053797374656d5265676973747279000060001b826000856040516020016113a191815260200190565b6040805160028082526060820183526000926020830190803683370190505090508381600081518110611b7057611b7061548b565b602002602001018181525050826001600160a01b031660001b81600181518110611b9c57611b9c61548b565b602002602001018181525050610b417f7462776f726c640000000000000000005265736f75726365416363657373000060001b826000856040516020016119f091151560f81b815260010190565b613a3160f11b836001600160f01b03191614611c1a57613a3160f11b8384604051602001610ef691815260200190565b611c2383612118565b611c7c578283604051602001611c3b91815260200190565b60408051601f19818403018152908290527f41e713ad0000000000000000000000000000000000000000000000000000000082526103df92916004016151d2565b6104c6836bffffffffffffffffffffffff19606085901b166bff0000000000000000000000605885901b1617613362565b60606000806114e287878787613407565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110611cff57611cff61548b565b6020026020010181815250508281600181518110611d1f57611d1f61548b565b602002602001018181525050610b417f7462776f726c64000000000000000000496e7374616c6c65644d6f64756c657360001b826000856040516020016119f091151560f81b815260010190565b600061044b61347f565b6000611d8384846134e6565b90506000815167ffffffffffffffff811115611da157611da1614e9d565b604051908082528060200260200182016040528015611dca578160200160208202803683370190505b5090506000805b8351811015611e7b57846001600160a01b0316611e15858381518110611df957611df961548b565b60200260200101516affffffffffffffffffffff191660601c90565b6001600160a01b031614611e7357838181518110611e3557611e3561548b565b6020026020010151838381518110611e4f57611e4f61548b565b6affffffffffffffffffffff19909216602092830291909101909101526001909101905b600101611dd1565b5080825261078a868684613551565b616e7360f01b6dffffffffffffffffffffffffffff60801b82161781146109fa57616e7360f01b816104fb83610d4a565b604080516001808252818301909252600091602080830190803683370190505090508181600081518110611ef157611ef161548b565b60209081029190910101526103727f7462776f726c640000000000000000004e616d65737061636544656c65676174826135a8565b6000611f328260101b90565b90506000611f5471ffffffffffffffffffffffffffffffffffff198316611500565b80519091508015610b4157611f7682611f6e6001846154a1565b016020015190565b7fff00000000000000000000000000000000000000000000000000000000000000167f5f0000000000000000000000000000000000000000000000000000000000000003612007576040517f0efb4b8500000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff19841660048201526024016103df565b60005b6120156001836154a1565b8110156104c357602081840101517effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f5f000000000000000000000000000000000000000000000000000000000000001480156120c2575061207d83611f6e83600161536a565b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f5f00000000000000000000000000000000000000000000000000000000000000145b15612110576040517f0efb4b8500000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff19851660048201526024016103df565b60010161200a565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106121515761215161548b565b602090810291909101015260006121917f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b612abe565b90506114f88160f81c90565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106121d3576121d361548b565b6020026020010181815250506104c67f7462776f726c640000000000000000004e616d6573706163654f776e6572000060001b82600085604051602001612232919060609190911b6bffffffffffffffffffffffff1916815260140190565b60408051601f198184030181529190527e14010014000000000000000000000000000000000000000000000000000000612a49565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061229d5761229d61548b565b6020026020010181815250506104c67f7462776f726c640000000000000000004e616d65737061636544656c6567617460001b826000856040516020016113a191815260200190565b604080516002808252606082018352600092602083019080368337019050509050826001600160a01b031660001b816000815181106123275761232761548b565b602002602001018181525050816001600160a01b031660001b816001815181106123535761235361548b565b60209081029190910101526104c67f7462776f726c640000000000000000005573657244656c65676174696f6e436f826135a8565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106123be576123be61548b565b6020026020010181815250506104c67f7462776f726c6400000000000000000053797374656d486f6f6b73000000000060001b8260008560405160200161241991906affffffffffffffffffffff1991909116815260150190565b604051602081830303815290604052613643565b600061044b6136f4565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106124705761247061548b565b6020908102919091010152600061146b7f7462776f726c640000000000000000004e616d6573706163654f776e6572000083837e14010014000000000000000000000000000000000000000000000000000000612abe565b806124ff576040517f220c0f6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061250a826128dd565b90506005811115612551576040517f7f2372c300000000000000000000000000000000000000000000000000000000815260048101829052600560248201526044016103df565b600061255c836128ab565b9050600061256a838361536a565b9050601c8111156125b1576040517f4a8a06ad00000000000000000000000000000000000000000000000000000000815260048101829052601c60248201526044016103df565b6000805b8381101561265c5760ff601b82900360080287901c166000819003612609576040517f01f2a07c000000000000000000000000000000000000000000000000000000008152600481018390526024016103df565b6020811115612647576040517f24c85d58000000000000000000000000000000000000000000000000000000008152600481018390526024016103df565b612651818461536a565b9250506001016125b5565b5061266685613733565b81146126b25761267585613733565b6040517f9365944a0000000000000000000000000000000000000000000000000000000081526004810191909152602481018290526044016103df565b825b601c81101561078a5760ff601b82900360080287901c168015612706576040517fbb68821a000000000000000000000000000000000000000000000000000000008152600481018390526024016103df565b506001016126b4565b8015801561271b575081155b1561273c57604051635318beb960e01b8152600060048201526024016103df565b6000612747836128dd565b9050600581111561276e57604051635318beb960e01b8152600481018290526024016103df565b6000612779846128ab565b90506000612787838361536a565b9050601c8111156127ae57604051635318beb960e01b8152600481018290526024016103df565b6000805b8381101561281a5760006127c961117789846128fa565b905080600003612805576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61280f818461536a565b9250506001016127b2565b5061282486613733565b811461284f5761283386613733565b604051635318beb960e01b81526004016103df91815260200190565b825b828110156116f857600061286861117789846128fa565b905080156128a2576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50600101612851565b6000600860016128bd600260206154a1565b6128c791906154a1565b6128d191906154b4565b8260ff911c1692915050565b600060086001806128f0600260206154a1565b6128bd91906154a1565b6000601b8290036008028360ff911c1660c581111561291b5761291b6153f3565b9392505050565b6000808260c5811115612937576129376153f3565b60ff169050606181101561295157601f1660010192915050565b60618360c5811115612965576129656153f3565b036129735750601492915050565b50600092915050565b50919050565b600061298f868686613756565b9050600061299d848461378c565b905060006129ab85856137a9565b604080516001808252818301909252919250600091906020808301908036833701905050905089816000815181106129e5576129e561548b565b6020908102919091010152612a3d7f746273746f72650000000000000000005461626c657300000000000000000000828686867e60030220202000000000000000000000000000000000000000000000000000612d27565b50505050505050505050565b6104c38585612a5884876137be565b856137ef565b6040805161737960f01b60208201526000602282018190527f756e6c696d69746564000000000000000000000000000000000000000000000060308301529101604051602081830303815290604052612ab6906152f2565b909114919050565b6000612aeb612acd8686613a57565b60ff858116601b0360080285901c16612ae685876137be565b613aad565b95945050505050565b6000612aff83613afe565b801561291b575061291b8383613b3f565b600060606000612b1f86613bf7565b905060005b8151811015612bf2576000828281518110612b4157612b4161548b565b60200260200101519050612b6d6001826affffffffffffffffffffff1916613c7b90919063ffffffff16565b15612be9576040517fc3323031000000000000000000000000000000000000000000000000000000008152606082901c9063c332303190612bb6908c908c908c906004016154cb565b600060405180830381600087803b158015612bd057600080fd5b505af1158015612be4573d6000803e3d6000fd5b505050505b50600101612b24565b50612bff87858888613c99565b909350915060005b8151811015612cd5576000828281518110612c2457612c2461548b565b60200260200101519050612c506002826affffffffffffffffffffff1916613c7b90919063ffffffff16565b15612ccc576040517f973d8f99000000000000000000000000000000000000000000000000000000008152606082901c9063973d8f9990612c99908c908c908c906004016154cb565b600060405180830381600087803b158015612cb357600080fd5b505af1158015612cc7573d6000803e3d6000fd5b505050505b50600101612c07565b505094509492505050565b805160208201fd5b60608282604051602001612d109291909182526001600160e01b031916602082015260240190565b604051602081830303815290604052905092915050565b611bdd60f21b866001600160f01b03191603612d8057857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a986868686604051612d73949392919061552f565b60405180910390a261078a565b6000612d8b87613d6b565b905060005b8151811015612e64576000828281518110612dad57612dad61548b565b60200260200101519050612dd96001826affffffffffffffffffffff1916613c7b90919063ffffffff16565b15612e5b576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90612e28908c908c908c908c908c908c9060040161556e565b600060405180830381600087803b158015612e4257600080fd5b505af1158015612e56573d6000803e3d6000fd5b505050505b50600101612d90565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a987878787604051612e9b949392919061552f565b60405180910390a26000612eaf8888613a57565b90506000602087019050612ec7826000895184613ddd565b6000612ed2856128dd565b1115612f56576000612ee48a8a613e9c565b878155905060208601915060008060005b612efe886128dd565b8160ff161015612f5157612f138d8d83613ef2565b9250612f2e8a8260ff166028026038011c64ffffffffff1690565b9150612f3d8360008488613ddd565b612f47828661536a565b9450600101612ef5565b505050505b60005b8351811015612a3d576000848281518110612f7657612f7661548b565b60200260200101519050612fa26002826affffffffffffffffffffff1916613c7b90919063ffffffff16565b15613024576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90612ff1908e908e908e908e908e908e9060040161556e565b600060405180830381600087803b15801561300b57600080fd5b505af115801561301f573d6000803e3d6000fd5b505050505b50600101612f59565b60006103498251603881901b1790565b60608160405160200161305091906155c7565b6040516020818303038152906040529050919050565b611bdd60f21b836001600160f01b031916036130b957827f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d07836040516130ac91906155e3565b60405180910390a2505050565b60006130c484613d6b565b905060005b81518110156131975760008282815181106130e6576130e661548b565b602002602001015190506131126040826affffffffffffffffffffff1916613c7b90919063ffffffff16565b1561318e576040517f9faeaf45000000000000000000000000000000000000000000000000000000008152606082901c90639faeaf459061315b908990899089906004016155f6565b600060405180830381600087803b15801561317557600080fd5b505af1158015613189573d6000803e3d6000fd5b505050505b506001016130c9565b50837f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d07846040516131c891906155e3565b60405180910390a260006131dc8585613a57565b90506132358160006131ed86613733565b67ffffffffffffffff81111561320557613205614e9d565b6040519080825280601f01601f19166020018201604052801561322f576020820181803683370190505b50613f72565b6000613240846128dd565b11156132615760006132528686613e9c565b905061325f816020613f88565b505b60005b825181101561078a5760008382815181106132815761328161548b565b602002602001015190506132ad6080826affffffffffffffffffffff1916613c7b90919063ffffffff16565b15613329576040517f83b5c95b000000000000000000000000000000000000000000000000000000008152606082901c906383b5c95b906132f6908a908a908a906004016155f6565b600060405180830381600087803b15801561331057600080fd5b505af1158015613324573d6000803e3d6000fd5b505050505b50600101613264565b604051606083811b6bffffffffffffffffffffffff1916602083015282151560f81b603483015290603501612d10565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106133985761339861548b565b6020026020010181815250506104c67f746273746f726500000000000000000053746f7265486f6f6b7300000000000060001b826000856040516020016133f391906affffffffffffffffffffff1991909116815260150190565b604051602081830303815290604052613fc5565b60006060836001600160a01b03166000613422858989614000565b60405161342f91906155c7565b60006040518083038185875af1925050503d806000811461346c576040519150601f19603f3d011682016040523d82523d6000602084013e613471565b606091505b509097909650945050505050565b6040805160008082526020820190925260006134dc7f7462776f726c640000000000000000005472616e73616374696f6e436f6e746583837e14010014000000000000000000000000000000000000000000000000000000614017565b60601c9392505050565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106135205761352061548b565b602002602001018181525050600061353a858360006140d4565b9050612aeb61354c826000845161410e565b61419c565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106135875761358761548b565b602002602001018181525050610b41848260006135a3866141ad565b6141bd565b60006135b26136f4565b9050306001600160a01b038216036135ce576104c683836141f8565b6040517f505a181d0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063505a181d90613615908690869060040161561f565b600060405180830381600087803b15801561362f57600080fd5b505af11580156116f8573d6000803e3d6000fd5b600061364d6136f4565b9050306001600160a01b038216036136705761366b85858585613fc5565b6104c3565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f3262906136bb908890889088908890600401615638565b600060405180830381600087803b1580156136d557600080fd5b505af11580156136e9573d6000803e3d6000fd5b505050505050505050565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b03168061372e573391505090565b919050565b60006008613743600260206154a1565b61374d91906154b4565b9190911c919050565b60408051602081018590529081018390526060818101839052906080015b60405160208183030381529060405290509392505050565b8151815160009181810160389190911b1760609190911b1761291b565b60608282604051602001612d1092919061566c565b600080805b8360ff168110156108b8576137e560ff601b83900360080287901c168361536a565b91506001016137c3565b611bdd60f21b846001600160f01b0319160361384657837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8484846040516138399392919061569b565b60405180910390a2610b41565b60006138528585613a57565b9050600061385f86613d6b565b905060005b81518110156139345760008282815181106138815761388161548b565b602002602001015190506138ad6004826affffffffffffffffffffff1916613c7b90919063ffffffff16565b1561392b576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d906138f8908b908b908b908b906004016156d8565b600060405180830381600087803b15801561391257600080fd5b505af1158015613926573d6000803e3d6000fd5b505050505b50600101613864565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8686866040516139699392919061569b565b60405180910390a2613984828565ffffffffffff1685613f72565b60005b81518110156116f85760008282815181106139a4576139a461548b565b602002602001015190506139d06008826affffffffffffffffffffff1916613c7b90919063ffffffff16565b15613a4e576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190613a1b908b908b908b908b906004016156d8565b600060405180830381600087803b158015613a3557600080fd5b505af1158015613a49573d6000803e3d6000fd5b505050505b50600101613987565b60008282604051602001613a6c929190615711565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600060208210613ad357602082048401935060208281613acf57613acf61574d565b0691505b508254600882021b6020829003808411156108b8576001850154600882021c82179150509392505050565b6000613b2a827f01ffc9a700000000000000000000000000000000000000000000000000000000613b3f565b801561034957506113d3826001600160e01b03195b6040516001600160e01b031982166024820152600090819060440160408051601f19818403018152919052602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825192935060009283928392909183918a617530fa92503d91506000519050828015613be0575060208210155b8015613bec5750600081115b979650505050505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110613c3157613c3161548b565b60209081029190910101526000613c697f7462776f726c6400000000000000000053797374656d486f6f6b73000000000083836140d4565b90506114f861354c826000845161410e565b60008160ff1682613c8c8560581c90565b1660ff1614905092915050565b60006060600080613ca98661420b565b90925090506001600160a01b038216613cc65785610e7587610d4a565b80613cd557613cd586896142c3565b8615613d19576dffffffffffffffffffffffffffff60801b8616616e7360f01b176000613d01826142da565b9050613d1682613d118b8461536a565b614353565b50505b6000613d258760101b90565b71ffffffffffffffffffffffffffffffffffff191614613d5057613d4b88888488613407565b613d5c565b613d5c888884886143d2565b90999098509650505050505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110613da557613da561548b565b60209081029190910101526000613c697f746273746f726500000000000000000053746f7265486f6f6b7300000000000083836140d4565b8215613e575760208310613e0757602083048401935060208381613e0357613e0361574d565b0692505b8215613e575760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411613e48575050610b41565b50600194909401939182900391015b5b60208210613e795780518455600190930192601f1990910190602001613e58565b8115610b41576000600019600884021c8554835182191691161785555050505050565b60008282604051602001613eb1929190615711565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b60008383604051602001613f07929190615711565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b6104c683838351613f838560200190565b613ddd565b60006020613f9783601f61536a565b613fa19190615763565b613fab908461536a565b90505b808310156104c65760008355600183019250613fae565b6000613fd18585614433565b90506000613fee828560ff166028026038011c64ffffffffff1690565b905061078a8686868460008888614446565b606083838360405160200161377493929190615785565b6000806140226136f4565b9050306001600160a01b038216036140485761404086868686612abe565b9150506114f8565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d59906140939089908990899089906004016157c4565b602060405180830381865afa1580156140b0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061404091906157f3565b60606114f86140e4858585613ef2565b6000614109856140f48989614433565b9060ff166028026038011c64ffffffffff1690565b6147ee565b60008183118061411e5750835182115b1561415b578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016103df9392919061580c565b60208401614169848261536a565b9050600061417785856154a1565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b6060600061291b8360156000614811565b60608161291b816015600061488c565b60006141c98585614433565b905060006141e6828560ff166028026038011c64ffffffffff1690565b905061078a8686866000858888614446565b6103728282614206856148e0565b613066565b604080516001808252818301909252600091829182916020808301908036833701905050905083816000815181106142455761424561548b565b60209081029190910101526000808061429e7f7462776f726c6400000000000000000053797374656d73000000000000000000857e15020014010000000000000000000000000000000000000000000000000000614965565b5050602081015160349091015160609190911c9860f89190911c975095505050505050565b6142cd8282614a6d565b61037257610cd382610d4a565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106143135761431361548b565b602090810291909101015260006114f87f7462776f726c6400000000000000000042616c616e63657300000000000000008383630100080160dd1b612abe565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106143895761438961548b565b6020026020010181815250506104c67f7462776f726c6400000000000000000042616c616e636573000000000000000060001b826000856040516020016113a191815260200190565b60006060836001600160a01b03166143eb848888614000565b6040516143f891906155c7565b600060405180830381855af49150503d806000811461346c576040519150601f19603f3d011682016040523d82523d6000602084013e613471565b600061291b6144428484613e9c565b5490565b613a3160f11b876001600160f01b0319161461447657613a3160f11b8788604051602001610ef691815260200190565b6000614491828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff16836144aa91906154a1565b6144b4919061536a565b90508082141580156144d65750816144cc8688615831565b64ffffffffff1614155b15614526576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016103df565b818664ffffffffff161115614577576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016103df565b6000614584848984614aa3565b905060006145918b613d6b565b905060005b815181101561465c5760008282815181106145b3576145b361548b565b602002602001015190506145df6010826affffffffffffffffffffff1916613c7b90919063ffffffff16565b1561465357606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b81526004016146209796959493929190615856565b600060405180830381600087803b15801561463a57600080fd5b505af115801561464e573d6000803e3d6000fd5b505050505b50600101614596565b5064ffffffffff881660005b8a60ff168160ff16101561469b5761468f878260ff166028026038011c64ffffffffff1690565b90910190600101614668565b508b7faa63765a776145e5e6492f471ae097dfed11cd57a61bc2679dd43180422385b48c838b878c6040516146d49594939291906158b4565b60405180910390a2508284146146f55760006146f08c8c613e9c565b839055505b60006147028c8c8c613ef2565b9050614716818a64ffffffffff1689613f72565b5060005b81518110156147e05760008282815181106147375761473761548b565b602002602001015190506147636020826affffffffffffffffffffff1916613c7b90919063ffffffff16565b156147d757606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b81526004016147a49796959493929190615856565b600060405180830381600087803b1580156147be57600080fd5b505af11580156147d2573d6000803e3d6000fd5b505050505b5060010161471a565b505050505050505050505050565b60405160208101601f19603f84840101166040528282526108b885858584614b71565b6060600061481f8560801c90565b90506fffffffffffffffffffffffffffffffff851660008582816148455761484561574d565b04905060405193506020840160208202810160405281855260005b82811015614880578451871c825293870193602090910190600101614860565b50505050509392505050565b8251606090600061489d85836154b4565b9050604051925060208301601f19603f83860101166040528184526000602088015b84821015614880578051871b835291870191600191909101906020016148bf565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161492f57507e60030220202000000000000000000000000000000000000000000000000000919050565b61034961495c7f746273746f72650000000000000000005461626c65730000000000000000000084614c3d565b60206000613aad565b606060006060600061497685613733565b9050614983878783614c59565b93506000614990866128dd565b90508015614a62576149a28888614433565b935066ffffffffffffff841667ffffffffffffffff8111156149c6576149c6614e9d565b6040519080825280601f01601f1916602001820160405280156149f0576020820181803683370190505b5092506020830160005b828160ff161015614a5f576000614a128b8b84613ef2565b90506000614a2f888460ff166028026038011c64ffffffffff1690565b9050614a3e8260008387614b71565b614a48818561536a565b935050508080614a5790615906565b9150506149fa565b50505b505093509350939050565b6000614a93616e7360f01b6dffffffffffffffffffffffffffff60801b85161783614c92565b8061291b575061291b8383614c92565b600064ffffffffff821115614ae7576040517f47670588000000000000000000000000000000000000000000000000000000008152600481018390526024016103df565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510614b195780850382019150614b21565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b8215614bf85760208310614b9b57602083048401935060208381614b9757614b9761574d565b0692505b8215614bf8576020839003600081841015614bbe5750600019600884021c614bc8565b50600019600882021c5b8554600886021b818451168219821617845250818411614be9575050610b41565b50600194909401939182900391015b5b60208210614c1a5783548152600190930192601f1990910190602001614bf9565b8115610b41576000600019600884021c8251865482191691161782525050505050565b6040805160208101849052908101829052600090606001613a6c565b606081600003614c78575060408051602081019091526000815261291b565b6000614c848585613a57565b9050612aeb816000856147ee565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110614ccb57614ccb61548b565b602002602001018181525050826001600160a01b031660001b81600181518110614cf757614cf761548b565b60209081029190910101526000614d377f7462776f726c640000000000000000005265736f7572636541636365737300008383630101000160d81b612abe565b9050612aeb8160f81c90565b80356001600160e01b03198116811461372e57600080fd5b600060208284031215614d6d57600080fd5b61291b82614d43565b6001600160a01b03811681146109fa57600080fd5b60008060408385031215614d9e57600080fd5b823591506020830135614db081614d76565b809150509250929050565b60008083601f840112614dcd57600080fd5b50813567ffffffffffffffff811115614de557600080fd5b6020830191508360208260051b8501011115614e0057600080fd5b9250929050565b60008060008060008060008060c0898b031215614e2357600080fd5b88359750602089013596506040890135955060608901359450608089013567ffffffffffffffff80821115614e5757600080fd5b614e638c838d01614dbb565b909650945060a08b0135915080821115614e7c57600080fd5b50614e898b828c01614dbb565b999c989b5096995094979396929594505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715614edc57614edc614e9d565b604052919050565b600082601f830112614ef557600080fd5b813567ffffffffffffffff811115614f0f57614f0f614e9d565b614f226020601f19601f84011601614eb3565b818152846020838601011115614f3757600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215614f6957600080fd5b8335614f7481614d76565b925060208401359150604084013567ffffffffffffffff811115614f9757600080fd5b614fa386828701614ee4565b9150509250925092565b60008060408385031215614fc057600080fd5b82359150602083013567ffffffffffffffff811115614fde57600080fd5b614fea85828601614ee4565b9150509250929050565b60008060006060848603121561500957600080fd5b83359250602084013561501b81614d76565b91506040840135801515811461503057600080fd5b809150509250925092565b803560ff8116811461372e57600080fd5b60008060006060848603121561506157600080fd5b83359250602084013561507381614d76565b91506150816040850161503b565b90509250925092565b60008060006060848603121561509f57600080fd5b83359250602084013567ffffffffffffffff8111156150bd57600080fd5b6150c986828701614ee4565b92505061508160408501614d43565b600080604083850312156150eb57600080fd5b82356150f681614d76565b9150602083013567ffffffffffffffff811115614fde57600080fd5b60006020828403121561512457600080fd5b5035919050565b60008060006060848603121561514057600080fd5b8335925060208401359150604084013567ffffffffffffffff811115614f9757600080fd5b60006020828403121561517757600080fd5b813561291b81614d76565b60005b8381101561519d578181015183820152602001615185565b50506000910152565b600081518084526151be816020860160208601615182565b601f01601f19169290920160200192915050565b8281526040602082015260006114f860408301846151a6565b600067ffffffffffffffff8084111561520657615206614e9d565b8360051b602061521860208301614eb3565b8681529185019160208101903684111561523157600080fd5b865b848110156152655780358681111561524b5760008081fd5b61525736828b01614ee4565b845250918301918301615233565b50979650505050505050565b6001600160f01b031984168152826020820152606060408201526000612aeb60608301846151a6565b600083516152ac818460208801615182565b7f5f5f00000000000000000000000000000000000000000000000000000000000090830190815283516152e6816002840160208801615182565b01600201949350505050565b8051602080830151919081101561297c5760001960209190910360031b1b16919050565b60208152600061291b60208301846151a6565b60408152600061533c60408301856151a6565b90506001600160a01b03831660208301529392505050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561034957610349615354565b6001600160f01b03198416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516153c6816003860160208901615182565b8084019050816003820152845191506153e6826004830160208801615182565b0160040195945050505050565b634e487b7160e01b600052602160045260246000fd5b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b8281101561547e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc088860301845261546c8583516151a6565b94509285019290850190600101615432565b5092979650505050505050565b634e487b7160e01b600052603260045260246000fd5b8181038181111561034957610349615354565b808202811582820484141761034957610349615354565b6001600160a01b0384168152826020820152606060408201526000612aeb60608301846151a6565b60008151808452602080850194506020840160005b8381101561552457815187529582019590820190600101615508565b509495945050505050565b60808152600061554260808301876154f3565b828103602084015261555481876151a6565b90508460408401528281036060840152613bec81856151a6565b86815260c06020820152600061558760c08301886154f3565b828103604084015261559981886151a6565b905085606084015282810360808401526155b381866151a6565b9150508260a0830152979650505050505050565b600082516155d9818460208701615182565b9190910192915050565b60208152600061291b60208301846154f3565b83815260606020820152600061560f60608301856154f3565b9050826040830152949350505050565b8281526040602082015260006114f860408301846154f3565b84815260806020820152600061565160808301866154f3565b60ff851660408401528281036060840152613bec81856151a6565b6000835161567e818460208801615182565b835190830190615692818360208801615182565b01949350505050565b6060815260006156ae60608301866154f3565b65ffffffffffff8516602084015282810360408401526156ce81856151a6565b9695505050505050565b8481526080602082015260006156f160808301866154f3565b65ffffffffffff851660408401528281036060840152613bec81856151a6565b8281526000602080830184516020860160005b8281101561574057815184529284019290840190600101615724565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b60008261578057634e487b7160e01b600052601260045260246000fd5b500490565b60008451615797818460208901615182565b60609490941b6bffffffffffffffffffffffff191691909301908152601481019190915260340192915050565b8481526080602082015260006157dd60808301866154f3565b60ff949094166040830152506060015292915050565b60006020828403121561580557600080fd5b5051919050565b60608152600061581f60608301866151a6565b60208301949094525060400152919050565b64ffffffffff81811683821601908082111561584f5761584f615354565b5092915050565b87815260e06020820152600061586f60e08301896154f3565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c08401526158a681856151a6565b9a9950505050505050505050565b60a0815260006158c760a08301886154f3565b65ffffffffffff8716602084015264ffffffffff8616604084015284606084015282810360808401526158fa81856151a6565b98975050505050505050565b600060ff821660ff810361591c5761591c615354565b6001019291505056fea164736f6c6343000818000a","sourceMap":"674:212:84:-:0;;;915:4:83;872:48;;674:212:84;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106101515760003560e01c8063742d6118116100cd578063b29e408911610081578063cdc938c511610066578063cdc938c5146102b8578063d5f8337f146102cb578063e1af802c146102de57600080fd5b8063b29e408914610292578063bfdfaff7146102a557600080fd5b80639081c758116100b25780639081c75814610264578063a92813ad1461026c578063aa66e9c81461027f57600080fd5b8063742d61181461023e5780638da798da1461025157600080fd5b80631d2257ba116101245780633350b6a9116101095780633350b6a91461020557806345ec935414610218578063530f4b601461022b57600080fd5b80631d2257ba146101c657806326d98102146101d957600080fd5b806301ffc9a714610156578063056091291461017e5780630ba51f4914610193578063119df25f146101a6575b600080fd5b610169610164366004614d5b565b6102e6565b60405190151581526020015b60405180910390f35b61019161018c366004614d8b565b61034f565b005b6101916101a1366004614e07565b610376565b6101ae610441565b6040516001600160a01b039091168152602001610175565b6101916101d4366004614f54565b610450565b6101ec6101e7366004614fad565b6104cb565b6040516001600160e01b03199091168152602001610175565b610191610213366004614ff4565b610617565b604051601f193601358152602001610175565b61019161023936600461504c565b610792565b6101ec61024c36600461508a565b6107fe565b61019161025f3660046150d8565b6108c0565b6101ae610982565b61019161027a366004614d8b565b61098c565b61019161028d366004615112565b6109cb565b6101916102a0366004615112565b6109fd565b6101916102b336600461512b565b610a92565b6101916102c6366004615165565b610b47565b6101916102d936600461504c565b610b60565b6101ae610c21565b60006001600160e01b031982167f255f267f00000000000000000000000000000000000000000000000000000000148061034957506001600160e01b031982167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b610357610c2b565b61036882610363610441565b610c8f565b6103728282610d08565b5050565b61037e610c2b565b600061038989610d33565b6fffffffffffffffffffffffffffffffff1916036103e857876103ab89610d4a565b6040517fe4ac069e0000000000000000000000000000000000000000000000000000000081526004016103df9291906151d2565b60405180910390fd5b61040b616e7360f01b6dffffffffffffffffffffffffffff60801b8a1617610e5e565b61041788610363610441565b61043788888888610428888a6151eb565b61043287896151eb565b610ea9565b5050505050505050565b600061044b6112b9565b905090565b610458610c2b565b61046a610463610441565b84846112eb565b610473826113be565b156104c6576000610483836113da565b90506104af817f1a86b55000000000000000000000000000000000000000000000000000000000611476565b6104c36104ba610441565b848460006114d1565b50505b505050565b60006104d5610c2b565b61737960f01b836001600160f01b031916146105305761737960f01b836104fb85610d4a565b6040517f5c30fb6f0000000000000000000000000000000000000000000000000000000081526004016103df93929190615271565b61053983610e5e565b61054583610363610441565b600061056e6105548560101b90565b71ffffffffffffffffffffffffffffffffffff1916611500565b90506000818460405160200161058592919061529a565b60405160208183030381529060405290508080519060200120925060006105ab84611586565b905080156105f1576040517f3d1d1ae20000000000000000000000000000000000000000000000000000000081526001600160e01b0319851660048201526024016103df565b84516020860120610603858883611636565b61060d8584611701565b5050505092915050565b61061f610c2b565b61737960f01b836001600160f01b031916146106455761737960f01b836104fb85610d4a565b6dffffffffffffffffffffffffffff60801b8316616e7360f01b1761066981610e5e565b61067581610363610441565b61069f837f255f267f00000000000000000000000000000000000000000000000000000000611476565b60006106aa85610d33565b6fffffffffffffffffffffffffffffffff1916036106cc57836103ab85610d4a565b60006106d7846117ca565b905080158015906106e85750848114155b1561072a576040517fc0b707410000000000000000000000000000000000000000000000000000000081526001600160a01b03851660048201526024016103df565b6000610735866113da565b90506001600160a01b0381161561075e5761074f8161184f565b61075983826118ce565b610769565b61076986600161196c565b610774868686611a0d565b61077e8587611ab0565b61078a83866001611b3b565b505050505050565b61079a610c2b565b6107c4827f1873396a00000000000000000000000000000000000000000000000000000000611476565b6107e7616e7360f01b6dffffffffffffffffffffffffffff60801b851617610e5e565b6107f383610363610441565b6104c6838383611bea565b6000610808610c2b565b60408051616e7360f01b6020820152600060228201819052603082015261084a9101604051602081830303815290604052610842906152f2565b610363610441565b5081516020830120600061085d82611586565b905080156108a3576040517f3d1d1ae20000000000000000000000000000000000000000000000000000000081526001600160e01b0319831660048201526024016103df565b6108ae828685611636565b6108b88285611701565b509392505050565b6108c8610c2b565b6108f2827f6fdd1c8000000000000000000000000000000000000000000000000000000000611476565b61096e6108fd610441565b600084846040516024016109119190615316565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f13861fb500000000000000000000000000000000000000000000000000000000179052611cad565b506103728282805190602001206001611cbe565b600061044b611d6d565b610994610c2b565b6109a082610363610441565b6103727f7462776f726c6400000000000000000053797374656d486f6f6b7300000000008383611d77565b6109d3610c2b565b6109dc81611e8a565b6109e581610e5e565b6109f181610363610441565b6109fa81611ebb565b50565b610a05610c2b565b610a0e81611e8a565b610a1781611f26565b610a2081612118565b15610a635780610a2f82610d4a565b6040517f0dc28f6a0000000000000000000000000000000000000000000000000000000081526004016103df9291906151d2565b610a6e81600161196c565b610a7f81610a7a610441565b61219d565b6109fa81610a8b610441565b6001611b3b565b610a9a610c2b565b610aa383611e8a565b610aac826113be565b610ae2576040517f71ee9e8100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610aee83610363610441565b6000610af9836113da565b9050610b25817f1a86b55000000000000000000000000000000000000000000000000000000000611476565b610b2f8484612267565b815115610b41576104c36104ba610441565b50505050565b610b4f610c2b565b6109fa610b5a610441565b826122e6565b610b68610c2b565b61737960f01b836001600160f01b03191614610b8e5761737960f01b836104fb85610d4a565b610bb8827f540fbfa800000000000000000000000000000000000000000000000000000000611476565b610bc183610e5e565b610be4616e7360f01b6dffffffffffffffffffffffffffff60801b851617610e5e565b610bf083610363610441565b6104c6836bffffffffffffffffffffffff19606085901b166bff0000000000000000000000605885901b1617612388565b600061044b61242d565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610c8d576040517f9f03a02600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b6001600160a01b038116610cbc616e7360f01b6dffffffffffffffffffffffffffff60801b851617612437565b6001600160a01b03161461037257610cd382610d4a565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016103df929190615329565b6103727f746273746f726500000000000000000053746f7265486f6f6b730000000000008383611d77565b6000610d416070601061536a565b9190911b919050565b606081601081901b6000610d5d83610d33565b90508271ffffffffffffffffffffffffffffffffffff19831615610d9e57610d9971ffffffffffffffffffffffffffffffffffff198416611500565b610dd5565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff19831615610dfc57610df783611500565b610e33565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001610e459392919061537d565b6040516020818303038152906040529350505050919050565b610e6781612118565b6109fa5780610e7582610d4a565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016103df9291906151d2565b613a3160f11b866001600160f01b03191614801590610ed75750611bdd60f21b866001600160f01b03191614155b15610f3857613a3160f11b8687604051602001610ef691815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526103df939291600401615271565b610f41856124c8565b610f4c84600161270f565b610f5783600061270f565b60e084901c60e885901c0160ff16825114610fb75760e084901c60e885901c0160ff1682516040517f0f72cb98000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016103df565b60e085901c60e886901c0160ff168151146110175760e085901c60e886901c0160ff1681516040517f7dec4c00000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016103df565b60e085901c60e886901c0160ff1660e084901c60e885901c0160ff161461108f5760e085901c60e886901c0160ff1660e084901c60e885901c0160ff166040517ff29d4d88000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016103df565b611098856128ab565b6110a1846128ab565b146110f3576110af856128ab565b6110b8846128ab565b6040517f65cc0adf000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016103df565b6110fc856128dd565b611105846128dd565b1461115757611113856128dd565b61111c846128dd565b6040517fedea9587000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016103df565b60005b611163866128ab565b8110156111fe5761118d61117785836128fa565b60c5811115611188576111886153f3565b612922565b6008601b8390030287901c60ff16146111f6576008601b8290030286901c60ff166111bb61117786846128fa565b6040517f254c7db4000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016103df565b60010161115a565b5061120886612118565b1561126257858660405160200161122191815260200190565b60408051601f19818403018152908290527fdfaaf9cf0000000000000000000000000000000000000000000000000000000082526103df92916004016151d2565b6112ae868686868660405160200161127a9190615409565b6040516020818303038152906040528660405160200161129a9190615409565b604051602081830303815290604052612982565b61078a86600161196c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806112e85750335b90565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b8160008151811061132c5761132c61548b565b602002602001018181525050826001600160a01b031660001b816001815181106113585761135861548b565b602002602001018181525050610b417f7462776f726c640000000000000000005573657244656c65676174696f6e436f60001b826000856040516020016113a191815260200190565b60408051601f19818403018152919052630100080160dd1b612a49565b6000811515801561034957506113d382612a5e565b1592915050565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106114135761141361548b565b6020908102919091010152600061146b7f7462776f726c6400000000000000000053797374656d7300000000000000000083837e15020014010000000000000000000000000000000000000000000000000000612abe565b60601c949350505050565b6114808282612af4565b610372576040517f74b5e6ff0000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526001600160e01b0319821660248201526044016103df565b60606000806114e287878787612b10565b91509150816114f4576114f481612ce0565b9150505b949350505050565b606060005b6010811015611556576fffffffffffffffffffffffffffffffff198316600882021b7fff00000000000000000000000000000000000000000000000000000000000000161561155657600101611505565b604080516fffffffffffffffffffffffffffffffff198516602082015281516030909101909152818152806114f8565b60408051600180825281830190925260009182919060208083019080368337019050509050827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916816000815181106115de576115de61548b565b602090810291909101015260006114f87f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f7283837e24020020040000000000000000000000000000000000000000000000000000612abe565b60006116428383612ce8565b60408051600180825281830190925291925060009160609183919060208083019080368337019050509050867bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916816000815181106116a0576116a061548b565b60209081029190910101526116f87f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72828686867e24020020040000000000000000000000000000000000000000000000000000612d27565b50505050505050565b6060600061170e8361302d565b9050600061171b8461303d565b6040805160018082528183019092529192506000919060208083019080368337019050509050857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916816000815181106117745761177461548b565b602090810291909101015261078a7f6f74776f726c6400000000000000000046756e6374696f6e5369676e61747572828686867c0100000000000000000000000000000000000000000000000000000000612d27565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b8160008151811061180f5761180f61548b565b602090810291909101015260006114f87f7462776f726c6400000000000000000053797374656d526567697374727900008383630100080160dd1b612abe565b60408051600180825281830190925260009160208083019080368337019050509050816001600160a01b031660001b816000815181106118915761189161548b565b60209081029190910101526103727f7462776f726c6400000000000000000053797374656d5265676973747279000082630100080160dd1b613066565b60408051600280825260608201835260009260208301908036833701905050905082816000815181106119035761190361548b565b602002602001018181525050816001600160a01b031660001b8160018151811061192f5761192f61548b565b60209081029190910101526104c67f7462776f726c640000000000000000005265736f75726365416363657373000082630101000160d81b613066565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106119a2576119a261548b565b6020026020010181815250506104c67f746273746f72650000000000000000005265736f75726365496473000000000060001b826000856040516020016119f091151560f81b815260010190565b60408051601f19818403018152919052630101000160d81b612a49565b6000611a198383613332565b604080516001808252818301909252919250600091606091839190602080830190803683370190505090508681600081518110611a5857611a5861548b565b60209081029190910101526116f87f7462776f726c6400000000000000000053797374656d73000000000000000000828686867e15020014010000000000000000000000000000000000000000000000000000612d27565b60408051600180825281830190925260009160208083019080368337019050509050826001600160a01b031660001b81600081518110611af257611af261548b565b6020026020010181815250506104c67f7462776f726c6400000000000000000053797374656d5265676973747279000060001b826000856040516020016113a191815260200190565b6040805160028082526060820183526000926020830190803683370190505090508381600081518110611b7057611b7061548b565b602002602001018181525050826001600160a01b031660001b81600181518110611b9c57611b9c61548b565b602002602001018181525050610b417f7462776f726c640000000000000000005265736f75726365416363657373000060001b826000856040516020016119f091151560f81b815260010190565b613a3160f11b836001600160f01b03191614611c1a57613a3160f11b8384604051602001610ef691815260200190565b611c2383612118565b611c7c578283604051602001611c3b91815260200190565b60408051601f19818403018152908290527f41e713ad0000000000000000000000000000000000000000000000000000000082526103df92916004016151d2565b6104c6836bffffffffffffffffffffffff19606085901b166bff0000000000000000000000605885901b1617613362565b60606000806114e287878787613407565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110611cff57611cff61548b565b6020026020010181815250508281600181518110611d1f57611d1f61548b565b602002602001018181525050610b417f7462776f726c64000000000000000000496e7374616c6c65644d6f64756c657360001b826000856040516020016119f091151560f81b815260010190565b600061044b61347f565b6000611d8384846134e6565b90506000815167ffffffffffffffff811115611da157611da1614e9d565b604051908082528060200260200182016040528015611dca578160200160208202803683370190505b5090506000805b8351811015611e7b57846001600160a01b0316611e15858381518110611df957611df961548b565b60200260200101516affffffffffffffffffffff191660601c90565b6001600160a01b031614611e7357838181518110611e3557611e3561548b565b6020026020010151838381518110611e4f57611e4f61548b565b6affffffffffffffffffffff19909216602092830291909101909101526001909101905b600101611dd1565b5080825261078a868684613551565b616e7360f01b6dffffffffffffffffffffffffffff60801b82161781146109fa57616e7360f01b816104fb83610d4a565b604080516001808252818301909252600091602080830190803683370190505090508181600081518110611ef157611ef161548b565b60209081029190910101526103727f7462776f726c640000000000000000004e616d65737061636544656c65676174826135a8565b6000611f328260101b90565b90506000611f5471ffffffffffffffffffffffffffffffffffff198316611500565b80519091508015610b4157611f7682611f6e6001846154a1565b016020015190565b7fff00000000000000000000000000000000000000000000000000000000000000167f5f0000000000000000000000000000000000000000000000000000000000000003612007576040517f0efb4b8500000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff19841660048201526024016103df565b60005b6120156001836154a1565b8110156104c357602081840101517effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f5f000000000000000000000000000000000000000000000000000000000000001480156120c2575061207d83611f6e83600161536a565b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f5f00000000000000000000000000000000000000000000000000000000000000145b15612110576040517f0efb4b8500000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff19851660048201526024016103df565b60010161200a565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106121515761215161548b565b602090810291909101015260006121917f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b612abe565b90506114f88160f81c90565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106121d3576121d361548b565b6020026020010181815250506104c67f7462776f726c640000000000000000004e616d6573706163654f776e6572000060001b82600085604051602001612232919060609190911b6bffffffffffffffffffffffff1916815260140190565b60408051601f198184030181529190527e14010014000000000000000000000000000000000000000000000000000000612a49565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061229d5761229d61548b565b6020026020010181815250506104c67f7462776f726c640000000000000000004e616d65737061636544656c6567617460001b826000856040516020016113a191815260200190565b604080516002808252606082018352600092602083019080368337019050509050826001600160a01b031660001b816000815181106123275761232761548b565b602002602001018181525050816001600160a01b031660001b816001815181106123535761235361548b565b60209081029190910101526104c67f7462776f726c640000000000000000005573657244656c65676174696f6e436f826135a8565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106123be576123be61548b565b6020026020010181815250506104c67f7462776f726c6400000000000000000053797374656d486f6f6b73000000000060001b8260008560405160200161241991906affffffffffffffffffffff1991909116815260150190565b604051602081830303815290604052613643565b600061044b6136f4565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106124705761247061548b565b6020908102919091010152600061146b7f7462776f726c640000000000000000004e616d6573706163654f776e6572000083837e14010014000000000000000000000000000000000000000000000000000000612abe565b806124ff576040517f220c0f6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061250a826128dd565b90506005811115612551576040517f7f2372c300000000000000000000000000000000000000000000000000000000815260048101829052600560248201526044016103df565b600061255c836128ab565b9050600061256a838361536a565b9050601c8111156125b1576040517f4a8a06ad00000000000000000000000000000000000000000000000000000000815260048101829052601c60248201526044016103df565b6000805b8381101561265c5760ff601b82900360080287901c166000819003612609576040517f01f2a07c000000000000000000000000000000000000000000000000000000008152600481018390526024016103df565b6020811115612647576040517f24c85d58000000000000000000000000000000000000000000000000000000008152600481018390526024016103df565b612651818461536a565b9250506001016125b5565b5061266685613733565b81146126b25761267585613733565b6040517f9365944a0000000000000000000000000000000000000000000000000000000081526004810191909152602481018290526044016103df565b825b601c81101561078a5760ff601b82900360080287901c168015612706576040517fbb68821a000000000000000000000000000000000000000000000000000000008152600481018390526024016103df565b506001016126b4565b8015801561271b575081155b1561273c57604051635318beb960e01b8152600060048201526024016103df565b6000612747836128dd565b9050600581111561276e57604051635318beb960e01b8152600481018290526024016103df565b6000612779846128ab565b90506000612787838361536a565b9050601c8111156127ae57604051635318beb960e01b8152600481018290526024016103df565b6000805b8381101561281a5760006127c961117789846128fa565b905080600003612805576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61280f818461536a565b9250506001016127b2565b5061282486613733565b811461284f5761283386613733565b604051635318beb960e01b81526004016103df91815260200190565b825b828110156116f857600061286861117789846128fa565b905080156128a2576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50600101612851565b6000600860016128bd600260206154a1565b6128c791906154a1565b6128d191906154b4565b8260ff911c1692915050565b600060086001806128f0600260206154a1565b6128bd91906154a1565b6000601b8290036008028360ff911c1660c581111561291b5761291b6153f3565b9392505050565b6000808260c5811115612937576129376153f3565b60ff169050606181101561295157601f1660010192915050565b60618360c5811115612965576129656153f3565b036129735750601492915050565b50600092915050565b50919050565b600061298f868686613756565b9050600061299d848461378c565b905060006129ab85856137a9565b604080516001808252818301909252919250600091906020808301908036833701905050905089816000815181106129e5576129e561548b565b6020908102919091010152612a3d7f746273746f72650000000000000000005461626c657300000000000000000000828686867e60030220202000000000000000000000000000000000000000000000000000612d27565b50505050505050505050565b6104c38585612a5884876137be565b856137ef565b6040805161737960f01b60208201526000602282018190527f756e6c696d69746564000000000000000000000000000000000000000000000060308301529101604051602081830303815290604052612ab6906152f2565b909114919050565b6000612aeb612acd8686613a57565b60ff858116601b0360080285901c16612ae685876137be565b613aad565b95945050505050565b6000612aff83613afe565b801561291b575061291b8383613b3f565b600060606000612b1f86613bf7565b905060005b8151811015612bf2576000828281518110612b4157612b4161548b565b60200260200101519050612b6d6001826affffffffffffffffffffff1916613c7b90919063ffffffff16565b15612be9576040517fc3323031000000000000000000000000000000000000000000000000000000008152606082901c9063c332303190612bb6908c908c908c906004016154cb565b600060405180830381600087803b158015612bd057600080fd5b505af1158015612be4573d6000803e3d6000fd5b505050505b50600101612b24565b50612bff87858888613c99565b909350915060005b8151811015612cd5576000828281518110612c2457612c2461548b565b60200260200101519050612c506002826affffffffffffffffffffff1916613c7b90919063ffffffff16565b15612ccc576040517f973d8f99000000000000000000000000000000000000000000000000000000008152606082901c9063973d8f9990612c99908c908c908c906004016154cb565b600060405180830381600087803b158015612cb357600080fd5b505af1158015612cc7573d6000803e3d6000fd5b505050505b50600101612c07565b505094509492505050565b805160208201fd5b60608282604051602001612d109291909182526001600160e01b031916602082015260240190565b604051602081830303815290604052905092915050565b611bdd60f21b866001600160f01b03191603612d8057857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a986868686604051612d73949392919061552f565b60405180910390a261078a565b6000612d8b87613d6b565b905060005b8151811015612e64576000828281518110612dad57612dad61548b565b60200260200101519050612dd96001826affffffffffffffffffffff1916613c7b90919063ffffffff16565b15612e5b576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90612e28908c908c908c908c908c908c9060040161556e565b600060405180830381600087803b158015612e4257600080fd5b505af1158015612e56573d6000803e3d6000fd5b505050505b50600101612d90565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a987878787604051612e9b949392919061552f565b60405180910390a26000612eaf8888613a57565b90506000602087019050612ec7826000895184613ddd565b6000612ed2856128dd565b1115612f56576000612ee48a8a613e9c565b878155905060208601915060008060005b612efe886128dd565b8160ff161015612f5157612f138d8d83613ef2565b9250612f2e8a8260ff166028026038011c64ffffffffff1690565b9150612f3d8360008488613ddd565b612f47828661536a565b9450600101612ef5565b505050505b60005b8351811015612a3d576000848281518110612f7657612f7661548b565b60200260200101519050612fa26002826affffffffffffffffffffff1916613c7b90919063ffffffff16565b15613024576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90612ff1908e908e908e908e908e908e9060040161556e565b600060405180830381600087803b15801561300b57600080fd5b505af115801561301f573d6000803e3d6000fd5b505050505b50600101612f59565b60006103498251603881901b1790565b60608160405160200161305091906155c7565b6040516020818303038152906040529050919050565b611bdd60f21b836001600160f01b031916036130b957827f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d07836040516130ac91906155e3565b60405180910390a2505050565b60006130c484613d6b565b905060005b81518110156131975760008282815181106130e6576130e661548b565b602002602001015190506131126040826affffffffffffffffffffff1916613c7b90919063ffffffff16565b1561318e576040517f9faeaf45000000000000000000000000000000000000000000000000000000008152606082901c90639faeaf459061315b908990899089906004016155f6565b600060405180830381600087803b15801561317557600080fd5b505af1158015613189573d6000803e3d6000fd5b505050505b506001016130c9565b50837f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d07846040516131c891906155e3565b60405180910390a260006131dc8585613a57565b90506132358160006131ed86613733565b67ffffffffffffffff81111561320557613205614e9d565b6040519080825280601f01601f19166020018201604052801561322f576020820181803683370190505b50613f72565b6000613240846128dd565b11156132615760006132528686613e9c565b905061325f816020613f88565b505b60005b825181101561078a5760008382815181106132815761328161548b565b602002602001015190506132ad6080826affffffffffffffffffffff1916613c7b90919063ffffffff16565b15613329576040517f83b5c95b000000000000000000000000000000000000000000000000000000008152606082901c906383b5c95b906132f6908a908a908a906004016155f6565b600060405180830381600087803b15801561331057600080fd5b505af1158015613324573d6000803e3d6000fd5b505050505b50600101613264565b604051606083811b6bffffffffffffffffffffffff1916602083015282151560f81b603483015290603501612d10565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106133985761339861548b565b6020026020010181815250506104c67f746273746f726500000000000000000053746f7265486f6f6b7300000000000060001b826000856040516020016133f391906affffffffffffffffffffff1991909116815260150190565b604051602081830303815290604052613fc5565b60006060836001600160a01b03166000613422858989614000565b60405161342f91906155c7565b60006040518083038185875af1925050503d806000811461346c576040519150601f19603f3d011682016040523d82523d6000602084013e613471565b606091505b509097909650945050505050565b6040805160008082526020820190925260006134dc7f7462776f726c640000000000000000005472616e73616374696f6e436f6e746583837e14010014000000000000000000000000000000000000000000000000000000614017565b60601c9392505050565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106135205761352061548b565b602002602001018181525050600061353a858360006140d4565b9050612aeb61354c826000845161410e565b61419c565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106135875761358761548b565b602002602001018181525050610b41848260006135a3866141ad565b6141bd565b60006135b26136f4565b9050306001600160a01b038216036135ce576104c683836141f8565b6040517f505a181d0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063505a181d90613615908690869060040161561f565b600060405180830381600087803b15801561362f57600080fd5b505af11580156116f8573d6000803e3d6000fd5b600061364d6136f4565b9050306001600160a01b038216036136705761366b85858585613fc5565b6104c3565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f3262906136bb908890889088908890600401615638565b600060405180830381600087803b1580156136d557600080fd5b505af11580156136e9573d6000803e3d6000fd5b505050505050505050565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b03168061372e573391505090565b919050565b60006008613743600260206154a1565b61374d91906154b4565b9190911c919050565b60408051602081018590529081018390526060818101839052906080015b60405160208183030381529060405290509392505050565b8151815160009181810160389190911b1760609190911b1761291b565b60608282604051602001612d1092919061566c565b600080805b8360ff168110156108b8576137e560ff601b83900360080287901c168361536a565b91506001016137c3565b611bdd60f21b846001600160f01b0319160361384657837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8484846040516138399392919061569b565b60405180910390a2610b41565b60006138528585613a57565b9050600061385f86613d6b565b905060005b81518110156139345760008282815181106138815761388161548b565b602002602001015190506138ad6004826affffffffffffffffffffff1916613c7b90919063ffffffff16565b1561392b576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d906138f8908b908b908b908b906004016156d8565b600060405180830381600087803b15801561391257600080fd5b505af1158015613926573d6000803e3d6000fd5b505050505b50600101613864565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8686866040516139699392919061569b565b60405180910390a2613984828565ffffffffffff1685613f72565b60005b81518110156116f85760008282815181106139a4576139a461548b565b602002602001015190506139d06008826affffffffffffffffffffff1916613c7b90919063ffffffff16565b15613a4e576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190613a1b908b908b908b908b906004016156d8565b600060405180830381600087803b158015613a3557600080fd5b505af1158015613a49573d6000803e3d6000fd5b505050505b50600101613987565b60008282604051602001613a6c929190615711565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600060208210613ad357602082048401935060208281613acf57613acf61574d565b0691505b508254600882021b6020829003808411156108b8576001850154600882021c82179150509392505050565b6000613b2a827f01ffc9a700000000000000000000000000000000000000000000000000000000613b3f565b801561034957506113d3826001600160e01b03195b6040516001600160e01b031982166024820152600090819060440160408051601f19818403018152919052602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825192935060009283928392909183918a617530fa92503d91506000519050828015613be0575060208210155b8015613bec5750600081115b979650505050505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110613c3157613c3161548b565b60209081029190910101526000613c697f7462776f726c6400000000000000000053797374656d486f6f6b73000000000083836140d4565b90506114f861354c826000845161410e565b60008160ff1682613c8c8560581c90565b1660ff1614905092915050565b60006060600080613ca98661420b565b90925090506001600160a01b038216613cc65785610e7587610d4a565b80613cd557613cd586896142c3565b8615613d19576dffffffffffffffffffffffffffff60801b8616616e7360f01b176000613d01826142da565b9050613d1682613d118b8461536a565b614353565b50505b6000613d258760101b90565b71ffffffffffffffffffffffffffffffffffff191614613d5057613d4b88888488613407565b613d5c565b613d5c888884886143d2565b90999098509650505050505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110613da557613da561548b565b60209081029190910101526000613c697f746273746f726500000000000000000053746f7265486f6f6b7300000000000083836140d4565b8215613e575760208310613e0757602083048401935060208381613e0357613e0361574d565b0692505b8215613e575760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411613e48575050610b41565b50600194909401939182900391015b5b60208210613e795780518455600190930192601f1990910190602001613e58565b8115610b41576000600019600884021c8554835182191691161785555050505050565b60008282604051602001613eb1929190615711565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b60008383604051602001613f07929190615711565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b6104c683838351613f838560200190565b613ddd565b60006020613f9783601f61536a565b613fa19190615763565b613fab908461536a565b90505b808310156104c65760008355600183019250613fae565b6000613fd18585614433565b90506000613fee828560ff166028026038011c64ffffffffff1690565b905061078a8686868460008888614446565b606083838360405160200161377493929190615785565b6000806140226136f4565b9050306001600160a01b038216036140485761404086868686612abe565b9150506114f8565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d59906140939089908990899089906004016157c4565b602060405180830381865afa1580156140b0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061404091906157f3565b60606114f86140e4858585613ef2565b6000614109856140f48989614433565b9060ff166028026038011c64ffffffffff1690565b6147ee565b60008183118061411e5750835182115b1561415b578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016103df9392919061580c565b60208401614169848261536a565b9050600061417785856154a1565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b6060600061291b8360156000614811565b60608161291b816015600061488c565b60006141c98585614433565b905060006141e6828560ff166028026038011c64ffffffffff1690565b905061078a8686866000858888614446565b6103728282614206856148e0565b613066565b604080516001808252818301909252600091829182916020808301908036833701905050905083816000815181106142455761424561548b565b60209081029190910101526000808061429e7f7462776f726c6400000000000000000053797374656d73000000000000000000857e15020014010000000000000000000000000000000000000000000000000000614965565b5050602081015160349091015160609190911c9860f89190911c975095505050505050565b6142cd8282614a6d565b61037257610cd382610d4a565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106143135761431361548b565b602090810291909101015260006114f87f7462776f726c6400000000000000000042616c616e63657300000000000000008383630100080160dd1b612abe565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106143895761438961548b565b6020026020010181815250506104c67f7462776f726c6400000000000000000042616c616e636573000000000000000060001b826000856040516020016113a191815260200190565b60006060836001600160a01b03166143eb848888614000565b6040516143f891906155c7565b600060405180830381855af49150503d806000811461346c576040519150601f19603f3d011682016040523d82523d6000602084013e613471565b600061291b6144428484613e9c565b5490565b613a3160f11b876001600160f01b0319161461447657613a3160f11b8788604051602001610ef691815260200190565b6000614491828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff16836144aa91906154a1565b6144b4919061536a565b90508082141580156144d65750816144cc8688615831565b64ffffffffff1614155b15614526576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016103df565b818664ffffffffff161115614577576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016103df565b6000614584848984614aa3565b905060006145918b613d6b565b905060005b815181101561465c5760008282815181106145b3576145b361548b565b602002602001015190506145df6010826affffffffffffffffffffff1916613c7b90919063ffffffff16565b1561465357606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b81526004016146209796959493929190615856565b600060405180830381600087803b15801561463a57600080fd5b505af115801561464e573d6000803e3d6000fd5b505050505b50600101614596565b5064ffffffffff881660005b8a60ff168160ff16101561469b5761468f878260ff166028026038011c64ffffffffff1690565b90910190600101614668565b508b7faa63765a776145e5e6492f471ae097dfed11cd57a61bc2679dd43180422385b48c838b878c6040516146d49594939291906158b4565b60405180910390a2508284146146f55760006146f08c8c613e9c565b839055505b60006147028c8c8c613ef2565b9050614716818a64ffffffffff1689613f72565b5060005b81518110156147e05760008282815181106147375761473761548b565b602002602001015190506147636020826affffffffffffffffffffff1916613c7b90919063ffffffff16565b156147d757606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b81526004016147a49796959493929190615856565b600060405180830381600087803b1580156147be57600080fd5b505af11580156147d2573d6000803e3d6000fd5b505050505b5060010161471a565b505050505050505050505050565b60405160208101601f19603f84840101166040528282526108b885858584614b71565b6060600061481f8560801c90565b90506fffffffffffffffffffffffffffffffff851660008582816148455761484561574d565b04905060405193506020840160208202810160405281855260005b82811015614880578451871c825293870193602090910190600101614860565b50505050509392505050565b8251606090600061489d85836154b4565b9050604051925060208301601f19603f83860101166040528184526000602088015b84821015614880578051871b835291870191600191909101906020016148bf565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161492f57507e60030220202000000000000000000000000000000000000000000000000000919050565b61034961495c7f746273746f72650000000000000000005461626c65730000000000000000000084614c3d565b60206000613aad565b606060006060600061497685613733565b9050614983878783614c59565b93506000614990866128dd565b90508015614a62576149a28888614433565b935066ffffffffffffff841667ffffffffffffffff8111156149c6576149c6614e9d565b6040519080825280601f01601f1916602001820160405280156149f0576020820181803683370190505b5092506020830160005b828160ff161015614a5f576000614a128b8b84613ef2565b90506000614a2f888460ff166028026038011c64ffffffffff1690565b9050614a3e8260008387614b71565b614a48818561536a565b935050508080614a5790615906565b9150506149fa565b50505b505093509350939050565b6000614a93616e7360f01b6dffffffffffffffffffffffffffff60801b85161783614c92565b8061291b575061291b8383614c92565b600064ffffffffff821115614ae7576040517f47670588000000000000000000000000000000000000000000000000000000008152600481018390526024016103df565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510614b195780850382019150614b21565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b8215614bf85760208310614b9b57602083048401935060208381614b9757614b9761574d565b0692505b8215614bf8576020839003600081841015614bbe5750600019600884021c614bc8565b50600019600882021c5b8554600886021b818451168219821617845250818411614be9575050610b41565b50600194909401939182900391015b5b60208210614c1a5783548152600190930192601f1990910190602001614bf9565b8115610b41576000600019600884021c8251865482191691161782525050505050565b6040805160208101849052908101829052600090606001613a6c565b606081600003614c78575060408051602081019091526000815261291b565b6000614c848585613a57565b9050612aeb816000856147ee565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110614ccb57614ccb61548b565b602002602001018181525050826001600160a01b031660001b81600181518110614cf757614cf761548b565b60209081029190910101526000614d377f7462776f726c640000000000000000005265736f7572636541636365737300008383630101000160d81b612abe565b9050612aeb8160f81c90565b80356001600160e01b03198116811461372e57600080fd5b600060208284031215614d6d57600080fd5b61291b82614d43565b6001600160a01b03811681146109fa57600080fd5b60008060408385031215614d9e57600080fd5b823591506020830135614db081614d76565b809150509250929050565b60008083601f840112614dcd57600080fd5b50813567ffffffffffffffff811115614de557600080fd5b6020830191508360208260051b8501011115614e0057600080fd5b9250929050565b60008060008060008060008060c0898b031215614e2357600080fd5b88359750602089013596506040890135955060608901359450608089013567ffffffffffffffff80821115614e5757600080fd5b614e638c838d01614dbb565b909650945060a08b0135915080821115614e7c57600080fd5b50614e898b828c01614dbb565b999c989b5096995094979396929594505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715614edc57614edc614e9d565b604052919050565b600082601f830112614ef557600080fd5b813567ffffffffffffffff811115614f0f57614f0f614e9d565b614f226020601f19601f84011601614eb3565b818152846020838601011115614f3757600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215614f6957600080fd5b8335614f7481614d76565b925060208401359150604084013567ffffffffffffffff811115614f9757600080fd5b614fa386828701614ee4565b9150509250925092565b60008060408385031215614fc057600080fd5b82359150602083013567ffffffffffffffff811115614fde57600080fd5b614fea85828601614ee4565b9150509250929050565b60008060006060848603121561500957600080fd5b83359250602084013561501b81614d76565b91506040840135801515811461503057600080fd5b809150509250925092565b803560ff8116811461372e57600080fd5b60008060006060848603121561506157600080fd5b83359250602084013561507381614d76565b91506150816040850161503b565b90509250925092565b60008060006060848603121561509f57600080fd5b83359250602084013567ffffffffffffffff8111156150bd57600080fd5b6150c986828701614ee4565b92505061508160408501614d43565b600080604083850312156150eb57600080fd5b82356150f681614d76565b9150602083013567ffffffffffffffff811115614fde57600080fd5b60006020828403121561512457600080fd5b5035919050565b60008060006060848603121561514057600080fd5b8335925060208401359150604084013567ffffffffffffffff811115614f9757600080fd5b60006020828403121561517757600080fd5b813561291b81614d76565b60005b8381101561519d578181015183820152602001615185565b50506000910152565b600081518084526151be816020860160208601615182565b601f01601f19169290920160200192915050565b8281526040602082015260006114f860408301846151a6565b600067ffffffffffffffff8084111561520657615206614e9d565b8360051b602061521860208301614eb3565b8681529185019160208101903684111561523157600080fd5b865b848110156152655780358681111561524b5760008081fd5b61525736828b01614ee4565b845250918301918301615233565b50979650505050505050565b6001600160f01b031984168152826020820152606060408201526000612aeb60608301846151a6565b600083516152ac818460208801615182565b7f5f5f00000000000000000000000000000000000000000000000000000000000090830190815283516152e6816002840160208801615182565b01600201949350505050565b8051602080830151919081101561297c5760001960209190910360031b1b16919050565b60208152600061291b60208301846151a6565b60408152600061533c60408301856151a6565b90506001600160a01b03831660208301529392505050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561034957610349615354565b6001600160f01b03198416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516153c6816003860160208901615182565b8084019050816003820152845191506153e6826004830160208801615182565b0160040195945050505050565b634e487b7160e01b600052602160045260246000fd5b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b8281101561547e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc088860301845261546c8583516151a6565b94509285019290850190600101615432565b5092979650505050505050565b634e487b7160e01b600052603260045260246000fd5b8181038181111561034957610349615354565b808202811582820484141761034957610349615354565b6001600160a01b0384168152826020820152606060408201526000612aeb60608301846151a6565b60008151808452602080850194506020840160005b8381101561552457815187529582019590820190600101615508565b509495945050505050565b60808152600061554260808301876154f3565b828103602084015261555481876151a6565b90508460408401528281036060840152613bec81856151a6565b86815260c06020820152600061558760c08301886154f3565b828103604084015261559981886151a6565b905085606084015282810360808401526155b381866151a6565b9150508260a0830152979650505050505050565b600082516155d9818460208701615182565b9190910192915050565b60208152600061291b60208301846154f3565b83815260606020820152600061560f60608301856154f3565b9050826040830152949350505050565b8281526040602082015260006114f860408301846154f3565b84815260806020820152600061565160808301866154f3565b60ff851660408401528281036060840152613bec81856151a6565b6000835161567e818460208801615182565b835190830190615692818360208801615182565b01949350505050565b6060815260006156ae60608301866154f3565b65ffffffffffff8516602084015282810360408401526156ce81856151a6565b9695505050505050565b8481526080602082015260006156f160808301866154f3565b65ffffffffffff851660408401528281036060840152613bec81856151a6565b8281526000602080830184516020860160005b8281101561574057815184529284019290840190600101615724565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b60008261578057634e487b7160e01b600052601260045260246000fd5b500490565b60008451615797818460208901615182565b60609490941b6bffffffffffffffffffffffff191691909301908152601481019190915260340192915050565b8481526080602082015260006157dd60808301866154f3565b60ff949094166040830152506060015292915050565b60006020828403121561580557600080fd5b5051919050565b60608152600061581f60608301866151a6565b60208301949094525060400152919050565b64ffffffffff81811683821601908082111561584f5761584f615354565b5092915050565b87815260e06020820152600061586f60e08301896154f3565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c08401526158a681856151a6565b9a9950505050505050505050565b60a0815260006158c760a08301886154f3565b65ffffffffffff8716602084015264ffffffffff8616604084015284606084015282810360808401526158fa81856151a6565b98975050505050505050565b600060ff821660ff810361591c5761591c615354565b6001019291505056fea164736f6c6343000818000a","sourceMap":"674:212:84:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2695:198:58;;;;;;:::i;:::-;;:::i;:::-;;;592:14:208;;585:22;567:41;;555:2;540:18;2695:198:58;;;;;;;;4045:293:90;;;;;;:::i;:::-;;:::i;:::-;;1897:748;;;;;;:::i;:::-;;:::i;1274:113:58:-;;;:::i;:::-;;;-1:-1:-1;;;;;2925:55:208;;;2907:74;;2895:2;2880:18;1274:113:58;2761:226:208;11570:932:91;;;;;;:::i;:::-;;:::i;8331:1508::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;;5272:79:208;;;5254:98;;5242:2;5227:18;8331:1508:91;5110:248:208;5760:2236:91;;;;;;:::i;:::-;;:::i;1980:110:58:-;;;-1:-1:-1;;4330:14:58;4326:25;4313:39;6057:25:208;;6045:2;6030:18;1980:110:58;5911:177:208;3108:595:90;;;;;;:::i;:::-;;:::i;10243:997:91:-;;;;;;:::i;:::-;;:::i;1019:570:89:-;;;;;;:::i;:::-;;:::i;1610:129:58:-;;;:::i;4696:386:91:-;;;;;;:::i;:::-;;:::i;14557:466::-;;;;;;:::i;:::-;;:::i;2490:736::-;;;;;;:::i;:::-;;:::i;13228:1145::-;;;;;;:::i;:::-;;:::i;12687:223::-;;;;;;:::i;:::-;;:::i;3530:936::-;;;;;;:::i;:::-;;:::i;2306:98:58:-;;;:::i;2695:198::-;2771:4;-1:-1:-1;;;;;;2790:54:58;;2805:39;2790:54;;:98;;-1:-1:-1;;;;;;;2848:40:58;;2863:25;2848:40;2790:98;2783:105;2695:198;-1:-1:-1;;2695:198:58:o;4045:293:90:-;995:20:83;:18;:20::i;:::-;4199:49:90::1;4226:7;4235:12;:10;:12::i;:::-;4199:26;:49::i;:::-;4282:51;4312:7;4321:11;4282:29;:51::i;:::-;4045:293:::0;;:::o;1897:748::-;995:20:83;:18;:20::i;:::-;2212:9:90::1;2191:17;:7:::0;:15:::1;:17::i;:::-;-1:-1:-1::0;;2191:30:90::1;::::0;2187:110:::1;;2262:7;2271:18;:7;:16;:18::i;:::-;2238:52;;;;;;;;;;;;:::i;:::-;;;;;;;;2187:110;2349:56;-1:-1:-1::0;;;;;;2820:46:59;;2819:74;2349:30:90::1;:56::i;:::-;2467:49;2494:7;2503:12;:10;:12::i;2467:49::-;2549:91;2573:7:::0;2582:11;2595:9;2606:11;2549:91:::1;2619:8:::0;;2549:91:::1;:::i;:::-;;2629:10:::0;;2549:91:::1;:::i;:::-;:23;:91::i;:::-;1897:748:::0;;;;;;;;:::o;1274:113:58:-;1317:14;1346:36;:34;:36::i;:::-;1339:43;;1274:113;:::o;11570:932:91:-;995:20:83;:18;:20::i;:::-;11775:141:91::1;11821:12;:10;:12::i;:::-;11852:9;11890:19;11775:26;:141::i;:::-;11966:41;11987:19;11966:20;:41::i;:::-;11962:536;;;12111:25;12139:39;12158:19;12139:18;:39::i;:::-;12111:67;;12186:73;12203:17;12222:36;12186:16;:73::i;:::-;12330:161;12381:12;:10;:12::i;:::-;12413:19;12452:12;12481:1;12330:32;:161::i;:::-;;12009:489;11962:536;11570:932:::0;;;:::o;8331:1508::-;8470:28;995:20:83;:18;:20::i;:::-;-1:-1:-1;;;8577:8:91;-1:-1:-1;;;;;;8577:37:91::1;;8573:138;;-1:-1:-1::0;;;8674:8:91::1;8684:19;:8;:17;:19::i;:::-;8631:73;;;;;;;;;;;;;:::i;8573:138::-;8754:40;8785:8;8754:30;:40::i;:::-;8848:50;8875:8;8885:12;:10;:12::i;8848:50::-;8945:29;8977:59;9012:23;:8;385:5:16::0;2502:44:59;;2404:148;9012:23:91::1;-1:-1:-1::0;;8977:59:91::1;:34;:59::i;:::-;8945:91;;9042:35;9097:15;9120:23;9080:64;;;;;;;;;:::i;:::-;;;;;;;;;;;;;9042:102;;9191:22;9181:33;;;;;;9150:65;;9281:27;9311:53;9342:21;9311:30;:53::i;:::-;9281:83:::0;-1:-1:-1;9375:40:91;;9371:111:::1;;9424:58;::::0;::::1;::::0;;-1:-1:-1;;;;;;5272:79:208;;9424:58:91::1;::::0;::::1;5254:98:208::0;5227:18;;9424:58:91::1;5110:248:208::0;9371:111:91::1;9566:41:::0;;::::1;::::0;::::1;::::0;9614:79:::1;9637:21:::0;9660:8;9566:41;9614:22:::1;:79::i;:::-;9756:78;9780:21;9810:22;9756:23;:78::i;:::-;8500:1339;;;;8331:1508:::0;;;;:::o;5760:2236::-;995:20:83;:18;:20::i;:::-;-1:-1:-1;;;5948:8:91;-1:-1:-1;;;;;;5948:37:91::1;;5944:138;;-1:-1:-1::0;;;6045:8:91::1;6055:19;:8;:17;:19::i;5944:138::-;-1:-1:-1::0;;;2820:46:59;;-1:-1:-1;;;2819:74:59;6191:43:91::1;2819:74:59::0;6191:30:91::1;:43::i;:::-;6288:53;6315:11;6328:12;:10;:12::i;6288:53::-;6432:74;6457:6;6466:39;6432:16;:74::i;:::-;6599:9;6577:18;:8:::0;:16:::1;:18::i;:::-;-1:-1:-1::0;;6577:31:91::1;::::0;6573:98:::1;;6641:8;6651:19;:8;:17;:19::i;6573:98::-;6755:27;6785:36;6813:6;6785:19;:36::i;:::-;6755:66:::0;-1:-1:-1;6838:40:91;;;::::1;::::0;:110:::1;;;6939:8;6900:16;6882:66;;6838:110;6827:192;;;6970:42;::::0;::::1;::::0;;-1:-1:-1;;;;;2925:55:208;;6970:42:91::1;::::0;::::1;2907:74:208::0;2880:18;;6970:42:91::1;2761:226:208::0;6827:192:91::1;7083:22;7108:28;7127:8;7108:18;:28::i;:::-;7083:53:::0;-1:-1:-1;;;;;;7216:28:91;::::1;::::0;7212:411:::1;;7315:44;7344:14;7315:28;:44::i;:::-;7430:57;7459:11;7472:14;7430:28;:57::i;:::-;7212:411;;;7578:38;7601:8;7611:4;7578:22;:38::i;:::-;7710:53;7723:8;7741:6;7750:12;7710;:53::i;:::-;7835:46;7863:6;7872:8;7835:19;:46::i;:::-;7936:55;7956:11;7977:6;7986:4;7936:19;:55::i;:::-;5871:2125;;;5760:2236:::0;;;:::o;3108:595:90:-;995:20:83;:18;:20::i;:::-;3321:68:90::1;3346:11;3360:28;3321:16;:68::i;:::-;3442:56;-1:-1:-1::0;;;;;;2820:46:59;;2819:74;2349:30:90::1;:56::i;3442:::-;3548:49;3575:7;3584:12;:10;:12::i;3548:49::-;3629:69;3657:7;3666:11;3679:18;3629:27;:69::i;10243:997:91:-:0;10420:28;995:20:83;:18;:20::i;:::-;625:63:81::1;::::0;;-1:-1:-1;;;625:63:81::1;::::0;::::1;12693:92:208::0;662:14:81::1;12801:11:208::0;;;12794:100;;;12910:12;;;12903:101;10508:59:91::1;::::0;13020:12:208;625:63:81::1;;;;;;;;;;;;617:72;;;:::i;:::-;10554:12:91;:10;:12::i;10508:59::-;-1:-1:-1::0;10670:40:91;;::::1;::::0;::::1;::::0;10777:27:::1;10807:53;10670:40:::0;10807:30:::1;:53::i;:::-;10777:83:::0;-1:-1:-1;10871:40:91;;10867:111:::1;;10920:58;::::0;::::1;::::0;;-1:-1:-1;;;;;;5272:79:208;;10920:58:91::1;::::0;::::1;5254:98:208::0;5227:18;;10920:58:91::1;5110:248:208::0;10867:111:91::1;11023:79;11046:21;11069:8;11079:22;11023;:79::i;:::-;11165:70;11189:21;11212:22;11165:23;:70::i;:::-;10450:790;10243:997:::0;;;;;:::o;1019:570:89:-;995:20:83;:18;:20::i;:::-;1185:60:89::1;1210:6;1219:25;1185:16;:60::i;:::-;1252:200;1319:12;:10;:12::i;:::-;1349:1;1374:6;1432:11;1399:46;;;;;;;;:::i;:::-;;::::0;;-1:-1:-1;;1399:46:89;;::::1;::::0;;;;;;::::1;::::0;::::1;::::0;;::::1;;::::0;::::1;::::0;;1252:47:::1;:200::i;:::-;;1516:68;1546:6;1565:11;1555:22;;;;;;1579:4;1516:21;:68::i;1610:129:58:-:0;1660:14;1691:43;:41;:43::i;4696:386:91:-;995:20:83;:18;:20::i;:::-;4853:50:91::1;4880:8;4890:12;:10;:12::i;4853:50::-;4998:79;1266:66:76;5046:8:91::0;5064:11;4998:27:::1;:79::i;14557:466::-:0;995:20:83;:18;:20::i;:::-;14698:29:91::1;14715:11;14698:16;:29::i;:::-;14772:43;14803:11;14772:30;:43::i;:::-;14869:53;14896:11;14909:12;:10;:12::i;14869:53::-;14966:52;15006:11;14966:39;:52::i;:::-;14557:466:::0;:::o;2490:736::-;995:20:83;:18;:20::i;:::-;2627:29:91::1;2644:11;2627:16;:29::i;:::-;2721:34;2743:11;2721:21;:34::i;:::-;2808:35;2831:11;2808:22;:35::i;:::-;2804:127;;;2888:11;2901:22;:11;:20;:22::i;:::-;2860:64;;;;;;;;;;;;:::i;2804:127::-;2975:41;2998:11;3011:4;2975:22;:41::i;:::-;3069:46;3089:11;3102:12;:10;:12::i;:::-;3069:19;:46::i;:::-;3169:52;3189:11;3202:12;:10;:12::i;:::-;3216:4;3169:19;:52::i;13228:1145::-:0;995:20:83;:18;:20::i;:::-;13442:29:91::1;13459:11;13442:16;:29::i;:::-;13533:41;13554:19;13533:20;:41::i;:::-;13528:107;;13591:37;;;;;;;;;;;;;;13528:107;13688:53;13715:11;13728:12;:10;:12::i;13688:53::-;13840:25;13868:39;13887:19;13868:18;:39::i;:::-;13840:67;;13913:73;13930:17;13949:36;13913:16;:73::i;:::-;14032:65;14064:11;14077:19;14032:31;:65::i;:::-;14168:19:::0;;:23;14164:205:::1;;14201:161;14252:12;:10;:12::i;14164:205::-;13388:985;13228:1145:::0;;;:::o;12687:223::-;995:20:83;:18;:20::i;:::-;12820:85:91::1;12868:12;:10;:12::i;:::-;12893:9;12820:34;:85::i;3530:936::-:0;995:20:83;:18;:20::i;:::-;-1:-1:-1;;;3755:8:91;-1:-1:-1;;;;;;3755:37:91::1;;3751:138;;-1:-1:-1::0;;;3852:8:91::1;3862:19;:8;:17;:19::i;3751:138::-;3970:69;3995:11;4009:29;3970:16;:69::i;:::-;4081:40;4112:8;4081:30;:40::i;:::-;4175:57;-1:-1:-1::0;;;;;;2820:46:59;;2819:74;2349:30:90::1;:56::i;4175:57:91:-;4282:50;4309:8;4319:12;:10;:12::i;4282:50::-;4364:97;4381:8:::0;-1:-1:-1;;987:20:4;;;;979:29;1011:30;;;;;;979:62;4364:16:91::1;:97::i;2306:98:58:-:0;2345:7;2367:32;:30;:32::i;1113:189:83:-;-1:-1:-1;;;;;1199:6:83;1182:23;1190:4;1182:23;1171:127;;1266:25;;;;;;;;;;;;;;1171:127;1113:189::o;2074:233:42:-;-1:-1:-1;;;;;2159:58:42;;:48;-1:-1:-1;;;;;;2820:46:59;;2819:74;2159:19:42;:48::i;:::-;-1:-1:-1;;;;;2159:58:42;;2155:148;;2266:21;:10;:19;:21::i;:::-;2289:6;2234:62;;;;;;;;;;;;:::i;12902:170:20:-;12990:77;1075:66:28;13037:7:20;13054:11;12990:27;:77::i;3030:160:59:-;3093:7;3157:26;438:6;385:5:16;3157:26:59;:::i;:::-;3123:61;;;;;3030:160;-1:-1:-1;3030:160:59:o;3351:592::-;3415:13;3485:10;385:5:16;2502:44:59;;;3436:19;3583;3485:10;3583:7;:19::i;:::-;3560:42;-1:-1:-1;3665:12:59;-1:-1:-1;;3704:35:59;;;:102;;3753:53;-1:-1:-1;;3753:53:59;;:34;:53::i;:::-;3704:102;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3833:25:59;;;:87;;3872:48;3907:12;3872:34;:48::i;:::-;3833:87;;;;;;;;;;;;;;;;;;;;;3637:293;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3608:330;;;;;3351:592;;;:::o;2536:206:42:-;2610:34;2633:10;2610:22;:34::i;:::-;2605:133;;2697:10;2709:21;:10;:19;:21::i;:::-;2661:70;;;;;;;;;;;;:::i;8858:2614:20:-;-1:-1:-1;;;9118:7:20;-1:-1:-1;;;;;;9118:35:20;;;;;:83;;-1:-1:-1;;;;9157:7:20;-1:-1:-1;;;;;;9157:44:20;;;9118:83;9114:209;;;-1:-1:-1;;;9273:7:20;9306;9289:25;;;;;;15382:19:208;;15426:2;15417:12;;15222:213;9289:25:20;;;;-1:-1:-1;;9289:25:20;;;;;;;;;;9218:98;;;;;;;;;;:::i;9114:209::-;9369:22;:11;:20;:22::i;:::-;9432:40;:9;9465:4;9432:18;:40::i;:::-;9478:43;:11;9513:5;9478:20;:43::i;:::-;1576:38:30;5165:60:17;;;1408:34:30;5088:59:17;;;5082:144;5067:159;;9609:8:20;:15;:40;9605:148;;1576:38:30;5165:60:17;;;1408:34:30;5088:59:17;;;5082:144;5067:159;;9730:15:20;;9666:80;;;;;;;;15614:25:208;;;;15655:18;;;15648:34;15587:18;;9666:80:20;15440:248:208;9605:148:20;1576:38:30;5165:60:17;;;1408:34:30;5088:59:17;;;5082:144;5067:159;;9803:10:20;:17;:44;9799:158;;1576:38:30;5165:60:17;;;1408:34:30;5088:59:17;;;5082:144;5067:159;;9932:17:20;;9864:86;;;;;;;;15614:25:208;;;;15655:18;;;15648:34;15587:18;;9864:86:20;15440:248:208;9799:158:20;1576:38:30;5165:60:17;;;1408:34:30;5088:59:17;;;5082:144;5067:159;;1576:38:30;5165:60:17;;;1408:34:30;5088:59:17;;;5082:144;5067:159;;10014:50:20;10010:171;;1576:38:30;5165:60:17;;;1408:34:30;5088:59:17;;;5082:144;5067:159;;1576:38:30;5165:60:17;;;1408:34:30;5088:59:17;;;5082:144;5067:159;;10081:93:20;;;;;;;;15614:25:208;;;;15655:18;;;15648:34;15587:18;;10081:93:20;15440:248:208;10010:171:20;10223:29;:11;:27;:29::i;:::-;10190;:11;:27;:29::i;:::-;:62;10186:225;;10328:29;:11;:27;:29::i;:::-;10367;:11;:27;:29::i;:::-;10269:135;;;;;;;;15614:25:208;;;;15655:18;;;15648:34;15587:18;;10269:135:20;15440:248:208;10186:225:20;10454:30;:11;:28;:30::i;:::-;10420;:11;:28;:30::i;:::-;:64;10416:230;;10561:30;:11;:28;:30::i;:::-;10601;:11;:28;:30::i;:::-;10501:138;;;;;;;;15614:25:208;;;;15655:18;;;15648:34;15587:18;;10501:138:20;15440:248:208;10416:230:20;10743:9;10738:314;10758:29;:11;:27;:29::i;:::-;10754:1;:33;10738:314;;;10832:44;:22;:11;10852:1;10832:19;:22::i;:::-;:42;;;;;;;;:::i;:::-;;:44::i;:::-;537:1:30;4479:19:3;:27;;;4478:44;4444:79;;;4431:93;;10806:70:20;10802:244;;537:1:30;4479:19:3;:27;;;4478:44;4444:79;;;4431:93;;10983:44:20;:22;:11;11003:1;10983:19;:22::i;:44::-;10895:142;;;;;;;;15614:25:208;;;;15655:18;;;15648:34;15587:18;;10895:142:20;15440:248:208;10802:244:20;10789:3;;10738:314;;;;11114:31;11137:7;11114:22;:31::i;:::-;11110:140;;;11200:7;11233;11216:25;;;;;;15382:19:208;;15426:2;15417:12;;15222:213;11216:25:20;;;;-1:-1:-1;;11216:25:20;;;;;;;;;;11162:81;;;;;;;;;:::i;11110:140::-;11291:103;11303:7;11312:11;11325:9;11336:11;11360:8;11349:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;11382:10;11371:22;;;;;;;;:::i;:::-;;;;;;;;;;;;;11291:11;:103::i;:::-;11430:37;11453:7;11462:4;11430:22;:37::i;3173:383:58:-;3459:34;3463:14;3459:34;3446:48;3440:4;3436:59;;3506:45;;-1:-1:-1;3541:10:58;3506:45;3173:383;:::o;6930:426:80:-;7058:16;;;7072:1;7058:16;;;;;;;;7029:26;;7058:16;;;;;;;;;;-1:-1:-1;7058:16:80;7029:45;;7119:9;-1:-1:-1;;;;;7103:27:80;7095:36;;7080:9;7090:1;7080:12;;;;;;;;:::i;:::-;;;;;;:51;;;;;7176:9;-1:-1:-1;;;;;7160:27:80;7152:36;;7137:9;7147:1;7137:12;;;;;;;;:::i;:::-;;;;;;:51;;;;;7195:156;1271:66;1255:83;;7243:9;7260:1;7304:19;7269:56;;;;;;15382:19:208;;15426:2;15417:12;;15222:213;7269:56:80;;;;-1:-1:-1;;7269:56:80;;;;;;;;;-1:-1:-1;;;7195:24:80;:156::i;1443:162:43:-;1517:4;744:53;;;1536:64;;;;;1568:32;1580:19;1568:11;:32::i;:::-;1567:33;1529:71;1443:162;-1:-1:-1;;1443:162:43:o;3835:307:78:-;3950:16;;;3964:1;3950:16;;;;;;;;;3899:14;;;;3950:16;;;;;;;;;;;;-1:-1:-1;3950:16:78;3921:45;;4005:8;3972:9;3982:1;3972:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;4021:13;4037:62;1262:66;4072:9;4021:13;1435:66;4037:24;:62::i;:::-;4113:23;;;3835:307;-1:-1:-1;;;;3835:307:78:o;879:238:93:-;964:61;996:15;1013:11;964:31;:61::i;:::-;959:156;;1040:70;;;;;-1:-1:-1;;;;;17315:55:208;;1040:70:93;;;17297:74:208;-1:-1:-1;;;;;;17407:79:208;;17387:18;;;17380:107;17270:18;;1040:70:93;17125:368:208;5192:401:55;5336:17;5362:12;5376:23;5403:115;5433:6;5477:8;5503;5454:5;5403:13;:115::i;:::-;5361:157;;;;5529:7;5524:41;;5538:27;5554:10;5538:15;:27::i;:::-;5578:10;-1:-1:-1;;5192:401:55;;;;;;;:::o;1796:322:59:-;1866:13;1887:14;1907:80;1923:2;1914:6;:11;1907:80;;;-1:-1:-1;;1941:34:59;;3152:1:2;3148:13;;3144:24;1941:39:59;;1937:50;1982:5;1937:50;1927:8;;1907:80;;;2023:30;;;-1:-1:-1;;17639:79:208;;2023:30:59;;;17627:92:208;2023:30:59;;17735:12:208;;;;2023:30:59;;;809:21:2;;;2023:30:59;2073:39;694:164:2;3904:322:69;4030:16;;;4044:1;4030:16;;;;;;;;;3974:19;;;;4030:16;;;;;;;;;;;;-1:-1:-1;4030:16:69;4001:45;;4075:16;4067:25;;;4052:9;4062:1;4052:12;;;;;;;;:::i;:::-;;;;;;;;;;:40;4099:13;4115:62;1271:66;4150:9;4099:13;1454:66;4115:24;:62::i;8009:454::-;8115:24;8142:46;8155:8;8165:22;8142:12;:46::i;:::-;8291:16;;;8305:1;8291:16;;;;;;;;;8115:73;;-1:-1:-1;8195:29:69;;8230:25;;8195:29;;8291:16;;;;;;;;;;;;-1:-1:-1;8291:16:69;8262:45;;8336:16;8328:25;;;8313:9;8323:1;8313:12;;;;;;;;:::i;:::-;;;;;;;;;;:40;8360:98;1271:66;8390:9;8401:11;8414:15;8431:12;1454:66;8360:19;:98::i;:::-;8109:354;;;;8009:454;;;:::o;3924:455:70:-;4011:24;4041:29;4073:32;4087:17;4073:13;:32::i;:::-;4041:64;;4111:25;4139:32;4153:17;4139:13;:32::i;:::-;4207:16;;;4221:1;4207:16;;;;;;;;;4111:60;;-1:-1:-1;4178:26:70;;4207:16;;;;;;;;;;;;-1:-1:-1;4207:16:70;4178:45;;4252:16;4244:25;;;4229:9;4239:1;4229:12;;;;;;;;:::i;:::-;;;;;;;;;;:40;4276:98;1191:66;4306:9;4317:11;4330:15;4347:12;1375:66;4276:19;:98::i;4520:313:77:-;4629:16;;;4643:1;4629:16;;;;;;;;;4573:19;;;;4629:16;;;;;;;;;;;;-1:-1:-1;4629:16:77;4600:45;;4690:6;-1:-1:-1;;;;;4674:24:77;4666:33;;4651:9;4661:1;4651:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;4706:13;4722:62;1269:66;4757:9;4706:13;-1:-1:-1;;;4722:24:77;:62::i;6498:222::-;6581:16;;;6595:1;6581:16;;;;;;;;;6552:26;;6581:16;;;;;;;;;;;-1:-1:-1;6581:16:77;6552:45;;6642:6;-1:-1:-1;;;;;6626:24:77;6618:33;;6603:9;6613:1;6603:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;6658:57;1269:66;6691:9;-1:-1:-1;;;6658:22:77;:57::i;7058:295:75:-;7164:16;;;7178:1;7164:16;;;;;;;;7135:26;;7164:16;;;;;;;;;;-1:-1:-1;7164:16:75;7135:45;;7219:10;7186:9;7196:1;7186:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;7275:6;-1:-1:-1;;;;;7259:24:75;7251:33;;7236:9;7246:1;7236:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;7291:57;1269:66;7324:9;-1:-1:-1;;;7291:22:75;:57::i;4952:268:27:-;5052:16;;;5066:1;5052:16;;;;;;;;;5023:26;;5052:16;;;;;;;;;;;-1:-1:-1;5052:16:27;5023:45;;5107:10;5074:9;5084:1;5074:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;5125:90;1076:66;1060:83;;5160:9;5171:1;5192:6;5174:26;;;;;;17909:14:208;17902:22;17897:3;17893:32;17881:45;;17951:1;17942:11;;17758:201;5174:26:27;;;;-1:-1:-1;;5174:26:27;;;;;;;;;-1:-1:-1;;;5125:24:27;:90::i;7672:423:78:-;7757:24;7784:34;7797:6;7805:12;7784;:34::i;:::-;7921:16;;;7935:1;7921:16;;;;;;;;;7757:61;;-1:-1:-1;7825:29:78;;7860:25;;7825:29;;7921:16;;;;;;;;;;;;-1:-1:-1;7921:16:78;7892:45;;7976:8;7943:9;7953:1;7943:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;7992:98;1262:66;8022:9;8033:11;8046:15;8063:12;1435:66;7992:19;:98::i;5881:286:77:-;5976:16;;;5990:1;5976:16;;;;;;;;;5947:26;;5976:16;;;;;;;;;;;-1:-1:-1;5976:16:77;5947:45;;6037:6;-1:-1:-1;;;;;6021:24:77;6013:33;;5998:9;6008:1;5998:12;;;;;;;;:::i;:::-;;;;;;:48;;;;;6053:109;1269:66;1253:83;;6088:9;6099:1;6137:8;6102:45;;;;;;15382:19:208;;15426:2;15417:12;;15222:213;6322:332:75;6432:16;;;6446:1;6432:16;;;;;;;;6403:26;;6432:16;;;;;;;;;;-1:-1:-1;6432:16:75;6403:45;;6487:10;6454:9;6464:1;6454:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;6543:6;-1:-1:-1;;;;;6527:24:75;6519:33;;6504:9;6514:1;6504:12;;;;;;;;:::i;:::-;;;;;;:48;;;;;6559:90;1269:66;1253:83;;6594:9;6605:1;6626:6;6608:26;;;;;;17909:14:208;17902:22;17897:3;17893:32;17881:45;;17951:1;17942:11;;17758:201;12074:624:20;-1:-1:-1;;;12258:7:20;-1:-1:-1;;;;;;12258:35:20;;12254:161;;-1:-1:-1;;;12365:7:20;12398;12381:25;;;;;;15382:19:208;;15426:2;15417:12;;15222:213;12254:161:20;12460:31;12483:7;12460:22;:31::i;:::-;12455:136;;12541:7;12574;12557:25;;;;;;15382:19:208;;15426:2;15417:12;;15222:213;12557:25:20;;;;-1:-1:-1;;12557:25:20;;;;;;;;;;12508:76;;;;;;;;;:::i;12455:136::-;12597:96;12614:7;-1:-1:-1;;987:20:4;;;;979:29;1011:30;;;;;;979:62;12597:16:20;:96::i;7655:399:58:-;7802:17;7828:12;7842:18;7864:125;7899:9;7926:8;7950:6;7974:8;7864:15;:125::i;6350:340:72:-;6472:16;;;6486:1;6472:16;;;;;;;;6443:26;;6472:16;;;;;;;;;;-1:-1:-1;6472:16:72;6443:45;;6533:13;-1:-1:-1;;;;;6517:31:72;6509:40;;6494:9;6504:1;6494:12;;;;;;;;:::i;:::-;;;;;;:55;;;;;6570:13;6555:9;6565:1;6555:12;;;;;;;;:::i;:::-;;;;;;:28;;;;;6590:95;1182:66;1166:83;;6625:9;6636:1;6657:11;6639:31;;;;;;17909:14:208;17902:22;17897:3;17893:32;17881:45;;17951:1;17942:11;;17758:201;3779:126:58;3831:14;3862:38;:36;:38::i;1408:1069:4:-;1551:29;1583:42;1594:11;1607:17;1583:10;:42::i;:::-;1551:74;;1743:25;1785:12;:19;1771:34;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1771:34:4;;1743:62;;1853:21;1903:25;1898:312;1950:12;:19;1930:17;:39;1898:312;;;2073:19;-1:-1:-1;;;;;2006:87:4;:55;2016:12;2029:17;2016:31;;;;;;;;:::i;:::-;;;;;;;2006:53;;;3404:35;;;3274:170;2006:55;-1:-1:-1;;;;;2006:87:4;;2002:200;;2133:12;2146:17;2133:31;;;;;;;;:::i;:::-;;;;;;;2107:8;2116:13;2107:23;;;;;;;;:::i;:::-;-1:-1:-1;;2107:57:4;;;:23;;;;;;;;;;;:57;2176:15;;;;;2002:200;1971:19;;1898:312;;;;2363:13;2353:8;2346:31;2420:52;2431:11;2444:17;2463:8;2420:10;:52::i;521:401:94:-;-1:-1:-1;;;;;;2820:46:59;;2819:74;746:10:94;728:79;724:196;;-1:-1:-1;;;881:10:94;893:21;:10;:19;:21::i;6718:214:73:-;6808:16;;;6822:1;6808:16;;;;;;;;;6779:26;;6808:16;;;;;;;;;;;-1:-1:-1;6808:16:73;6779:45;;6863:11;6830:9;6840:1;6830:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;6882;1271:66;6917:9;6882:24;:45::i;573:770:95:-;701:17;721:25;:10;385:5:16;2502:44:59;;2404:148;721:25:95;701:45;-1:-1:-1;750:30:95;783:45;-1:-1:-1;;783:45:95;;:34;:45::i;:::-;865:30;;750:78;;-1:-1:-1;904:26:95;;900:441;;942:65;961:16;980:26;1005:1;980:22;:26;:::i;:::-;2636:27:2;2650:4;2636:27;2630:34;;2509:165;942:65:95;:72;;;;938:146;;1031:46;;;;;-1:-1:-1;;18261:79:208;;1031:46:95;;;18243:98:208;18216:18;;1031:46:95;18097:250:208;938:146:95;1095:9;1090:247;1110:26;1135:1;1110:22;:26;:::i;:::-;1106:1;:30;1090:247;;;2650:4:2;2636:27;;;;2630:34;1155:47:95;;;;;:102;;;;-1:-1:-1;1206:44:95;1225:16;1244:5;:1;1248;1244:5;:::i;1206:44::-;:51;;;;;1155:102;1151:180;;;1276:46;;;;;-1:-1:-1;;18261:79:208;;1276:46:95;;;18243:98:208;18216:18;;1276:46:95;18097:250:208;1151:180:95;1138:3;;1090:247;;3588:314:27;3702:16;;;3716:1;3702:16;;;;;;;;;3654:11;;;;3702:16;;;;;;;;;;;;-1:-1:-1;3702:16:27;3673:45;;3757:10;3724:9;3734:1;3724:12;;;;;;;;:::i;:::-;;;;;;;;;;:44;3775:13;3791:62;1076:66;3826:9;3775:13;-1:-1:-1;;;3791:24:27;:62::i;:::-;3775:78;;3867:29;3888:5;3875:20;;1452:10:16;1343:126;5756:265:74;5853:16;;;5867:1;5853:16;;;;;;;;;5824:26;;5853:16;;;;;;;;;;;-1:-1:-1;5853:16:74;5824:45;;5908:11;5875:9;5885:1;5875:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5927:89;1269:66;1253:83;;5962:9;5973:1;5994:5;5976:25;;;;;;;18501:2:208;18497:15;;;;-1:-1:-1;;18493:88:208;18481:101;;18607:2;18598:12;;18352:264;5976:25:74;;;;-1:-1:-1;;5976:25:74;;;;;;;;;1449:66;5927:24;:89::i;6308:349:73:-;6422:16;;;6436:1;6422:16;;;;;;;;;6393:26;;6422:16;;;;;;;;;;;-1:-1:-1;6422:16:73;6393:45;;6477:11;6444:9;6454:1;6444:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;6496:156;1271:66;1255:83;;6544:9;6561:1;6605:19;6570:56;;;;;;15382:19:208;;15426:2;15417:12;;15222:213;7417:291:80;7521:16;;;7535:1;7521:16;;;;;;;;7492:26;;7521:16;;;;;;;;;;-1:-1:-1;7521:16:80;7492:45;;7582:9;-1:-1:-1;;;;;7566:27:80;7558:36;;7543:9;7553:1;7543:12;;;;;;;;:::i;:::-;;;;;;:51;;;;;7639:9;-1:-1:-1;;;;;7623:27:80;7615:36;;7600:9;7610:1;7600:12;;;;;;;;:::i;:::-;;;;;;;;;;:51;7658:45;1271:66;7693:9;7658:24;:45::i;10311:257:76:-;10408:16;;;10422:1;10408:16;;;;;;;;;10379:26;;10408:16;;;;;;;;;;;-1:-1:-1;10408:16:76;10379:45;;10463:8;10430:9;10440:1;10430:12;;;;;;;;:::i;:::-;;;;;;:42;;;;;10479:84;1266:66;1250:83;;10520:9;10531:1;10552:8;10534:28;;;;;;;-1:-1:-1;;18762:79:208;;;;18750:92;;18867:2;18858:12;;18621:255;10534:28:76;;;;;;;;;;;;;10479:30;:84::i;4578:97:58:-;4619:7;4641:29;:27;:29::i;4483:306:74:-;4594:16;;;4608:1;4594:16;;;;;;;;;4544:13;;;;4594:16;;;;;;;;;;;;-1:-1:-1;4594:16:74;4565:45;;4649:11;4616:9;4626:1;4616:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;4668:13;4684:62;1269:66;4719:9;4668:13;1449:66;4684:24;:62::i;6774:1658:3:-;6457:45;6837:86;;6879:37;;;;;;;;;;;;;;6837:86;6929:25;6957:30;:11;:28;:30::i;:::-;6929:58;;902:1:30;6997:17:3;:38;6993:155;;;7052:89;;;;;;;;15614:25:208;;;902:1:30;15655:18:208;;;15648:34;15587:18;;7052:89:3;15440:248:208;6993:155:3;7154:24;7181:29;:11;:27;:29::i;:::-;7154:56;-1:-1:-1;7216:23:3;7242:36;7261:17;7154:56;7242:36;:::i;:::-;7216:62;;647:2:30;7288:15:3;:34;7284:140;;;7339:78;;;;;;;;15614:25:208;;;647:2:30;15655:18:208;;;15648:34;15587:18;;7339:78:3;15440:248:208;7284:140:3;7466:25;7502:9;7497:427;7517:16;7513:1;:20;7497:427;;;4431:93;4479:19;:27;;;537:1:30;4478:44:3;4444:79;;;4431:93;7545:24;7606:21;;;7602:232;;7646:51;;;;;;;;6057:25:208;;;6030:18;;7646:51:3;5911:177:208;7602:232:3;334:2:30;7716:16:3;:28;7712:122;;;7763:62;;;;;;;;6057:25:208;;;6030:18;;7763:62:3;5911:177:208;7712:122:3;7841:37;7862:16;7841:37;;:::i;:::-;;-1:-1:-1;;7906:3:3;;7497:427;;;;7991:30;:11;:28;:30::i;:::-;7970:17;:51;7966:183;;8092:30;:11;:28;:30::i;:::-;8038:104;;;;;;;;15614:25:208;;;;15655:18;;;15648:34;;;15587:18;;8038:104:3;15440:248:208;7966:183:3;8205:16;8188:240;647:2:30;8223:1:3;:20;8188:240;;;4431:93;4479:19;:27;;;537:1:30;4478:44:3;4444:79;;;4431:93;8319:21;;8315:107;;8359:54;;;;;;;;6057:25:208;;;6030:18;;8359:54:3;5911:177:208;8315:107:3;-1:-1:-1;8245:3:3;;8188:240;;5689:1629:17;5796:10;5795:11;:31;;;;-1:-1:-1;6457:45:3;;5810:16:17;5791:80;;;5835:36;;-1:-1:-1;;;5835:36:17;;5869:1;5835:36;;;6057:25:208;6030:18;;5835:36:17;5911:177:208;5791:80:17;5934:25;5962;:6;:23;:25::i;:::-;5934:53;;902:1:30;5997:17:17;:38;5993:103;;;6044:52;;-1:-1:-1;;;6044:52:17;;;;;6057:25:208;;;6030:18;;6044:52:17;5911:177:208;5993:103:17;6103:24;6130;:6;:22;:24::i;:::-;6103:51;-1:-1:-1;6224:23:17;6250:36;6269:17;6103:51;6250:36;:::i;:::-;6224:62;;647:2:30;6296:15:17;:34;6292:97;;;6339:50;;-1:-1:-1;;;6339:50:17;;;;;6057:25:208;;;6030:18;;6339:50:17;5911:177:208;6292:97:17;6450:25;6486:9;6481:313;6501:16;6497:1;:20;6481:313;;;6529:24;6556:39;:17;:6;6571:1;6556:14;:17::i;:39::-;6529:66;;6607:16;6627:1;6607:21;6603:101;;6647:48;;;;;;;;;;;;;;6603:101;6711:37;6732:16;6711:37;;:::i;:::-;;-1:-1:-1;;6776:3:17;;6481:313;;;;6862:25;:6;:23;:25::i;:::-;6841:17;:46;6837:134;;6938:25;:6;:23;:25::i;:::-;6904:60;;-1:-1:-1;;;6904:60:17;;;;;;6057:25:208;;6045:2;6030:18;;5911:177;6837:134:17;7046:16;7029:285;7068:15;7064:1;:19;7029:285;;;7095:24;7122:39;:17;:6;7137:1;7122:14;:17::i;:39::-;7095:66;-1:-1:-1;7173:20:17;;7169:100;;7212:48;;;;;;;;;;;;;;7169:100;-1:-1:-1;7296:3:17;;7029:285;;5135:171:3;5208:7;537:1:30;1425;1409:13;1421:1;334:2;1409:13;:::i;:::-;:17;;;;:::i;:::-;1408:34;;;;:::i;:::-;5244:11:3;5223:78;5236:64;;5223:78;;5135:171;-1:-1:-1;;5135:171:3:o;5533:173::-;5607:7;537:1:30;1597;;1577:13;1589:1;334:2;1577:13;:::i;:::-;:17;;;;:::i;3948:206:17:-;4018:10;4108:19;:27;;;4139:1;4107:33;4086:6;4061:82;4078:63;;4061:82;;;;;;;;;:::i;:::-;4054:89;3948:206;-1:-1:-1;;;3948:206:17: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;20651:676:29:-;20859:24;20886:49;20899:11;20912:9;20923:11;20886:12;:49::i;:::-;20859:76;;20942:29;20974:55;20988:18;21008:20;20974:13;:55::i;:::-;20942:87;;21035:25;21063:55;21077:18;21097:20;21063:13;:55::i;:::-;21154:16;;;21168:1;21154:16;;;;;;;;;21035:83;;-1:-1:-1;21125:26:29;;21154:16;;;;;;;;;;;;-1:-1:-1;21154:16:29;21125:45;;21209:7;21176:9;21186:1;21176:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;21224:98;1171:66;21254:9;21265:11;21278:15;21295:12;1343:66;21224:19;:98::i;:::-;20853:474;;;;20651:676;;;;;;:::o;24989:355:20:-;25161:178;25195:7;25220:8;25250:63;25289:11;25302:10;25250:38;:63::i;:::-;25328:4;25161:16;:178::i;1063:181:43:-;764:71:81;;;-1:-1:-1;;;764:71:81;;;12693:92:208;1139:4:43;12801:11:208;;;12794:100;;;814:20:81;12910:12:208;;;12903:101;1139:4:43;13020:12:208;764:71:81;;;;;;;;;;;;756:80;;;:::i;:::-;1158:81:43;;;;1063:181;-1:-1:-1;1063:181:43:o;38022:541:20:-;38179:7;38316:242;38360:59;38401:7;38410:8;38360:40;:59::i;:::-;38437:31;;;;4479:19:3;:27;537:1:30;4478:44:3;4444:79;;;4431:93;38486:63:20;38525:11;38538:10;38486:38;:63::i;:::-;38316:17;:242::i;:::-;38303:255;38022:541;-1:-1:-1;;;;;38022:541:20:o;1313:272:45:-;1400:4;1499:23;1514:7;1499:14;:23::i;:::-;:81;;;;;1526:54;1559:7;1568:11;1526:32;:54::i;3716:1003:55:-;3852:12;3866:17;3915:22;3940:26;3957:8;3940:16;:26::i;:::-;3915:51;;4043:9;4038:228;4058:5;:12;4054:1;:16;4038:228;;;4085:9;4107:5;4113:1;4107:8;;;;;;;;:::i;:::-;;;;;;;4085:31;;4128:34;392:6:97;4128:4:55;:14;;;;;:34;;;;:::i;:::-;4124:136;;;4174:77;;;;;3404:35:4;;;;;4174:49:55;;:77;;4224:6;;4232:8;;4242;;4174:77;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4124:136;-1:-1:-1;4072:3:55;;4038:228;;;;4341:78;4356:6;4371:5;4388:8;4408;4341:4;:78::i;:::-;4323:96;;-1:-1:-1;4323:96:55;-1:-1:-1;4494:9:55;4489:226;4509:5;:12;4505:1;:16;4489:226;;;4536:9;4558:5;4564:1;4558:8;;;;;;;;:::i;:::-;;;;;;;4536:31;;4579:33;520:6:97;4579:4:55;:14;;;;;:33;;;;:::i;:::-;4575:134;;;4624:76;;;;;3404:35:4;;;;;4624:48:55;;:76;;4673:6;;4681:8;;4691;;4624:76;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4575:134;-1:-1:-1;4523:3:55;;4489:226;;;;3885:834;3716:1003;;;;;;;:::o;501:217:96:-;704:6;698:13;691:4;683:6;679:17;672:40;9915:179:69;10012:12;10056:8;10066:22;10039:50;;;;;;;;19875:19:208;;;-1:-1:-1;;;;;;19924:79:208;19919:2;19910:12;;19903:101;20029:2;20020:12;;19689:349;10039:50:69;;;;;;;;;;;;;10032:57;;9915:179;;;;:::o;15127:3138:20:-;-1:-1:-1;;;15400:7:20;-1:-1:-1;;;;;;15400:44:20;;15396:198;;15514:7;15498:75;15523:8;15533:10;15545:14;15561:11;15498:75;;;;;;;;;:::i;:::-;;;;;;;;15581:7;;15396:198;15732:22;15757:24;15773:7;15757:15;:24::i;:::-;15732:49;;15792:9;15787:340;15807:5;:12;15803:1;:16;15787:340;;;15834:9;15856:5;15862:1;15856:8;;;;;;;;:::i;:::-;;;;;;;15834:31;;15877:33;343:6:32;15877:4:20;:14;;;;;:33;;;;:::i;:::-;15873:248;;;15922:190;;;;;3404:35:4;;;;;15922:47:20;;:190;;15981:7;;16000:8;;16020:10;;16042:14;;16068:11;;16091;;15922:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15873:248;-1:-1:-1;15821:3:20;;15787:340;;;;16191:7;16175:75;16200:8;16210:10;16222:14;16238:11;16175:75;;;;;;;;;:::i;:::-;;;;;;;;16314:26;16343:59;16384:7;16393:8;16343:40;:59::i;:::-;16314:88;-1:-1:-1;16408:21:20;828:4:14;818:15;;16408:54:20;;16468:149;16506:18;16540:1;16557:10;:17;16597:13;16468;:149::i;:::-;16717:1;16684:30;:11;:28;:30::i;:::-;:34;16680:1174;;;16803:33;16839:66;16887:7;16896:8;16839:47;:66::i;:::-;629:28:19;;;16803:102:20;-1:-1:-1;828:4:14;818:15;;17079:47:20;;17235:27;17270:25;17308:7;17303:545;17321:30;:11;:28;:30::i;:::-;17317:1;:34;;;17303:545;;;17387:63;17429:7;17438:8;17448:1;17387:41;:63::i;:::-;17365:85;-1:-1:-1;17480:25:20;:14;17503:1;6801:16:15;;922;6801;834;6790:27;6750:68;6728:92;;;6613:218;17480:25:20;17460:45;;17515:170;17557:19;17596:1;17617:17;17661:13;17515;:170::i;:::-;17695:34;17712:17;17695:34;;:::i;:::-;;-1:-1:-1;17826:3:20;;17303:545;;;;16720:1134;;;16680:1174;17928:9;17923:338;17943:5;:12;17939:1;:16;17923:338;;;17970:9;17992:5;17998:1;17992:8;;;;;;;;:::i;:::-;;;;;;;17970:31;;18013:32;437:6:32;18013:4:20;:14;;;;;:32;;;;:::i;:::-;18009:246;;;18057:189;;;;;3404:35:4;;;;;18057:46:20;;:189;;18115:7;;18134:8;;18154:10;;18176:14;;18202:11;;18225;;18057:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18009:246;-1:-1:-1;17957:3:20;;17923:338;;6018:304:70;6097:29;6257:54;6285:17;6279:31;834:16:15;1854:39;;;1836:58;;1697:263;6487:155:70;6566:12;6617:17;6593:44;;;;;;;;:::i;:::-;;;;;;;;;;;;;6586:51;;6487:155;;;:::o;28177:1778:20:-;-1:-1:-1;;;28344:7:20;-1:-1:-1;;;;;;28344:44:20;;28340:160;;28461:7;28442:37;28470:8;28442:37;;;;;;:::i;:::-;;;;;;;;28177:1778;;;:::o;28340:160::-;28641:22;28666:24;28682:7;28666:15;:24::i;:::-;28641:49;;28701:9;28696:235;28716:5;:12;28712:1;:16;28696:235;;;28743:9;28765:5;28771:1;28765:8;;;;;;;;:::i;:::-;;;;;;;28743:31;;28786:36;983:6:32;28786:4:20;:14;;;;;:36;;;;:::i;:::-;28782:143;;;28834:82;;;;;3404:35:4;;;;;28834:50:20;;:82;;28885:7;;28894:8;;28904:11;;28834:82;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28782:143;-1:-1:-1;28730:3:20;;28696:235;;;;28998:7;28979:37;29007:8;28979:37;;;;;;:::i;:::-;;;;;;;;29049:26;29078:59;29119:7;29128:8;29078:40;:59::i;:::-;29049:88;;29143:113;29175:18;29203:1;29222:30;:11;:28;:30::i;:::-;29212:41;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;29212:41:20;;29143:13;:113::i;:::-;29475:1;29442:30;:11;:28;:30::i;:::-;:34;29438:236;;;29486:33;29522:66;29570:7;29579:8;29522:47;:66::i;:::-;29486:102;;29596:71;29627:25;29662:2;29596:12;:71::i;:::-;29478:196;29438:236;29723:9;29718:233;29738:5;:12;29734:1;:16;29718:233;;;29765:9;29787:5;29793:1;29787:8;;;;;;;;:::i;:::-;;;;;;;29765:31;;29808:35;1083:6:32;29808:4:20;:14;;;;;:35;;;;:::i;:::-;29804:141;;;29855:81;;;;;3404:35:4;;;;;29855:49:20;;:81;;29905:7;;29914:8;;29924:11;;29855:81;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;29804:141;-1:-1:-1;29752:3:20;;29718:233;;9495:150:78;9602:38;;9575:12;23278:15:208;;;-1:-1:-1;;23274:88:208;9602:38:78;;;23262:101:208;23409:14;;23402:22;23397:3;23393:32;23379:12;;;23372:54;9575:12:78;23442::208;;9602:38:78;23111:349:208;10391:254:28;10488:16;;;10502:1;10488:16;;;;;;;;;10459:26;;10488:16;;;;;;;;;;;-1:-1:-1;10488:16:28;10459:45;;10543:7;10510:9;10520:1;10510:12;;;;;;;;:::i;:::-;;;;;;:41;;;;;10558:82;1075:66;1059:83;;10597:9;10608:1;10629:8;10611:28;;;;;;;-1:-1:-1;;18762:79:208;;;;18750:92;;18867:2;18858:12;;18621:255;10611:28:28;;;;;;;;;;;;;10558;:82::i;6058:317:58:-;6197:12;6211:17;6254:6;-1:-1:-1;;;;;6254:11:58;6274:1;6285:79;6311:8;6332:9;6353:8;6285:13;:79::i;:::-;6254:116;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6236:134:58;;;;-1:-1:-1;6058:317:58;-1:-1:-1;;;;;6058:317:58:o;3299:257:79:-;3410:16;;;3351:22;3410:16;;;;;;;;;3433:13;3449:64;1182:66;3381:45;3433:13;1366:66;3449:26;:64::i;:::-;3527:23;;;3299:257;-1:-1:-1;;;3299:257:79:o;4214:369:26:-;4354:16;;;4368:1;4354:16;;;;;;;;;4295:22;;4325:26;;4354:16;;;;;;;;;;;;-1:-1:-1;4354:16:26;4325:45;;4409:10;4376:9;4386:1;4376:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4427:18;4448:49;4474:8;4484:9;4495:1;4448:25;:49::i;:::-;4427:70;;4511:66;:44;4532:5;4539:1;4542:5;:12;4511:20;:44::i;:::-;:64;:66::i;5601:282::-;5727:16;;;5741:1;5727:16;;;;;;;;;5698:26;;5727:16;;;;;;;;;;;-1:-1:-1;5727:16:26;5698:45;;5782:10;5749:9;5759:1;5749:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;5800:78;5826:8;5836:9;5847:1;5850:27;5870:5;5850:18;:27::i;:::-;5800:25;:78::i;13776:301:24:-;13860:21;13884:17;:15;:17::i;:::-;13860:41;-1:-1:-1;13936:4:24;-1:-1:-1;;;;;13911:30:24;;;13907:166;;13951:41;13974:7;13983:8;13951:22;:41::i;13907:166::-;14013:53;;;;;-1:-1:-1;;;;;14013:34:24;;;;;:53;;14048:7;;14057:8;;14013:53;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12274:451;12434:21;12458:17;:15;:17::i;:::-;12434:41;-1:-1:-1;12510:4:24;-1:-1:-1;;;;;12485:30:24;;;12481:240;;12525:78;12554:7;12563:8;12573:17;12592:10;12525:28;:78::i;:::-;12481:240;;;12624:90;;;;;-1:-1:-1;;;;;12624:40:24;;;;;:90;;12665:7;;12674:8;;12684:17;;12703:10;;12624:90;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12428:297;12274:451;;;;:::o;1766:227::-;996:42;1855:22;1816:7;;-1:-1:-1;;;;;1855:22:24;;1883:106;;1931:10;1924:17;;;1766:227;:::o;1883:106::-;1969:13;1766:227;-1:-1:-1;1766:227:24:o;4754:171:3:-;4828:7;537:1:30;1247:13;1259:1;334:2;1247:13;:::i;:::-;1246:30;;;;:::i;:::-;4850:70:3;;;;;4754:171;-1:-1:-1;4754:171:3:o;25054:209:29:-;25205:53;;;;;;24712:19:208;;;24747:12;;;24740:28;;;25178:12:29;24784::208;;;24777:28;;;25178:12:29;24821::208;;25205:53:29;;;;;;;;;;;;;25198:60;;25054:209;;;;;:::o;25454:388::-;25762:32;;25796:34;;25580:29;;2444:5:15;;;834:16;2475:39;;;;2457:58;2556:23;2541:39;;;;2523:58;25740:91:29;2303:344:15;26007:234:29;26133:12;26184:18;26213:20;26160:76;;;;;;;;;:::i;53556:242:20:-;53652:7;;;53691:84;53711:10;53707:14;;:1;:14;53691:84;;;53736:32;4431:93:3;4479:19;:27;;;537:1:30;4478:44:3;4444:79;;;4431:93;53736:32:20;;:::i;:::-;;-1:-1:-1;53723:3:20;;53691:84;;18901:1676;-1:-1:-1;;;19080:7:20;-1:-1:-1;;;;;;19080:44:20;;19076:232;;19231:7;19187:100;19250:8;19267:5;19280:4;19187:100;;;;;;;;:::i;:::-;;;;;;;;19295:7;;19076:232;19314:16;19333:59;19374:7;19383:8;19333:40;:59::i;:::-;19314:78;;19538:22;19563:24;19579:7;19563:15;:24::i;:::-;19538:49;;19598:9;19593:328;19613:5;:12;19609:1;:16;19593:328;;;19640:9;19662:5;19668:1;19662:8;;;;;;;;:::i;:::-;;;;;;;19640:31;;19683:41;548:6:32;19683:4:20;:14;;;;;:41;;;;:::i;:::-;19679:236;;;19736:170;;;;;3404:35:4;;;;;19736:54:20;;:170;;19812:7;;19841:8;;19868:5;;19891:4;;19736:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19679:236;-1:-1:-1;19627:3:20;;19593:328;;;;20022:7;19978:100;20041:8;20058:5;20071:4;19978:100;;;;;;;;:::i;:::-;;;;;;;;20128:70;20160:8;20178:5;20128:70;;20191:4;20128:13;:70::i;:::-;20252:9;20247:326;20267:5;:12;20263:1;:16;20247:326;;;20294:9;20316:5;20322:1;20316:8;;;;;;;;:::i;:::-;;;;;;;20294:31;;20337:40;657:6:32;20337:4:20;:14;;;;;:40;;;;:::i;:::-;20333:234;;;20389:169;;;;;3404:35:4;;;;;20389:53:20;;:169;;20464:7;;20493:8;;20520:5;;20543:4;;20389:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20333:234;-1:-1:-1;20281:3:20;;20247:326;;52539:191;52641:7;52705;52714:8;52688:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;52688:35:20;;;;;;;;;52678:46;;52688:35;52678:46;;;;44145:22;52671:53;;52539:191;-1:-1:-1;;;52539:191:20:o;8879:812:19:-;8977:14;9013:2;9003:6;:12;8999:112;;9072:2;9063:6;:11;9045:29;;;;9094:2;9084:12;;;;;;:::i;:::-;;;;8999:112;-1:-1:-1;9302:21:19;;9287:12;9275:25;;9271:53;9450:2;:11;;;9532:22;;;9528:159;;;9668:1;9652:14;9648:22;9642:29;9627:12;9612:13;9608:32;9604:68;9596:6;9593:80;9583:90;;8993:698;8879:812;;;;;:::o;709:400:45:-;773:4;962:68;995:7;1004:25;962:32;:68::i;:::-;:142;;;;-1:-1:-1;1041:63:45;1074:7;-1:-1:-1;;;;;;4133:576:45;4296:56;;-1:-1:-1;;;;;;5272:79:208;;4296:56:45;;;5254:98:208;4235:4:45;;;;5227:18:208;;4296:56:45;;;-1:-1:-1;;4296:56:45;;;;;;;;;;;;;;;;;;;;;4534:20;;4296:56;;-1:-1:-1;;;;;;;4296:56:45;;-1:-1:-1;;4499:7:45;4492:5;4481:86;4470:97;;4588:16;4574:30;;4632:4;4626:11;4611:26;;4656:7;:29;;;;;4681:4;4667:10;:18;;4656:29;:48;;;;;4703:1;4689:11;:15;4656:48;4649:55;4133:576;-1:-1:-1;;;;;;;4133:576:45:o;4591:344:76:-;4708:16;;;4722:1;4708:16;;;;;;;;;4649:22;;4679:26;;4708:16;;;;;;;;;;;;-1:-1:-1;4708:16:76;4679:45;;4763:8;4730:9;4740:1;4730:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;4779:18;4800:49;1266:66;4836:9;4779:18;4800:25;:49::i;:::-;4779:70;;4863:66;:44;4884:5;4891:1;4894:5;:12;4863:20;:44::i;2903:136:4:-;2973:4;3025:9;2992:42;;3011:9;2993:15;3003:4;3802:26;;;3672:162;2993:15;:27;2992:42;;;2985:49;;2903:136;;;;:::o;1695:1386:55:-;1822:12;1836:17;1890:21;1913:17;1934:22;1947:8;1934:12;:22::i;:::-;1889:67;;-1:-1:-1;1889:67:55;-1:-1:-1;;;;;;2001:27:55;;1997:106;;2073:8;2083:19;:8;:17;:19::i;1997:106::-;2209:12;2204:64;;2223:45;2251:8;2261:6;2223:27;:45::i;:::-;2347:9;;2343:197;;-1:-1:-1;;;2820:46:59;;-1:-1:-1;;;2819:74:59;2366:22:55;2449:26;2819:74:59;2449:13:55;:26::i;:::-;2424:51;-1:-1:-1;2483:50:55;2497:11;2510:22;2527:5;2424:51;2510:22;:::i;:::-;2483:13;:50::i;:::-;2358:182;;2343:197;2642:14;2615:23;:8;385:5:16;2502:44:59;;2404:148;2615:23:55;-1:-1:-1;;2615:41:55;;:461;;2916:160;2977:6;3003:5;3026:13;3059:8;2916:39;:160::i;:::-;2615:461;;;2739:168;2808:6;2834:5;2857:13;2890:8;2739:47;:168::i;:::-;2597:479;;;;-1:-1:-1;1695:1386:55;-1:-1:-1;;;;;;;1695:1386:55:o;4391:342:28:-;4507:16;;;4521:1;4507:16;;;;;;;;;4448:22;;4478:26;;4507:16;;;;;;;;;;;;-1:-1:-1;4507:16:28;4478:45;;4562:7;4529:9;4539:1;4529:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;4577:18;4598:49;1075:66;4634:9;4577:18;4598:25;:49::i;1423:2340:19:-;1536:10;;1532:1504;;1689:2;1679:6;:12;1675:122;;1752:2;1743:6;:11;1725:29;;;;1776:2;1766:12;;;;;;:::i;:::-;;;;1675:122;1887:10;;1883:1147;;2095:2;:11;;;1969:21;-1:-1:-1;;537:1:30;738:25:31;;716:48;2142:18:19;2127:33;;2329:12;2321:6;2317:25;2376:4;2365:9;2361:20;2353:28;;2431:13;2425:20;2414:9;2410:36;2392:54;;2679:4;2675:9;2658:14;2652:21;2648:37;2579:4;2567:10;2563:21;2506:193;2478:14;2458:253;;2770:13;2760:6;:23;2756:36;;2785:7;;;;2756:36;-1:-1:-1;2933:1:19;2915:19;;;;;2988:23;;;;;2946:30;1883:1147;3066:253;3083:2;3073:6;:12;3066:253;;3178:20;;3155:44;;3252:1;3234:19;;;;-1:-1:-1;;3292:12:19;;;;3280:2;3263:19;3066:253;;;3387:10;;3383:376;;3407:12;-1:-1:-1;;537:1:30;738:25:31;;716:48;3695:21:19;;3606:20;;3628:9;;3602:36;3691:32;;3551:184;3507:238;;-1:-1:-1;1423:2340:19;;;;:::o;55104:230:20:-;55225:7;55309;55318:8;55292:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;55292:35:20;;;;;;;;;55282:46;;55292:35;55282:46;;;;44308:40;55255:73;;55104:230;-1:-1:-1;;;55104:230:20:o;54475:274::-;54619:7;54724;54733:8;54707:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;54697:46;;;;;;54676:17;54669:25;;54649:45;;;44217:34;54649:45;:94;54641:103;;54634:110;;54475:274;;;;;:::o;900:162:19:-;989:68;995:14;1011:6;1019:4;:11;1032:24;1051:4;828::14;818:15;;692:151;1032:24:19;989:5;:68::i;3966:370::-;4088:13;4137:2;4122:11;:6;4131:2;4122:11;:::i;:::-;4121:18;;;;:::i;:::-;4104:35;;:14;:35;:::i;:::-;4088:51;;4145:187;4169:5;4152:14;:22;4145:187;;;4267:1;4251:14;4244:25;4316:1;4300:14;4296:22;4278:40;;4145:187;;30619:790:20;30878:36;30917:66;30965:7;30974:8;30917:47;:66::i;:::-;30878:105;-1:-1:-1;30989:26:20;31025:49;30878:105;31056:17;6801:16:15;;922;6801;834;6790:27;6750:68;6728:92;;;6613:218;31025:49:20;30989:86;;31113:291;31167:7;31192:8;31227:17;31277:19;31318:1;31333:10;31375:22;31113:36;:291::i;5361:201:58:-;5483:12;5527:8;5537:9;5548:8;5510:47;;;;;;;;;;:::i;17702:457:24:-;17859:7;17874:21;17898:17;:15;:17::i;:::-;17874:41;-1:-1:-1;17950:4:24;-1:-1:-1;;;;;17925:30:24;;;17921:234;;17972:68;17997:7;18006:8;18016:10;18028:11;17972:24;:68::i;:::-;17965:75;;;;;17921:234;18068:80;;;;;-1:-1:-1;;;;;18068:36:24;;;;;:80;;18105:7;;18114:8;;18124:10;;18136:11;;18068:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;39031:522:20:-;39167:12;39291:257;39330:79;39372:7;39381:8;39391:17;39330:41;:79::i;:::-;39427:1;39446:93;39521:17;39446:66;39494:7;39503:8;39446:47;:66::i;:::-;:74;6801:16:15;;922;6801;834;6790:27;6750:68;6728:92;;;6613:218;39446:93:20;39291:12;:257::i;1954:561:18:-;2045:5;2140:3;2132:5;:11;:32;;;;2153:4;:11;2147:3;:17;2132:32;2128:80;;;2191:4;2197:5;2204:3;2173:35;;;;;;;;;;;;;:::i;2128:80::-;2274:4;2264:15;;2321:16;2332:5;2264:15;2321:16;:::i;:::-;;-1:-1:-1;2343:12:18;2358:11;2364:5;2358:3;:11;:::i;:::-;643:17;2493:15;2485:3;2474:14;;;;2473:36;;;;;;-1:-1:-1;;;;;1954:561:18:o;40037:220:34:-;40103:24;40135:30;40168:32;40186:6;40194:2;40198:1;40168:17;:32::i;39736:222:35:-;39800:12;39890:6;39914:39;39890:6;39947:2;39951:1;39914:17;:39::i;26034:737:20:-;26285:36;26324:66;26372:7;26381:8;26324:47;:66::i;:::-;26285:105;-1:-1:-1;26396:26:20;26432:49;26285:105;26463:17;6801:16:15;;922;6801;834;6790:27;6750:68;6728:92;;;6613:218;26432:49:20;26396:86;;26489:277;26543:7;26568:8;26603:17;26646:1;26668:19;26701:4;26737:22;26489:36;:277::i;27433:145::-;27517:56;27530:7;27539:8;27549:23;27564:7;27549:14;:23::i;:::-;27517:12;:56::i;6686:432:78:-;6814:16;;;6828:1;6814:16;;;;;;;;;6744:14;;;;;;6814:16;;;;;;;;;;;-1:-1:-1;6814:16:78;6785:45;;6869:8;6836:9;6846:1;6836:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;6886:24;;;6972:78;1262:66;7015:9;1435:66;6972:19;:78::i;:::-;-1:-1:-1;;2650:4:2;2636:27;;2630:34;2636:27;;;;2630:34;8319:32:78;;;;;;8383:30;;;;;;-1:-1:-1;6686:432:78;-1:-1:-1;;;;;;6686:432:78:o;1480:281:42:-;1642:29;1652:10;1664:6;1642:9;:29::i;:::-;1637:120;;1720:21;:10;:19;:21::i;4485:308:68:-;4598:16;;;4612:1;4598:16;;;;;;;;;4546:15;;;;4598:16;;;;;;;;;;;;-1:-1:-1;4598:16:68;4569:45;;4653:11;4620:9;4630:1;4620:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;4672:13;4688:62;1263:66;4723:9;4672:13;-1:-1:-1;;;4688:24:68;:62::i;5784:269::-;5883:16;;;5897:1;5883:16;;;;;;;;;5854:26;;5883:16;;;;;;;;;;;-1:-1:-1;5883:16:68;5854:45;;5938:11;5905:9;5915:1;5905:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5957:91;1263:66;1247:83;;5992:9;6003:1;6024:7;6006:27;;;;;;15382:19:208;;15426:2;15417:12;;15222:213;6879:321:58;7026:12;7040:17;7083:6;-1:-1:-1;;;;;7083:19:58;7110:79;7136:8;7157:9;7178:8;7110:13;:79::i;:::-;7083:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;55672:301:20;55793:13;55885:82;55916:48;55946:7;55955:8;55916:29;:48::i;:::-;4645:21:19;;4539:137;46038:3950:20;-1:-1:-1;;;46435:7:20;-1:-1:-1;;;;;;46435:35:20;;46431:161;;-1:-1:-1;;;46542:7:20;46575;46558:25;;;;;;15382:19:208;;15426:2;15417:12;;15222:213;46431:161:20;46598:27;46628:49;:22;46659:17;6801:16:15;;922;6801;834;6790:27;6750:68;6728:92;;;6613:218;46628:49:20;46598:79;;46683:26;46748:4;:11;46734;46712:33;;:19;:33;;;;:::i;:::-;:47;;;;:::i;:::-;46683:76;;47031:18;47008:19;:41;;:98;;;;-1:-1:-1;47087:19:20;47053:30;47072:11;47053:16;:30;:::i;:::-;:53;;;;47008:98;47004:218;;;47123:92;;;;;29802:12:208;29841:15;;;47123:92:20;;;29823:34:208;29893:15;;;29873:18;;;29866:43;29945:15;;29925:18;;;29918:43;29765:18;;47123:92:20;29596:371:208;47004:218:20;47328:19;47309:16;:38;;;47305:140;;;47364:74;;;;;;;;30145:25:208;;;30218:12;30206:25;;30186:18;;;30179:53;30118:18;;47364:74:20;29972:266:208;47305:140:20;47484:35;47522:72;:22;47556:17;47575:18;47522:33;:72::i;:::-;47484:110;;47741:22;47766:24;47782:7;47766:15;:24::i;:::-;47741:49;;47801:9;47796:486;47816:5;:12;47812:1;:16;47796:486;;;47843:9;47865:5;47871:1;47865:8;;;;;;;;:::i;:::-;;;;;;;47843:31;;47886:42;770:6:32;47886:4:20;:14;;;;;:42;;;;:::i;:::-;47882:394;;;3404:35:4;;;;-1:-1:-1;;;;;47940:55:20;;48017:7;48046:8;48085:17;48132:16;48173:11;48212:22;48252:4;47940:327;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;47882:394;-1:-1:-1;47830:3:20;;47796:486;;;-1:-1:-1;48340:32:20;;;:13;48480:107;48498:17;48494:21;;:1;:21;;;48480:107;;;48543:33;:22;48574:1;6801:16:15;;922;6801;834;6790:27;6750:68;6728:92;;;6613:218;48543:33:20;48534:42;;;;48517:3;;48480:107;;;;48709:7;48656:228;48736:8;48768:5;48797:11;48834:21;48871:4;48656:228;;;;;;;;;;:::i;:::-;;;;;;;;48288:603;48976:18;48953:19;:41;48949:248;;49004:31;49038:48;49068:7;49077:8;49038:29;:48::i;:::-;629:28:19;;;-1:-1:-1;48949:248:20;49254:27;49284:61;49308:7;49317:8;49327:17;49284:23;:61::i;:::-;49254:91;;49353:92;49385:19;49414:16;49353:92;;49438:4;49353:13;:92::i;:::-;49246:206;49506:9;49501:483;49521:5;:12;49517:1;:16;49501:483;;;49548:9;49570:5;49576:1;49570:8;;;;;;;;:::i;:::-;;;;;;;49548:31;;49591:41;881:6:32;49591:4:20;:14;;;;;:41;;;;:::i;:::-;49587:391;;;3404:35:4;;;;-1:-1:-1;;;;;49644:54:20;;49720:7;49749:8;49788:17;49835:16;49876:11;49915:21;49954:4;49644:325;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49587:391;-1:-1:-1;49535:3:20;;49501:483;;;;46281:3707;;;;46038:3950;;;;;;;:::o;4976:669:19:-;5392:4;5386:11;5433:4;5421:17;;-1:-1:-1;;5307:16:19;5480:26;;;5307:16;5303:32;5452:4;5445:63;5552:6;5544;5537:22;5570:51;5575:14;5591:6;5599;5607:13;5570:4;:51::i;2615:1129:36:-;2735:22;2765:21;2789;:11;2869:3:18;2847:25;;2773:104;2789:21:36;2765:45;-1:-1:-1;643:17:18;3110:38;;2816:20:36;2978:11;3110:38:18;2978:11:36;2963:26;;;;:::i;:::-;;2949:40;;3098:4;3092:11;3083:20;;3141:4;3134:5;3130:16;3201:4;3188:11;3184:22;3170:12;3166:41;3160:4;3153:55;3251:11;3244:5;3237:26;3294:1;3271:463;3310:11;3307:1;3304:18;3271:463;;;3704:20;;3683:42;;3662:64;;3576:31;;;;3489:4;3471:23;;;;3397:1;3390:9;3271:463;;;3275:28;;3050:690;;;2615:1129;;;;;:::o;764:1343::-;936:12;;889:17;;914:19;977:26;992:11;936:12;977:26;:::i;:::-;954:49;;1375:4;1369:11;;-1:-1:-1;1418:4:36;1408:15;;-1:-1:-1;;5307:16:19;1465:32:36;;;5307:16:19;5303:32;1437:4:36;1430:69;1541:12;1535:4;1528:26;1585:1;1655:4;1648:5;1644:16;1562:535;1675:11;1672:1;1669:18;1562:535;;;2068:19;;2047:41;;2025:64;;1941:31;;;;1762:1;1755:9;;;;;1854:4;1836:23;1562:535;;6237:651:20;6304:11;6540:62;;;6536:112;;-1:-1:-1;1343:66:29;;6237:651:20;-1:-1:-1;6237:651:20:o;6536:112::-;6692:183;6738:83;1171:66:29;6812:7:20;6738:40;:83::i;:::-;6841:2;6863:1;6692:17;:183::i;34611:1314::-;34741:23;34766:28;34796:24;34862:20;34885:30;:11;:28;:30::i;:::-;34862:53;;34976:65;35009:7;35018:8;35028:12;34976:32;:65::i;:::-;34963:78;;35105:24;35132:30;:11;:28;:30::i;:::-;35105:57;-1:-1:-1;35172:20:20;;35168:753;;35265:66;35313:7;35322:8;35265:47;:66::i;:::-;35248:83;-1:-1:-1;6184:59:15;;;35383:33:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;35383:33:20;-1:-1:-1;35369:47:20;-1:-1:-1;828:4:14;818:15;;35424:21:20;35488:427;35506:16;35502:1;:20;;;35488:427;;;35539:27;35569:63;35611:7;35620:8;35630:1;35569:41;:63::i;:::-;35539:93;-1:-1:-1;35642:14:20;35659:25;:14;35682:1;6801:16:15;;922;6801;834;6790:27;6750:68;6728:92;;;6613:218;35659:25:20;35642:42;;35694:110;35725:19;35754:1;35765:6;35788:13;35694:12;:110::i;:::-;35883:23;35900:6;35883:23;;:::i;:::-;;;35529:386;;35524:3;;;;;:::i;:::-;;;;35488:427;;;;35194:727;35168:753;34822:1103;;34611:1314;;;;;;;:::o;889:327:42:-;970:4;1112:56;-1:-1:-1;;;;;;2820:46:59;;2819:74;1161:6:42;1112:19;:56::i;:::-;:99;;;;1172:39;1192:10;1204:6;1172:19;:39::i;7197:1488:15:-;7323:13;1004:16;7348:25;;7344:97;;;7390:44;;;;;;;;6057:25:208;;;6030:18;;7390:44:15;5911:177:208;7344:97:15;7503:13;6184:59;;;6801:16;;;922;6801;834;6790:27;6750:68;;;6728:92;;7766:38;;;7762:192;;7849:19;7831:15;:37;7816:52;;;;7762:192;;;7930:15;7908:19;:37;7893:52;;;;7762:192;-1:-1:-1;8270:16:15;834;922;8137;;;;8126:27;8262:35;;;8576:5;8415:26;8396:45;;;;8395:61;;;8557:24;;;;8586:34;;;;;8556:65;;-1:-1:-1;7197:1488:15;;;;;:::o;6010:2380:19:-;6127:10;;6123:1542;;6280:2;6270:6;:12;6266:122;;6343:2;6334:6;:11;6316:29;;;;6367:2;6357:12;;;;;;:::i;:::-;;;;6266:122;6478:10;;6474:1185;;6686:2;:11;;;6560:21;6744:22;;;6740:135;;;-1:-1:-1;;;537:1:30;738:25:31;;716:48;6740:135:19;;;-1:-1:-1;;;537:1:30;738:25:31;;716:48;6740:135:19;7069:14;7063:21;7048:12;7040:6;7036:25;7032:53;7309:4;7293:13;7287:20;7283:31;7219:4;7215:9;7203:10;7199:26;7144:184;7117:13;7097:243;;7399:13;7389:6;:23;7385:36;;7414:7;;;;7385:36;-1:-1:-1;7562:1:19;7544:19;;;;;7617:23;;;;;7575:30;6474:1185;7694:253;7711:2;7701:6;:12;7694:253;;7805:21;;7783:44;;7880:1;7862:19;;;;-1:-1:-1;;7920:12:19;;;;7908:2;7891:19;7694:253;;;8015:10;;8011:375;;8035:12;-1:-1:-1;;537:1:30;738:25:31;;716:48;8323:20:19;;8233:21;;8256:9;;8229:37;8319:31;;8178:184;8135:237;;-1:-1:-1;6010:2380:19;;;;:::o;52982:282:20:-;53227:30;;;;;;32228:19:208;;;32263:12;;;32256:28;;;53070:7:20;;32300:12:208;;53227:30:20;32040:278:208;50556:360:20;50682:12;50706:6;50716:1;50706:11;50702:26;;-1:-1:-1;50719:9:20;;;;;;;;;-1:-1:-1;50719:9:20;;;;50702:26;50769:16;50788:41;50811:7;50820:8;50788:22;:41::i;:::-;50769:60;;50842:69;50873:8;50891:1;50902:6;50842:12;:69::i;4770:378:75:-;4894:16;;;4908:1;4894:16;;;;;;;;4846:11;;;;4894:16;4908:1;4894:16;;;;;;;;;;-1:-1:-1;4894:16:75;4865:45;;4949:10;4916:9;4926:1;4916:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;5005:6;-1:-1:-1;;;;;4989:24:75;4981:33;;4966:9;4976:1;4966:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;5021:13;5037:62;1269:66;5072:9;5021:13;-1:-1:-1;;;5037:24:75;:62::i;:::-;5021:78;;5113:29;5134:5;5121:20;;1452:10:16;1343:126;14:219:208;81:20;;-1:-1:-1;;;;;;130:78:208;;120:89;;110:117;;223:1;220;213:12;238:184;296:6;349:2;337:9;328:7;324:23;320:32;317:52;;;365:1;362;355:12;317:52;388:28;406:9;388:28;:::i;619:166::-;-1:-1:-1;;;;;710:5:208;706:54;699:5;696:65;686:93;;775:1;772;765:12;790:377;908:6;916;969:2;957:9;948:7;944:23;940:32;937:52;;;985:1;982;975:12;937:52;1021:9;1008:23;998:33;;1081:2;1070:9;1066:18;1053:32;1094:43;1131:5;1094:43;:::i;:::-;1156:5;1146:15;;;790:377;;;;;:::o;1172:375::-;1243:8;1253:6;1307:3;1300:4;1292:6;1288:17;1284:27;1274:55;;1325:1;1322;1315:12;1274:55;-1:-1:-1;1348:20:208;;1391:18;1380:30;;1377:50;;;1423:1;1420;1413:12;1377:50;1460:4;1452:6;1448:17;1436:29;;1520:3;1513:4;1503:6;1500:1;1496:14;1488:6;1484:27;1480:38;1477:47;1474:67;;;1537:1;1534;1527:12;1474:67;1172:375;;;;;:::o;1552:1204::-;1850:6;1858;1866;1874;1882;1890;1898;1906;1959:3;1947:9;1938:7;1934:23;1930:33;1927:53;;;1976:1;1973;1966:12;1927:53;2012:9;1999:23;1989:33;;2069:2;2058:9;2054:18;2041:32;2031:42;;2120:2;2109:9;2105:18;2092:32;2082:42;;2171:2;2160:9;2156:18;2143:32;2133:42;;2226:3;2215:9;2211:19;2198:33;2250:18;2291:2;2283:6;2280:14;2277:34;;;2307:1;2304;2297:12;2277:34;2346:78;2416:7;2407:6;2396:9;2392:22;2346:78;:::i;:::-;2443:8;;-1:-1:-1;2320:104:208;-1:-1:-1;2531:3:208;2516:19;;2503:33;;-1:-1:-1;2548:16:208;;;2545:36;;;2577:1;2574;2567:12;2545:36;;2616:80;2688:7;2677:8;2666:9;2662:24;2616:80;:::i;:::-;1552:1204;;;;-1:-1:-1;1552:1204:208;;-1:-1:-1;1552:1204:208;;;;;;2715:8;-1:-1:-1;;;1552:1204:208:o;2992:184::-;-1:-1:-1;;;3041:1:208;3034:88;3141:4;3138:1;3131:15;3165:4;3162:1;3155:15;3181:334;3252:2;3246:9;3308:2;3298:13;;-1:-1:-1;;3294:86:208;3282:99;;3411:18;3396:34;;3432:22;;;3393:62;3390:88;;;3458:18;;:::i;:::-;3494:2;3487:22;3181:334;;-1:-1:-1;3181:334:208:o;3520:589::-;3562:5;3615:3;3608:4;3600:6;3596:17;3592:27;3582:55;;3633:1;3630;3623:12;3582:55;3669:6;3656:20;3695:18;3691:2;3688:26;3685:52;;;3717:18;;:::i;:::-;3761:114;3869:4;-1:-1:-1;;3793:4:208;3789:2;3785:13;3781:86;3777:97;3761:114;:::i;:::-;3900:2;3891:7;3884:19;3946:3;3939:4;3934:2;3926:6;3922:15;3918:26;3915:35;3912:55;;;3963:1;3960;3953:12;3912:55;4028:2;4021:4;4013:6;4009:17;4002:4;3993:7;3989:18;3976:55;4076:1;4051:16;;;4069:4;4047:27;4040:38;;;;4055:7;3520:589;-1:-1:-1;;;3520:589:208:o;4114:566::-;4231:6;4239;4247;4300:2;4288:9;4279:7;4275:23;4271:32;4268:52;;;4316:1;4313;4306:12;4268:52;4355:9;4342:23;4374:43;4411:5;4374:43;:::i;:::-;4436:5;-1:-1:-1;4488:2:208;4473:18;;4460:32;;-1:-1:-1;4543:2:208;4528:18;;4515:32;4570:18;4559:30;;4556:50;;;4602:1;4599;4592:12;4556:50;4625:49;4666:7;4657:6;4646:9;4642:22;4625:49;:::i;:::-;4615:59;;;4114:566;;;;;:::o;4685:420::-;4794:6;4802;4855:2;4843:9;4834:7;4830:23;4826:32;4823:52;;;4871:1;4868;4861:12;4823:52;4907:9;4894:23;4884:33;;4968:2;4957:9;4953:18;4940:32;4995:18;4987:6;4984:30;4981:50;;;5027:1;5024;5017:12;4981:50;5050:49;5091:7;5082:6;5071:9;5067:22;5050:49;:::i;:::-;5040:59;;;4685:420;;;;;:::o;5363:543::-;5484:6;5492;5500;5553:2;5541:9;5532:7;5528:23;5524:32;5521:52;;;5569:1;5566;5559:12;5521:52;5605:9;5592:23;5582:33;;5665:2;5654:9;5650:18;5637:32;5678:43;5715:5;5678:43;:::i;:::-;5740:5;-1:-1:-1;5797:2:208;5782:18;;5769:32;5839:15;;5832:23;5820:36;;5810:64;;5870:1;5867;5860:12;5810:64;5893:7;5883:17;;;5363:543;;;;;:::o;6093:156::-;6159:20;;6219:4;6208:16;;6198:27;;6188:55;;6239:1;6236;6229:12;6254:447;6379:6;6387;6395;6448:2;6436:9;6427:7;6423:23;6419:32;6416:52;;;6464:1;6461;6454:12;6416:52;6500:9;6487:23;6477:33;;6560:2;6549:9;6545:18;6532:32;6573:43;6610:5;6573:43;:::i;:::-;6635:5;-1:-1:-1;6659:36:208;6691:2;6676:18;;6659:36;:::i;:::-;6649:46;;6254:447;;;;;:::o;6706:492::-;6823:6;6831;6839;6892:2;6880:9;6871:7;6867:23;6863:32;6860:52;;;6908:1;6905;6898:12;6860:52;6944:9;6931:23;6921:33;;7005:2;6994:9;6990:18;6977:32;7032:18;7024:6;7021:30;7018:50;;;7064:1;7061;7054:12;7018:50;7087:49;7128:7;7119:6;7108:9;7104:22;7087:49;:::i;:::-;7077:59;;;7155:37;7188:2;7177:9;7173:18;7155:37;:::i;7203:484::-;7297:6;7305;7358:2;7346:9;7337:7;7333:23;7329:32;7326:52;;;7374:1;7371;7364:12;7326:52;7413:9;7400:23;7432:43;7469:5;7432:43;:::i;:::-;7494:5;-1:-1:-1;7550:2:208;7535:18;;7522:32;7577:18;7566:30;;7563:50;;;7609:1;7606;7599:12;8076:211;8166:6;8219:2;8207:9;8198:7;8194:23;8190:32;8187:52;;;8235:1;8232;8225:12;8187:52;-1:-1:-1;8258:23:208;;8076:211;-1:-1:-1;8076:211:208:o;8292:518::-;8440:6;8448;8456;8509:2;8497:9;8488:7;8484:23;8480:32;8477:52;;;8525:1;8522;8515:12;8477:52;8561:9;8548:23;8538:33;;8618:2;8607:9;8603:18;8590:32;8580:42;;8673:2;8662:9;8658:18;8645:32;8700:18;8692:6;8689:30;8686:50;;;8732:1;8729;8722:12;8815:259;8874:6;8927:2;8915:9;8906:7;8902:23;8898:32;8895:52;;;8943:1;8940;8933:12;8895:52;8982:9;8969:23;9001:43;9038:5;9001:43;:::i;9533:250::-;9618:1;9628:113;9642:6;9639:1;9636:13;9628:113;;;9718:11;;;9712:18;9699:11;;;9692:39;9664:2;9657:10;9628:113;;;-1:-1:-1;;9775:1:208;9757:16;;9750:27;9533:250::o;9788:330::-;9830:3;9868:5;9862:12;9895:6;9890:3;9883:19;9911:76;9980:6;9973:4;9968:3;9964:14;9957:4;9950:5;9946:16;9911:76;:::i;:::-;10032:2;10020:15;-1:-1:-1;;10016:88:208;10007:98;;;;10107:4;10003:109;;9788:330;-1:-1:-1;;9788:330:208:o;10123:322::-;10331:6;10320:9;10313:25;10374:2;10369;10358:9;10354:18;10347:30;10294:4;10394:45;10435:2;10424:9;10420:18;10412:6;10394:45;:::i;10450:940::-;10588:9;10622:18;10663:2;10655:6;10652:14;10649:40;;;10669:18;;:::i;:::-;10715:6;10712:1;10708:14;10741:4;10765:30;10789:4;10785:2;10781:13;10765:30;:::i;:::-;10829:19;;;10901:14;;;;10873:4;10864:14;;;10938;10927:26;;10924:46;;;10966:1;10963;10956:12;10924:46;10990:5;11004:353;11020:6;11015:3;11012:15;11004:353;;;11106:3;11093:17;11142:2;11129:11;11126:19;11123:109;;;11186:1;11215:2;11211;11204:14;11123:109;11257:57;11299:14;11285:11;11278:5;11274:23;11257:57;:::i;:::-;11245:70;;-1:-1:-1;11335:12:208;;;;11037;;11004:353;;;-1:-1:-1;11379:5:208;10450:940;-1:-1:-1;;;;;;;10450:940:208:o;11395:464::-;-1:-1:-1;;;;;;11633:6:208;11629:79;11618:9;11611:98;11745:6;11740:2;11729:9;11725:18;11718:34;11788:2;11783;11772:9;11768:18;11761:30;11592:4;11808:45;11849:2;11838:9;11834:18;11826:6;11808:45;:::i;11864:641::-;12144:3;12182:6;12176:13;12198:66;12257:6;12252:3;12245:4;12237:6;12233:17;12198:66;:::i;:::-;12325:4;12286:16;;;12311:19;;;12355:13;;12377:78;12355:13;12442:1;12431:13;;12424:4;12412:17;;12377:78;:::i;:::-;12475:20;12497:1;12471:28;;11864:641;-1:-1:-1;;;;11864:641:208:o;13043:357::-;13161:12;;13208:4;13197:16;;;13191:23;;13161:12;13226:16;;13223:171;;;-1:-1:-1;;13300:4:208;13296:17;;;;13293:1;13289:25;13285:98;13274:110;;13043:357;-1:-1:-1;13043:357:208:o;13405:218::-;13552:2;13541:9;13534:21;13515:4;13572:45;13613:2;13602:9;13598:18;13590:6;13572:45;:::i;13628:340::-;13805:2;13794:9;13787:21;13768:4;13825:45;13866:2;13855:9;13851:18;13843:6;13825:45;:::i;:::-;13817:53;;-1:-1:-1;;;;;13910:6:208;13906:55;13901:2;13890:9;13886:18;13879:83;13628:340;;;;;:::o;13973:184::-;-1:-1:-1;;;14022:1:208;14015:88;14122:4;14119:1;14112:15;14146:4;14143:1;14136:15;14162:125;14227:9;;;14248:10;;;14245:36;;;14261:18;;:::i;14292:925::-;-1:-1:-1;;;;;;14733:6:208;14729:79;14724:3;14717:92;14699:3;14828;14860:2;14856:1;14851:3;14847:11;14840:23;14892:6;14886:13;14908:74;14975:6;14971:1;14966:3;14962:11;14955:4;14947:6;14943:17;14908:74;:::i;:::-;15010:6;15005:3;15001:16;14991:26;;15045:2;15041:1;15037:2;15033:10;15026:22;15079:6;15073:13;15057:29;;15095:75;15161:8;15157:1;15153:2;15149:10;15142:4;15134:6;15130:17;15095:75;:::i;:::-;15190:17;15209:1;15186:25;;14292:925;-1:-1:-1;;;;;14292:925:208:o;15693:184::-;-1:-1:-1;;;15742:1:208;15735:88;15842:4;15839:1;15832:15;15866:4;15863:1;15856:15;15882:862;16044:4;16073:2;16113;16102:9;16098:18;16143:2;16132:9;16125:21;16166:6;16201;16195:13;16232:6;16224;16217:22;16270:2;16259:9;16255:18;16248:25;;16332:2;16322:6;16319:1;16315:14;16304:9;16300:30;16296:39;16282:53;;16370:2;16362:6;16358:15;16391:1;16401:314;16415:6;16412:1;16409:13;16401:314;;;16504:66;16492:9;16484:6;16480:22;16476:95;16471:3;16464:108;16595:40;16628:6;16619;16613:13;16595:40;:::i;:::-;16585:50;-1:-1:-1;16693:12:208;;;;16658:15;;;;16437:1;16430:9;16401:314;;;-1:-1:-1;16732:6:208;;15882:862;-1:-1:-1;;;;;;;15882:862:208:o;16749:184::-;-1:-1:-1;;;16798:1:208;16791:88;16898:4;16895:1;16888:15;16922:4;16919:1;16912:15;17964:128;18031:9;;;18052:11;;;18049:37;;;18066:18;;:::i;19071:168::-;19144:9;;;19175;;19192:15;;;19186:22;;19172:37;19162:71;;19213:18;;:::i;19244:440::-;-1:-1:-1;;;;;19482:6:208;19478:55;19467:9;19460:74;19570:6;19565:2;19554:9;19550:18;19543:34;19613:2;19608;19597:9;19593:18;19586:30;19441:4;19633:45;19674:2;19663:9;19659:18;19651:6;19633:45;:::i;20043:439::-;20096:3;20134:5;20128:12;20161:6;20156:3;20149:19;20187:4;20216;20211:3;20207:14;20200:21;;20255:4;20248:5;20244:16;20278:1;20288:169;20302:6;20299:1;20296:13;20288:169;;;20363:13;;20351:26;;20397:12;;;;20432:15;;;;20324:1;20317:9;20288:169;;;-1:-1:-1;20473:3:208;;20043:439;-1:-1:-1;;;;;20043:439:208:o;20487:690::-;20820:3;20809:9;20802:22;20783:4;20847:57;20899:3;20888:9;20884:19;20876:6;20847:57;:::i;:::-;20952:9;20944:6;20940:22;20935:2;20924:9;20920:18;20913:50;20986:33;21012:6;21004;20986:33;:::i;:::-;20972:47;;21055:6;21050:2;21039:9;21035:18;21028:34;21110:9;21102:6;21098:22;21093:2;21082:9;21078:18;21071:50;21138:33;21164:6;21156;21138:33;:::i;21182:896::-;21633:6;21622:9;21615:25;21676:3;21671:2;21660:9;21656:18;21649:31;21596:4;21703:57;21755:3;21744:9;21740:19;21732:6;21703:57;:::i;:::-;21808:9;21800:6;21796:22;21791:2;21780:9;21776:18;21769:50;21842:33;21868:6;21860;21842:33;:::i;:::-;21828:47;;21911:6;21906:2;21895:9;21891:18;21884:34;21967:9;21959:6;21955:22;21949:3;21938:9;21934:19;21927:51;21995:33;22021:6;22013;21995:33;:::i;:::-;21987:41;;;22065:6;22059:3;22048:9;22044:19;22037:35;21182:896;;;;;;;;;:::o;22083:287::-;22212:3;22250:6;22244:13;22266:66;22325:6;22320:3;22313:4;22305:6;22301:17;22266:66;:::i;:::-;22348:16;;;;;22083:287;-1:-1:-1;;22083:287:208:o;22375:261::-;22554:2;22543:9;22536:21;22517:4;22574:56;22626:2;22615:9;22611:18;22603:6;22574:56;:::i;22641:465::-;22938:6;22927:9;22920:25;22981:2;22976;22965:9;22961:18;22954:30;22901:4;23001:56;23053:2;23042:9;23038:18;23030:6;23001:56;:::i;:::-;22993:64;;23093:6;23088:2;23077:9;23073:18;23066:34;22641:465;;;;;;:::o;23465:363::-;23703:6;23692:9;23685:25;23746:2;23741;23730:9;23726:18;23719:30;23666:4;23766:56;23818:2;23807:9;23803:18;23795:6;23766:56;:::i;23833:604::-;24141:6;24130:9;24123:25;24184:3;24179:2;24168:9;24164:18;24157:31;24104:4;24211:57;24263:3;24252:9;24248:19;24240:6;24211:57;:::i;:::-;24316:4;24308:6;24304:17;24299:2;24288:9;24284:18;24277:45;24370:9;24362:6;24358:22;24353:2;24342:9;24338:18;24331:50;24398:33;24424:6;24416;24398:33;:::i;24844:492::-;25019:3;25057:6;25051:13;25073:66;25132:6;25127:3;25120:4;25112:6;25108:17;25073:66;:::i;:::-;25202:13;;25161:16;;;;25224:70;25202:13;25161:16;25271:4;25259:17;;25224:70;:::i;:::-;25310:20;;24844:492;-1:-1:-1;;;;24844:492:208:o;25341:512::-;25592:2;25581:9;25574:21;25555:4;25618:56;25670:2;25659:9;25655:18;25647:6;25618:56;:::i;:::-;25722:14;25714:6;25710:27;25705:2;25694:9;25690:18;25683:55;25786:9;25778:6;25774:22;25769:2;25758:9;25754:18;25747:50;25814:33;25840:6;25832;25814:33;:::i;:::-;25806:41;25341:512;-1:-1:-1;;;;;;25341:512:208:o;25858:616::-;26168:6;26157:9;26150:25;26211:3;26206:2;26195:9;26191:18;26184:31;26131:4;26238:57;26290:3;26279:9;26275:19;26267:6;26238:57;:::i;:::-;26343:14;26335:6;26331:27;26326:2;26315:9;26311:18;26304:55;26407:9;26399:6;26395:22;26390:2;26379:9;26375:18;26368:50;26435:33;26461:6;26453;26435:33;:::i;26479:639::-;26729:6;26724:3;26717:19;26699:3;26755:2;26788;26783:3;26779:12;26820:6;26814:13;26885:2;26877:6;26873:15;26906:1;26916:175;26930:6;26927:1;26924:13;26916:175;;;26993:13;;26979:28;;27029:14;;;;27066:15;;;;26952:1;26945:9;26916:175;;;-1:-1:-1;27107:5:208;;26479:639;-1:-1:-1;;;;;;;26479:639:208:o;27123:184::-;-1:-1:-1;;;27172:1:208;27165:88;27272:4;27269:1;27262:15;27296:4;27293:1;27286:15;27312:274;27352:1;27378;27368:189;;-1:-1:-1;;;27410:1:208;27403:88;27514:4;27511:1;27504:15;27542:4;27539:1;27532:15;27368:189;-1:-1:-1;27571:9:208;;27312:274::o;27591:530::-;27776:3;27814:6;27808:13;27830:66;27889:6;27884:3;27877:4;27869:6;27865:17;27830:66;:::i;:::-;27965:2;27961:15;;;;-1:-1:-1;;27957:88:208;27918:16;;;;27943:103;;;28073:2;28062:14;;28055:30;;;;28112:2;28101:14;;27591:530;-1:-1:-1;;27591:530:208:o;28126:545::-;28447:6;28436:9;28429:25;28490:3;28485:2;28474:9;28470:18;28463:31;28410:4;28511:57;28563:3;28552:9;28548:19;28540:6;28511:57;:::i;:::-;28616:4;28604:17;;;;28599:2;28584:18;;28577:45;-1:-1:-1;28653:2:208;28638:18;28631:34;28503:65;28126:545;-1:-1:-1;;28126:545:208:o;28676:184::-;28746:6;28799:2;28787:9;28778:7;28774:23;28770:32;28767:52;;;28815:1;28812;28805:12;28767:52;-1:-1:-1;28838:16:208;;28676:184;-1:-1:-1;28676:184:208:o;28865:360::-;29068:2;29057:9;29050:21;29031:4;29088:45;29129:2;29118:9;29114:18;29106:6;29088:45;:::i;:::-;29164:2;29149:18;;29142:34;;;;-1:-1:-1;29207:2:208;29192:18;29185:34;29080:53;28865:360;-1:-1:-1;28865:360:208:o;29417:174::-;29484:12;29516:10;;;29528;;;29512:27;;29551:11;;;29548:37;;;29565:18;;:::i;:::-;29548:37;29417:174;;;;:::o;30243:899::-;30665:6;30654:9;30647:25;30708:3;30703:2;30692:9;30688:18;30681:31;30628:4;30735:57;30787:3;30776:9;30772:19;30764:6;30735:57;:::i;:::-;30840:4;30828:17;;30823:2;30808:18;;30801:45;30865:12;30913:15;;;30908:2;30893:18;;30886:43;30966:15;;30960:3;30945:19;;30938:44;31013:3;30998:19;;30991:35;;;31063:22;;;31057:3;31042:19;;31035:51;31103:33;31067:6;31121;31103:33;:::i;:::-;31095:41;30243:899;-1:-1:-1;;;;;;;;;;30243:899:208:o;31147:708::-;31486:3;31475:9;31468:22;31449:4;31513:57;31565:3;31554:9;31550:19;31542:6;31513:57;:::i;:::-;31618:14;31610:6;31606:27;31601:2;31590:9;31586:18;31579:55;31682:12;31674:6;31670:25;31665:2;31654:9;31650:18;31643:53;31732:6;31727:2;31716:9;31712:18;31705:34;31788:9;31780:6;31776:22;31770:3;31759:9;31755:19;31748:51;31816:33;31842:6;31834;31816:33;:::i;:::-;31808:41;31147:708;-1:-1:-1;;;;;;;;31147:708:208:o;31860:175::-;31897:3;31941:4;31934:5;31930:16;31970:4;31961:7;31958:17;31955:43;;31978:18;;:::i;:::-;32027:1;32014:15;;31860:175;-1:-1:-1;;31860:175:208:o","linkReferences":{},"immutableReferences":{"36818":[{"start":3125,"length":32}]}},"methodIdentifiers":{"_initialMsgSender()":"9081c758","_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,bytes4)":"742d6118","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\":\"FieldLayoutLib_Empty\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"staticDataLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"computedStaticDataLength\",\"type\":\"uint256\"}],\"name\":\"FieldLayoutLib_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayoutLib_StaticLengthDoesNotFitInAWord\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayoutLib_StaticLengthIsNotZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayoutLib_StaticLengthIsZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayoutLib_TooManyDynamicFields\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayoutLib_TooManyFields\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"PackedCounter_InvalidLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"SchemaLib_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SchemaLib_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\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"World_DirectCallToSystemForbidden\",\"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\":\"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\":\"_initialMsgSender\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"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\":\"bytes4\",\"name\":\"systemFunctionSelector\",\"type\":\"bytes4\"}],\"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\":{\"details\":\"Aggregates multiple system implementations for the World.\",\"errors\":{\"SchemaLib_InvalidLength(uint256)\":[{\"details\":\"Error raised when the provided schema has an invalid length.\"}],\"SchemaLib_StaticTypeAfterDynamicType()\":[{\"details\":\"Error raised when a static type is placed after a dynamic type in a schema.\"}],\"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[],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.\",\"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\":{\"_initialMsgSender()\":{\"returns\":{\"sender\":\"The `msg.sender` that made the first call to World in this transaction\"}},\"_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,bytes4)\":{\"details\":\"Creates a mapping for a root World function without namespace or name prefix\",\"params\":{\"systemFunctionSelector\":\"The selector 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\":{\"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_DirectCallToSystemForbidden(address)\":[{\"notice\":\"Raised when a System has been called directly and then makes an internal call to World, which is forbidden.\"}],\"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[],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\":{\"_initialMsgSender()\":{\"notice\":\"Extract the `msg.sender` from TransactionContext (mutex in World.sol on `call` and `callFrom` 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,bytes4)\":{\"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\":\"0xf506b8e9521a2173ae51aca038b86f705ac6c10fc6361c5df32ea37c7218fdbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9ce5626141f377ea6c9477a27205fa23013c321423950a97f75a2685ac401c55\",\"dweb:/ipfs/QmfYjQmUcQUm46dRHbiYkUnoBokHuS58WZUd8oSdGKKohy\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0xc6aa930fb9a3df986870e3c77e567cabff12ae5e7b2c2af69669390e018d3728\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8d6d40675ddd6575538cfa915f73fc8379f4c154b034220df2cf6b7be6d9baf\",\"dweb:/ipfs/QmS7RNEDNBq6YwVJ1gPfs36CJg9d6h5MaxPRtuL3726uEK\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0x6041a89e90293b15acf91378e329815cb857d79f0b384918cd97292378ed5c09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e263d3c8230b4a4852e3b66058e9c36e946cf64471ffd0ac7f54b7a37f329f4\",\"dweb:/ipfs/QmdCnZE1G5PX4ZswUiR6t2DWMRDbVdJYaCzbCF4hbDTKc2\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0xa95a7b8095a313078abe9b3953fa4512aac88ead4526e37023583cb5dc274cb3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8a878403e5133ec5f250d752e7b7495e2b13420cd3a42fb59aa6d5f8ee6d188b\",\"dweb:/ipfs/QmUGxeD5Y7B5goNNgFcgaAakjoSr4YtVaE3CMAypRUZGmc\"]},\"node_modules/@latticexyz/store/src/IStoreData.sol\":{\"keccak256\":\"0x174b2e5a5f80094d752cd2a36f1fbdf50e81b1e203216b9e5a6f33e02d606cec\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59e6de780b55c1937a7148d3cc07ec137c3e2f243f331ba0b70f3262d919c1cb\",\"dweb:/ipfs/QmTJbh6ybPsZE9pFziTztstWxmh6ogUgMa6E81M6PMTA6g\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x4b471eb3b98a51f15992f7e4cfb7a7d8e842410f081ea03ef85d3a7b34c35f79\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e82faaea290036677562d8a3a8502f5f871b1368b58ac38897e0ef67216d84\",\"dweb:/ipfs/QmfCj4CtNZ7LYkWUAYcMoyp3X7PFJkUjXgBwbzXkbkDFL6\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0xfdeeba7e17c947285610d49d85d402cfe5286c046814f827c1aaa37636c16d8f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5fde8b7c7caf4dcdcb524565cb8745d897d4d22d88fa0744f9db4b3d36a1eee1\",\"dweb:/ipfs/QmbUe4pfJeRqiiPz31BKWbYv12cz8Lz3Ky5yKydtTb4FY9\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x677224ab340753edf523ccff8c9d6ede987addbf0d7bc13d0e479306f3866a99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c0285a7684490d6e65d6f91b3631abdafb135d200ea9068e730dd98017a305e\",\"dweb:/ipfs/QmcURHZiMGnSET9P2iSgph22F6iFdoDbN4WmJsHxTAT5G9\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xe246addf70a3fe65f19e2ab0048d48785bc2ef2f75884eeade151aef59ff5449\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://389022221307160febdec33a7fbdd82fcfbdd1fa6f9b1c67ffe3bf0467d2c924\",\"dweb:/ipfs/QmWunXryDsJZJBwdXxKetRH1vB4tkwTXsdzoM4nePGVvaA\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0xf6d2871ca67aacadfd5dd4caef45440a571d932e68a04466f2674e481e79e167\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://260067ed037789d073f407db1d416171e33c79e9b584090794d05e990ee88b67\",\"dweb:/ipfs/QmbAA4Ynfy5aQv71JkZrPcdt2iqc3NK8DcAL1mnx7M1WYC\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x7f6d8a25eea4a9d51de396ff64215e2567b29ce607538f04ec1a4ae2efb591bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ae6e34ba2e92bd3cb8dd556838f4e3caa6c3feaf9e2d63649afa944cb5e3263\",\"dweb:/ipfs/QmR1oNRLp87pnrnxrujdT7JU1Gzwq22rVukKUkXmwNBVSC\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0x79954fa7614943899ad13b27ca0c2bf27c996d7b82a0e347afa48d7a4bbc6e2d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34f7d6e209bcc6e379e004ae5a03f909e23e4e87956205610f4e39969b968912\",\"dweb:/ipfs/QmZQeHDwtUBEpTSWn9L7AZ1id6dUbEHmLo6Cj3f9jKRqVM\"]},\"node_modules/@latticexyz/store/src/PackedCounter.sol\":{\"keccak256\":\"0x6dc7a614a120b1940ca8de1924e59895a42ef5f0e22d81a9221790fd76687c2e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b638521a9590a62c4e976f12be43d0370246836b90227cbf2e306888331986f6\",\"dweb:/ipfs/QmcEpcjHhL9rawjJRuMJvtTv3YwN2ggYsQHXZeoF88VRFX\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0xdca93829ef7e90c12678d3b7bcafee1d3ec9499abfc76c91edd188a8923f4f18\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3193518ae917765035c845266de41ccebde7a7a06ee6fd7f000534a530975ab2\",\"dweb:/ipfs/QmYr9dCG2HKUMrXHevyRanqsPRHYpD2dnpgZkvwZYqWHe9\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x21d008da9dd112938ad5381264dce39be7855002076afa01d78dc6421a951fd8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1af33c3d662d6ba193987ec62c865e05b53ced4904bff9a5729ab3ada2ca3a99\",\"dweb:/ipfs/QmUSXF3R7LwQWW8P6BZCrt3MAgGN5UwiiaHB3DGCSBZLL5\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0x1f04af14e5040f71bd3daa79b90245a275e52f8d0294c17ae5bfe9aa727651a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d76533959ded2f58434ae9f89fe8c3ff66095ec94e829f89914b362751799e3a\",\"dweb:/ipfs/Qmb1e12g6Sku2u1R96qei1GhqSNi1sZhKRCb111SyNk1ta\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x48c9749d33f06406b8033b3df67002836d1b356c6ae8282865e7b437941ed61f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://931e1275db62ba2f9410ee8a8ab384ece2a7031cdf446c50696078f9da24a04d\",\"dweb:/ipfs/QmTXzyjLNj5KuJUHfe1T3awroK5DLkCU4dm6RR4pSUVrfE\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x7cafc150d77cb46ecb49b1a1a7d43cc17e21a095596cf544cc8ba6bfe7ed7f20\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://889cadacfbc667e10a7a83ac34e858c76d0472d04cad72c7691a84879e503ce3\",\"dweb:/ipfs/Qmcm6GFFoGFw2nmuz3Z2NRAgqfBPFZixHppmQzZM4Fy3sR\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0xbe5cb815a5d073d1d94fc73a3a02a151ffb4e9ce299f00580c6c2d9cd339d7c9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7416ec2aeef38b06c4e559dc3e76fa8cd51f54c06cc58aeed613f44dfd3c3ff\",\"dweb:/ipfs/QmRp6ZmUckpmGKG31wyZSxtgmUJZS2y85sRP2UU9Foajn7\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0xa59c43271d363f2366d6f6732ae586b1a36a3ffa4906b8f5cbbf19d3d314562c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2bd7c9f8f9ad579a8dfec566b2bd2e646f8065ce8a07e6732e11a4a3a2be7787\",\"dweb:/ipfs/QmWBwZGnYYxEiRjFKSsu1mFtCWJYw3XSojhn7zmc5YE4vG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0x2e81480e081ce6ad4917ecc634e5c9b7a5674068992ae8d9088f0f6296da3bf7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2acfdee4dd4c0347ec214273184f267db0e7edc82e586600501d13581dbb5551\",\"dweb:/ipfs/QmcD945zNdGfkwKVvKHA2fpBGictaz4cVMnNm96SmTG5qY\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0x29ed1bd962e594e00a9b921ddbbb202a47206adbece718721483a69593b88763\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://786df2eca996d18660a4ea7d059dfb8c8476fe5cc8f14e0ce5c8f237e08444ea\",\"dweb:/ipfs/QmQ8dbVA2rMgcb9rznHVjn8DGH9U8bZuHmebukjkYxs2Av\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xe9c42e51b6d20496dde8e8013680ec4a4ea1229fd57f0364a2a061c14c1c115b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2bcbeeb7b3de32fc68102f7875d71348d5a0171dbb50937d6ebeb28dd10d4ed4\",\"dweb:/ipfs/QmPY91z4D25KGLU2nhnZgb538Mh1mi46RbwHQB8kZvXd4h\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0xf80e355b361d29b0169483074b73e2502b228d539d5b3511239edfa9644ae270\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://067d0b61a94453ed29f985cee8d237b46ef1c95f790848a927951e951ebe5a44\",\"dweb:/ipfs/QmVjF2vEnRXzq1GHXwXd9iHJAfyrZNA2wAuygpZv6dGRTB\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x2fe1752ecfb01c2de84cd9ae0c47fef85f9f0a7668ae31dc8b19724570eaad50\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cb90fb960543d00b37df49274c3b7bda6f2c8fb1b363226610f6de7f5bffc7c2\",\"dweb:/ipfs/Qmc1ZQ6xPm8jXaWbc9Lakq2uZxY3pqtVC8r3WnNDFgLGTN\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0xbde7a13eb04663ffd62c3eac929abde4bf8d4fb4c434e510782af01045b78410\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3b629c78d8e194824b07bbf66f62d5bb94ce883100f5523cb545d3e980792f38\",\"dweb:/ipfs/QmWCRbCT55mnusK1abavXvwM4uN9QStcML4ZgjUG9L6V8S\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0xcc16f330a9cb5f9f095e2bfc62c67818f2b91a229223c64c87891f1cebfc0305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1384e4acac4553089859ff1368f358e5c81ceba986a902e5ec082801de097f64\",\"dweb:/ipfs/QmXcEESML4KRKCfwxvC3tsW9jiA8PE7pxPuZ8L1t1wiNby\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x515001322ebb9b58c62be0bd96ba65dc82841cc550533f283813ad24baaf2554\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b014d298897dfc75189c10f5e3d970d8368db734c545f6c7d4833cec9c7117eb\",\"dweb:/ipfs/Qmcs7rTdh6zVyDHczXW6mEJqVmndZZTDSjNC1jouf43hTX\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0xcf8e6e16b76972b6a96ea6b428d7298fc174a840fc8c5c09b6fe2030d31600d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://025cf5112618018efd416155c9df257cd28447629bd79c0c37655a8e22c0e4f4\",\"dweb:/ipfs/QmaqeqzGVrAK6rQqQgCzs8UJMWrWmR52jqzN8jqRdaY1kT\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x248c35b8efaf6a0b0229fd81cafcb8fac6a54662187b56b49574b10e9c3ebf29\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63b6c95da7d63346db3b741f836b20e23f8e46a6245efdfa6443b204edecabcf\",\"dweb:/ipfs/QmY79DfLgvMsTSZJzwbYmzGYE2ajCumu3ruQ2GpDyYbVqY\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x08f257c62602117fe4943580b0a19f19cf696b22000afd927a2159e24625a13a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40ee497f86d4192794a5592264e356dcda27bbe275f6a110dfbc3c3b67798205\",\"dweb:/ipfs/QmW98aRsWSvUzwvX8FkweFDrgGS9YKr8KvfnFrT5HkMtvT\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x1cf2e205960520ded9a1ac8a6f4e4e25b5153114939adc7acb66122aba88af61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b41a9da0859000750196a14db7352e12fbe0d55e3849a468fe41b23ffa847ed\",\"dweb:/ipfs/QmTjkrru4tcqXx38k49C2ris5ednawtkfdcW5EVRNJYBKU\"]},\"node_modules/@latticexyz/world/src/AccessControl.sol\":{\"keccak256\":\"0xc1b9fa9167dc3d39d5591d0b2d5f7c3c12ad6aeaa0a1b83b1e326ebd104de439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ed0ff59e3240fc85509fc5a1bc9c158f2056bd4be82ba88100ed138afc08d60c\",\"dweb:/ipfs/QmZScS3xhT8EMX4RrnVEqWm1VrGBG9JiA6aiZWtWMphF7q\"]},\"node_modules/@latticexyz/world/src/Delegation.sol\":{\"keccak256\":\"0xd049053827c730ad69585c1c7eb52b4fd9774370063aab461021a111ee0bc86a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5a05e41e45c0054e835565046276d830581ca181e7ff3d83b15c71b6e01af89\",\"dweb:/ipfs/QmZYGFT621rS5fE2WXKX5wqBMENguMuY7DqaXPkZ2rcEfZ\"]},\"node_modules/@latticexyz/world/src/ERC165Checker.sol\":{\"keccak256\":\"0x26204bcfddbc272eae391f4512a629f53697867d582ea8cabcd6a8e04a255270\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://46944bac8253250ba3f645a6164df8e996738bc76a544867677e54ede57619a1\",\"dweb:/ipfs/QmY1XSxQY9MuQSEvGaeQT6kqmeJ3VhYyRRTfzCkRmdsWsX\"]},\"node_modules/@latticexyz/world/src/IDelegationControl.sol\":{\"keccak256\":\"0x9f0dcc1cd281b51a5d3d8f75a55ce8cfb2577c88a9b6644ee144fe260c14e60e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85d99d96c33512968e2c3ef68777bdf65305de0b01597e182750ce2c152e089d\",\"dweb:/ipfs/QmZwB163CzPuHJGPW8LPL8pHsEdvkYmBuoEVbu3JqNSTkC\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe00be0c676fa14949ecc4324ae3e932834b0550e2fabbc813b5aa49cf0e2b695\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://700a595ee72389add0e9aef8ae6c2cafc5336b0dc2c43e580ce4d9546ca0dee3\",\"dweb:/ipfs/QmPfRtR5591tJPSvu9mz9J26qSwEjFm5FK8D99jA3qHZCe\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0x6c11c44fef08d46ca9f291551a42b8576259f65b7e957aef92540ba0acd72909\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ffbc3646ea495350939319f5418ba2dd45b6ec809d6b84ed3264e592a9385bd\",\"dweb:/ipfs/QmPCjuQUMWVUPv7vSVfztnymYA9hUP1xRS62FD6iwzGMuo\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0xad31c270fe5bf23869fe4a55a9a8d3372871c595f6b0f9a197e810051ab1bfdc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af7acd6a86410c6d2586739e370134265521cf522fec0c3091804c0d0f99a0fc\",\"dweb:/ipfs/QmRRbUbw89Z3tva95UTvxKhFwn5ddYNMiHbVs6Nnmpsty3\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0x61392feda0588aba0f72be7c44c65d9115604b5f3d61a79a716d2cc78906bb01\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7cd374cc3c8b05140aa54d712cbd541a51fc7cb4065f7bfc172f64169c1a818a\",\"dweb:/ipfs/QmcsHDhXQFUDB5vf8kES61teypHLuMxNdheat9TN8wY9so\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x7d478d15961646ee2889e30169e4e4045ed98c92bfa398abda9299179c234ca6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6aa9999fb5bed10c89639cbc1caf099971abaa8c481a581038227e6c14210776\",\"dweb:/ipfs/QmdxsLT2cFi9Y7buNBVC1WWeKKjNyNDTrpkuRNwGYSGAFz\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0x1d380574763b720a8950dc0a14d519c2532f9f27c8115116f0a6f7916c9606b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a395df820ee46be3dcdb36682183811a86cdc848dbd56ecc2a21785a42785cf9\",\"dweb:/ipfs/QmeiuzuHjQuv4GHXXiRkBkxhyN7e9Vy19TYfAccnxWej91\"]},\"node_modules/@latticexyz/world/src/SystemCall.sol\":{\"keccak256\":\"0x9c3e1e5eb40d130e90726ca4bfabd748d190d076ecd95c668f038635f751cad2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40ba8d4ea85cdac5b622117bf70f56466bfd8b3b693fbb4ab266630768f8865d\",\"dweb:/ipfs/QmQ8ttFdCFJdw1thyDJHheoWNkdpQUM2u7kZzi4zj6mYh7\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x570da3c73388cb2bcdce4b137968871d89ffe294ba00997029a505060f3a6f0d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://840b4bf9a472574066e6ebe765a8cbbc4ecff41820b5c72b4e92f92fa7c88d55\",\"dweb:/ipfs/QmXX9AUXdVH1xdDZLD1FS3MNoHmunYL1BYt8Ar9iDwVtTU\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xf668eeaecd294a2b8b9e1a771161373af84abe42b8a9820cf9d3092a9a1e64bd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://01f2939361e51497304e66bdcd9cb33bfea95737fce41ca731f20d3b5dbd5f74\",\"dweb:/ipfs/QmayLveLBSq8axMgbouD411V5BTiYXKbg9ddEpxjcMU4ez\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol\":{\"keccak256\":\"0x705f45c60cd9f5cf5ed2b92d73bef71f2c234ec281297dae79779860cfdf9e6f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b927d760e5f09c72c421ad62ab8da11a38a2a47d321e6b023e3d7c2a4a46a458\",\"dweb:/ipfs/QmXMDWhE5gVHURzFAL7cyA7EeFJRkykZRZwRV9qrTBj13Y\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol\":{\"keccak256\":\"0x88a0bc28aa9ef62f524fd2592cc0aaaf3e33a8cb0c7674c6dba7f2115be551f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c64f10d7f97971fca0b7b2ab5b38f8d06d85d54b7b34d8ddc90da17264dae7dd\",\"dweb:/ipfs/QmeMgiefFv9fvetswGBG3q2LzL1SJ6zNwBwupSgVpSmpDG\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSignatures.sol\":{\"keccak256\":\"0xfcaedc1b1a23f7b2c40fbc5cc71d1781de18f0b1cfbc40a83876852659137d2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8bad7219652c0f76a46107facc5fdcde7c1d3798d201499d87a7f584ac46db7\",\"dweb:/ipfs/Qma1yhF31Q9wxDYjQ8eCYdjpLVXjC2VVHMCipUjPVrRVdF\"]},\"node_modules/@latticexyz/world/src/codegen/tables/InstalledModules.sol\":{\"keccak256\":\"0x6d247eea47c3566ea8e71b39e662607509f7a2080eabddf83c9f6b0682d27edc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab03d2cf026d39902ec68c3665a6779053e82e0f60bccfe2810be4b43f05894e\",\"dweb:/ipfs/Qmdzg8bmkWjN4mw9EfnHFqYHpTJACGm9YoYZDZhX1MMamY\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceDelegationControl.sol\":{\"keccak256\":\"0x05b07d7a06c7e801fb0c0143dde8fce02907d9940f2862b63dcf085d43e54fdf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18eaa2e74e9db4d142a7743c6ab9bfa5e9ff5c3700c0db148840266c4ac8ad35\",\"dweb:/ipfs/QmRiBMxuzDRTST9C4nu8jo6z2D44HYG6VEpKNyDPa6HMhS\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x1bf6746d0154dc5464f394e5b3d8d66398a55eaff68f6e2c3f3f964d8daf39cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b902e62ea9758145aaa0677c04b764cf721ba103b8294191cdc4ba6c25f3ba9e\",\"dweb:/ipfs/QmT3m18HiJd8BT1j5pWeXkGMQjqRCfKDiFvoBTBJ8ZKruv\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0x57b12c2ff2649db6dd7e2acacece0c5fbdcc0f0bff9b28c685c93d4372688568\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a9c39f46cf1e43b13b4a94fad22fde80223f6b5e39c87ca5a8f5d76432d1a3c\",\"dweb:/ipfs/QmNdEEiM7acceMy4ojy9oFKvba7Yjm3MXF1hpnRoWTaAsD\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol\":{\"keccak256\":\"0x65c5544ed57f2e01d6729339461496fa3db50dd843db6de163e6cca2b9b17c68\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d8acc162ac647954ffcfd98f6083823713b10d8dc4a05defc18199e9929faf2\",\"dweb:/ipfs/QmVEwCPrDFcQ84qbJyfm3dNEXuqMbUVVqi5DddmJUREriD\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol\":{\"keccak256\":\"0x98b313c90edc060aed54e1728c5931e104914d485dfb0099099dc469773c6194\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://595d820d40e7faceb413613f24d56e82d13e3e53dd86c69627f1c0f134b5705c\",\"dweb:/ipfs/QmUosi7xfNsg5ehaPNZ7tpU3UxyBMbfQW1ESyqH8Bk73JU\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0xb9b4eada80dfde28cc334d7a8ede2a57b92f3b42f3501af693ba981ba38b8f21\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6edf1eb4a0d1730b331eff58f3f26aa037fed7767b6d420a28b905134908bf7\",\"dweb:/ipfs/QmXyZNb5SvwLJ7eG2mrFLDyC6Q2wKPGiHyeQQ21cQLujJR\"]},\"node_modules/@latticexyz/world/src/codegen/tables/TransactionContext.sol\":{\"keccak256\":\"0xbf501d3d05958c923bb4cb8ca11d5d7c0fba898eda1235bbb1bea95e8f77ed9b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ceb206c972ff952de239ace637c9ead2e069035d1676ea18690289572d8663d1\",\"dweb:/ipfs/QmYRENaiEAexz1xEy9YoX2Xj7nAdr29g7dEsbshK3VoXNE\"]},\"node_modules/@latticexyz/world/src/codegen/tables/UserDelegationControl.sol\":{\"keccak256\":\"0x25c8832ec6db8bc83d0a3c274d8cb49f93bfc57e2b0125c739caf19c1a2c8a51\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a226cf322efa14384b1191263136af4792d5e6285a7ffa9030218a44ec97d571\",\"dweb:/ipfs/QmYC19AoGU6v15mzTKq2oHWMKUeRnzxGEkKgHVEUcUKw91\"]},\"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\":\"0x95e23ed6d143242d8232f484f86c5ed14964d3b3b592a83ac8ad22239a9001aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2974121de686e47139d8adb6bdc7fd0854a56c745cc0497b8a8d88b55a3e77d6\",\"dweb:/ipfs/QmcXGbZL3wnFdJA8cvj9NnQtrnmkj2co84u3CJphYMg2Lc\"]},\"node_modules/@latticexyz/world/src/modules/init/RegistrationSystem.sol\":{\"keccak256\":\"0x10711eaec9cf4f8b64dea5d1956bc80a3bd3c20cf33163a37aefc93d7f9d0be9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5129961b6452d3215fb3c1453da366e5b87cacb9373300879757d48b3c067e9c\",\"dweb:/ipfs/QmRidqUXVZ5jKZes37RWv9MqTmigMUAL1mbMNyeUm1Q3f9\"]},\"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\":\"0xe00ff4886f017f75372be42ced66025a2d200d780198a89022bda32424927f93\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cb75902a76ab392bd46170a64ab575232ae172f47bc7ec095016fe2cf344a216\",\"dweb:/ipfs/QmRJsK7ZtS4mm3JmXDW5uLaeCdBPShMVYmDmNjCKiv1k9z\"]},\"node_modules/@latticexyz/world/src/modules/init/implementations/StoreRegistrationSystem.sol\":{\"keccak256\":\"0x6de6e033845658f714e478982b9125bedb74d4db4e5794e647bc3c4fb6b5f84f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c22d4ee79114f3a59bc7da6bc74e9ca0412a5c0bd606ccf79b141064699d2a7\",\"dweb:/ipfs/QmRuVPECJGZTw9k2PfAdDbbUUnptAF4e9VcqMkzhJ9mBBL\"]},\"node_modules/@latticexyz/world/src/modules/init/implementations/WorldRegistrationSystem.sol\":{\"keccak256\":\"0xe4b91af36de3852dea10f354ee91b7e6c8a78a0f4c40f72b94bdca411599ca6e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fd5e616104f0eb8c261f55901579b09871e91784995e3cb1055ac575995f7535\",\"dweb:/ipfs/QmYinJme183sz4QXH642734s62U8YkGWZ5fNPPfC6GzJmw\"]},\"node_modules/@latticexyz/world/src/requireInterface.sol\":{\"keccak256\":\"0x95e9469529f790727966c513ed19b42abf065a2cd482faba4b8e3404edfb8730\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da63bf514679a87134d2c36563c9c398906e1e06b27cb17eed10895cd7c87658\",\"dweb:/ipfs/QmUrfkw8YTs6zUq5eaWPgdLmTUJVsp1CRBGQz6kdh7bs3C\"]},\"node_modules/@latticexyz/world/src/requireNamespace.sol\":{\"keccak256\":\"0x3a98f80c6438d8670281c5ef1ecfc7ddc9c7c0d09fa66d54dda4fa812c89baa1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb7093a4816d52af381d8959601046a1d307fb32b11dfb787813144eb01ca9c6\",\"dweb:/ipfs/QmUj9hw39TNTtamhWvYAe647CYvNuTfxwsYSu2H4QmHfPi\"]},\"node_modules/@latticexyz/world/src/requireValidNamespace.sol\":{\"keccak256\":\"0x75f4a72a942bd59d237e6a1329da8f9a582b8d3d94ffeeb2ee4d7cfe992881bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d6d3c0bb90663d8d411ef056faf0a126727fdeba806efea4403815943b94027\",\"dweb:/ipfs/QmXrAEDnRrqj3137fXPc91jyDMHFZHHJ39NmMUEh1y2AgL\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0x0e18f180961360de71b9374363cf31bf97e489fc895ff900946b515eeb7ecb3a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e85a5e2c0e79ef39a6e367b3b653d475f702fb8f4e14f5817ca3091480e21eb8\",\"dweb:/ipfs/QmeoYVTLo3LncJRD3mqc5bMSHY3Rc9N3yveu6pH2uRVCGW\"]},\"node_modules/@latticexyz/world/src/systemHookTypes.sol\":{\"keccak256\":\"0xf312c694828e49cd263d1df8ba82beb0376ce8dce1337f9e62ec52e3ed36a145\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b060c176e46fa6e55d2f525d1f1c64e3c371e6bf24b6d0ff05ae20b3c0c0c0d\",\"dweb:/ipfs/QmdLfnBQrYnLq1iwjX9UyzpDqe6EyJ21T56ZWUVJr1VQCy\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0x3478328afa3363bcb25271cdcd4c23355f53be785ae0aab5159490122831b8ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5192c5d7dbe1e5521fc9af4830c991be7209652080c507ee6860cc3746dce96d\",\"dweb:/ipfs/Qmbf6ge8pEwaGhjei7MKFCNk9UbCb55AvUadbbeqyNKJ12\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"FieldLayoutLib_Empty"},{"inputs":[{"internalType":"uint256","name":"staticDataLength","type":"uint256"},{"internalType":"uint256","name":"computedStaticDataLength","type":"uint256"}],"type":"error","name":"FieldLayoutLib_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayoutLib_StaticLengthDoesNotFitInAWord"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayoutLib_StaticLengthIsNotZero"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayoutLib_StaticLengthIsZero"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayoutLib_TooManyDynamicFields"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayoutLib_TooManyFields"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"PackedCounter_InvalidLength"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"SchemaLib_InvalidLength"},{"inputs":[],"type":"error","name":"SchemaLib_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":"address","name":"caller","type":"address"}],"type":"error","name":"World_DirectCallToSystemForbidden"},{"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":"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":"_initialMsgSender","outputs":[{"internalType":"address","name":"sender","type":"address"}]},{"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":"bytes4","name":"systemFunctionSelector","type":"bytes4"}],"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":{"_initialMsgSender()":{"returns":{"sender":"The `msg.sender` that made the first call to World in this transaction"}},"_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,bytes4)":{"details":"Creates a mapping for a root World function without namespace or name prefix","params":{"systemFunctionSelector":"The selector 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":{"_initialMsgSender()":{"notice":"Extract the `msg.sender` from TransactionContext (mutex in World.sol on `call` and `callFrom` 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,bytes4)":{"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":"0xf506b8e9521a2173ae51aca038b86f705ac6c10fc6361c5df32ea37c7218fdbd","urls":["bzz-raw://9ce5626141f377ea6c9477a27205fa23013c321423950a97f75a2685ac401c55","dweb:/ipfs/QmfYjQmUcQUm46dRHbiYkUnoBokHuS58WZUd8oSdGKKohy"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0xc6aa930fb9a3df986870e3c77e567cabff12ae5e7b2c2af69669390e018d3728","urls":["bzz-raw://a8d6d40675ddd6575538cfa915f73fc8379f4c154b034220df2cf6b7be6d9baf","dweb:/ipfs/QmS7RNEDNBq6YwVJ1gPfs36CJg9d6h5MaxPRtuL3726uEK"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0x6041a89e90293b15acf91378e329815cb857d79f0b384918cd97292378ed5c09","urls":["bzz-raw://0e263d3c8230b4a4852e3b66058e9c36e946cf64471ffd0ac7f54b7a37f329f4","dweb:/ipfs/QmdCnZE1G5PX4ZswUiR6t2DWMRDbVdJYaCzbCF4hbDTKc2"],"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/IStore.sol":{"keccak256":"0xa95a7b8095a313078abe9b3953fa4512aac88ead4526e37023583cb5dc274cb3","urls":["bzz-raw://8a878403e5133ec5f250d752e7b7495e2b13420cd3a42fb59aa6d5f8ee6d188b","dweb:/ipfs/QmUGxeD5Y7B5goNNgFcgaAakjoSr4YtVaE3CMAypRUZGmc"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreData.sol":{"keccak256":"0x174b2e5a5f80094d752cd2a36f1fbdf50e81b1e203216b9e5a6f33e02d606cec","urls":["bzz-raw://59e6de780b55c1937a7148d3cc07ec137c3e2f243f331ba0b70f3262d919c1cb","dweb:/ipfs/QmTJbh6ybPsZE9pFziTztstWxmh6ogUgMa6E81M6PMTA6g"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x4b471eb3b98a51f15992f7e4cfb7a7d8e842410f081ea03ef85d3a7b34c35f79","urls":["bzz-raw://e7e82faaea290036677562d8a3a8502f5f871b1368b58ac38897e0ef67216d84","dweb:/ipfs/QmfCj4CtNZ7LYkWUAYcMoyp3X7PFJkUjXgBwbzXkbkDFL6"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0xfdeeba7e17c947285610d49d85d402cfe5286c046814f827c1aaa37636c16d8f","urls":["bzz-raw://5fde8b7c7caf4dcdcb524565cb8745d897d4d22d88fa0744f9db4b3d36a1eee1","dweb:/ipfs/QmbUe4pfJeRqiiPz31BKWbYv12cz8Lz3Ky5yKydtTb4FY9"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x677224ab340753edf523ccff8c9d6ede987addbf0d7bc13d0e479306f3866a99","urls":["bzz-raw://6c0285a7684490d6e65d6f91b3631abdafb135d200ea9068e730dd98017a305e","dweb:/ipfs/QmcURHZiMGnSET9P2iSgph22F6iFdoDbN4WmJsHxTAT5G9"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xe246addf70a3fe65f19e2ab0048d48785bc2ef2f75884eeade151aef59ff5449","urls":["bzz-raw://389022221307160febdec33a7fbdd82fcfbdd1fa6f9b1c67ffe3bf0467d2c924","dweb:/ipfs/QmWunXryDsJZJBwdXxKetRH1vB4tkwTXsdzoM4nePGVvaA"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0xf6d2871ca67aacadfd5dd4caef45440a571d932e68a04466f2674e481e79e167","urls":["bzz-raw://260067ed037789d073f407db1d416171e33c79e9b584090794d05e990ee88b67","dweb:/ipfs/QmbAA4Ynfy5aQv71JkZrPcdt2iqc3NK8DcAL1mnx7M1WYC"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x7f6d8a25eea4a9d51de396ff64215e2567b29ce607538f04ec1a4ae2efb591bc","urls":["bzz-raw://8ae6e34ba2e92bd3cb8dd556838f4e3caa6c3feaf9e2d63649afa944cb5e3263","dweb:/ipfs/QmR1oNRLp87pnrnxrujdT7JU1Gzwq22rVukKUkXmwNBVSC"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0x79954fa7614943899ad13b27ca0c2bf27c996d7b82a0e347afa48d7a4bbc6e2d","urls":["bzz-raw://34f7d6e209bcc6e379e004ae5a03f909e23e4e87956205610f4e39969b968912","dweb:/ipfs/QmZQeHDwtUBEpTSWn9L7AZ1id6dUbEHmLo6Cj3f9jKRqVM"],"license":"MIT"},"node_modules/@latticexyz/store/src/PackedCounter.sol":{"keccak256":"0x6dc7a614a120b1940ca8de1924e59895a42ef5f0e22d81a9221790fd76687c2e","urls":["bzz-raw://b638521a9590a62c4e976f12be43d0370246836b90227cbf2e306888331986f6","dweb:/ipfs/QmcEpcjHhL9rawjJRuMJvtTv3YwN2ggYsQHXZeoF88VRFX"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0xdca93829ef7e90c12678d3b7bcafee1d3ec9499abfc76c91edd188a8923f4f18","urls":["bzz-raw://3193518ae917765035c845266de41ccebde7a7a06ee6fd7f000534a530975ab2","dweb:/ipfs/QmYr9dCG2HKUMrXHevyRanqsPRHYpD2dnpgZkvwZYqWHe9"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x21d008da9dd112938ad5381264dce39be7855002076afa01d78dc6421a951fd8","urls":["bzz-raw://1af33c3d662d6ba193987ec62c865e05b53ced4904bff9a5729ab3ada2ca3a99","dweb:/ipfs/QmUSXF3R7LwQWW8P6BZCrt3MAgGN5UwiiaHB3DGCSBZLL5"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0x1f04af14e5040f71bd3daa79b90245a275e52f8d0294c17ae5bfe9aa727651a5","urls":["bzz-raw://d76533959ded2f58434ae9f89fe8c3ff66095ec94e829f89914b362751799e3a","dweb:/ipfs/Qmb1e12g6Sku2u1R96qei1GhqSNi1sZhKRCb111SyNk1ta"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x48c9749d33f06406b8033b3df67002836d1b356c6ae8282865e7b437941ed61f","urls":["bzz-raw://931e1275db62ba2f9410ee8a8ab384ece2a7031cdf446c50696078f9da24a04d","dweb:/ipfs/QmTXzyjLNj5KuJUHfe1T3awroK5DLkCU4dm6RR4pSUVrfE"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x7cafc150d77cb46ecb49b1a1a7d43cc17e21a095596cf544cc8ba6bfe7ed7f20","urls":["bzz-raw://889cadacfbc667e10a7a83ac34e858c76d0472d04cad72c7691a84879e503ce3","dweb:/ipfs/Qmcm6GFFoGFw2nmuz3Z2NRAgqfBPFZixHppmQzZM4Fy3sR"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0xbe5cb815a5d073d1d94fc73a3a02a151ffb4e9ce299f00580c6c2d9cd339d7c9","urls":["bzz-raw://b7416ec2aeef38b06c4e559dc3e76fa8cd51f54c06cc58aeed613f44dfd3c3ff","dweb:/ipfs/QmRp6ZmUckpmGKG31wyZSxtgmUJZS2y85sRP2UU9Foajn7"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0xa59c43271d363f2366d6f6732ae586b1a36a3ffa4906b8f5cbbf19d3d314562c","urls":["bzz-raw://2bd7c9f8f9ad579a8dfec566b2bd2e646f8065ce8a07e6732e11a4a3a2be7787","dweb:/ipfs/QmWBwZGnYYxEiRjFKSsu1mFtCWJYw3XSojhn7zmc5YE4vG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0x2e81480e081ce6ad4917ecc634e5c9b7a5674068992ae8d9088f0f6296da3bf7","urls":["bzz-raw://2acfdee4dd4c0347ec214273184f267db0e7edc82e586600501d13581dbb5551","dweb:/ipfs/QmcD945zNdGfkwKVvKHA2fpBGictaz4cVMnNm96SmTG5qY"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0x29ed1bd962e594e00a9b921ddbbb202a47206adbece718721483a69593b88763","urls":["bzz-raw://786df2eca996d18660a4ea7d059dfb8c8476fe5cc8f14e0ce5c8f237e08444ea","dweb:/ipfs/QmQ8dbVA2rMgcb9rznHVjn8DGH9U8bZuHmebukjkYxs2Av"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xe9c42e51b6d20496dde8e8013680ec4a4ea1229fd57f0364a2a061c14c1c115b","urls":["bzz-raw://2bcbeeb7b3de32fc68102f7875d71348d5a0171dbb50937d6ebeb28dd10d4ed4","dweb:/ipfs/QmPY91z4D25KGLU2nhnZgb538Mh1mi46RbwHQB8kZvXd4h"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0xf80e355b361d29b0169483074b73e2502b228d539d5b3511239edfa9644ae270","urls":["bzz-raw://067d0b61a94453ed29f985cee8d237b46ef1c95f790848a927951e951ebe5a44","dweb:/ipfs/QmVjF2vEnRXzq1GHXwXd9iHJAfyrZNA2wAuygpZv6dGRTB"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x2fe1752ecfb01c2de84cd9ae0c47fef85f9f0a7668ae31dc8b19724570eaad50","urls":["bzz-raw://cb90fb960543d00b37df49274c3b7bda6f2c8fb1b363226610f6de7f5bffc7c2","dweb:/ipfs/Qmc1ZQ6xPm8jXaWbc9Lakq2uZxY3pqtVC8r3WnNDFgLGTN"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0xbde7a13eb04663ffd62c3eac929abde4bf8d4fb4c434e510782af01045b78410","urls":["bzz-raw://3b629c78d8e194824b07bbf66f62d5bb94ce883100f5523cb545d3e980792f38","dweb:/ipfs/QmWCRbCT55mnusK1abavXvwM4uN9QStcML4ZgjUG9L6V8S"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0xcc16f330a9cb5f9f095e2bfc62c67818f2b91a229223c64c87891f1cebfc0305","urls":["bzz-raw://1384e4acac4553089859ff1368f358e5c81ceba986a902e5ec082801de097f64","dweb:/ipfs/QmXcEESML4KRKCfwxvC3tsW9jiA8PE7pxPuZ8L1t1wiNby"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x515001322ebb9b58c62be0bd96ba65dc82841cc550533f283813ad24baaf2554","urls":["bzz-raw://b014d298897dfc75189c10f5e3d970d8368db734c545f6c7d4833cec9c7117eb","dweb:/ipfs/Qmcs7rTdh6zVyDHczXW6mEJqVmndZZTDSjNC1jouf43hTX"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0xcf8e6e16b76972b6a96ea6b428d7298fc174a840fc8c5c09b6fe2030d31600d7","urls":["bzz-raw://025cf5112618018efd416155c9df257cd28447629bd79c0c37655a8e22c0e4f4","dweb:/ipfs/QmaqeqzGVrAK6rQqQgCzs8UJMWrWmR52jqzN8jqRdaY1kT"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x248c35b8efaf6a0b0229fd81cafcb8fac6a54662187b56b49574b10e9c3ebf29","urls":["bzz-raw://63b6c95da7d63346db3b741f836b20e23f8e46a6245efdfa6443b204edecabcf","dweb:/ipfs/QmY79DfLgvMsTSZJzwbYmzGYE2ajCumu3ruQ2GpDyYbVqY"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x08f257c62602117fe4943580b0a19f19cf696b22000afd927a2159e24625a13a","urls":["bzz-raw://40ee497f86d4192794a5592264e356dcda27bbe275f6a110dfbc3c3b67798205","dweb:/ipfs/QmW98aRsWSvUzwvX8FkweFDrgGS9YKr8KvfnFrT5HkMtvT"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x1cf2e205960520ded9a1ac8a6f4e4e25b5153114939adc7acb66122aba88af61","urls":["bzz-raw://7b41a9da0859000750196a14db7352e12fbe0d55e3849a468fe41b23ffa847ed","dweb:/ipfs/QmTjkrru4tcqXx38k49C2ris5ednawtkfdcW5EVRNJYBKU"],"license":"MIT"},"node_modules/@latticexyz/world/src/AccessControl.sol":{"keccak256":"0xc1b9fa9167dc3d39d5591d0b2d5f7c3c12ad6aeaa0a1b83b1e326ebd104de439","urls":["bzz-raw://ed0ff59e3240fc85509fc5a1bc9c158f2056bd4be82ba88100ed138afc08d60c","dweb:/ipfs/QmZScS3xhT8EMX4RrnVEqWm1VrGBG9JiA6aiZWtWMphF7q"],"license":"MIT"},"node_modules/@latticexyz/world/src/Delegation.sol":{"keccak256":"0xd049053827c730ad69585c1c7eb52b4fd9774370063aab461021a111ee0bc86a","urls":["bzz-raw://e5a05e41e45c0054e835565046276d830581ca181e7ff3d83b15c71b6e01af89","dweb:/ipfs/QmZYGFT621rS5fE2WXKX5wqBMENguMuY7DqaXPkZ2rcEfZ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ERC165Checker.sol":{"keccak256":"0x26204bcfddbc272eae391f4512a629f53697867d582ea8cabcd6a8e04a255270","urls":["bzz-raw://46944bac8253250ba3f645a6164df8e996738bc76a544867677e54ede57619a1","dweb:/ipfs/QmY1XSxQY9MuQSEvGaeQT6kqmeJ3VhYyRRTfzCkRmdsWsX"],"license":"MIT"},"node_modules/@latticexyz/world/src/IDelegationControl.sol":{"keccak256":"0x9f0dcc1cd281b51a5d3d8f75a55ce8cfb2577c88a9b6644ee144fe260c14e60e","urls":["bzz-raw://85d99d96c33512968e2c3ef68777bdf65305de0b01597e182750ce2c152e089d","dweb:/ipfs/QmZwB163CzPuHJGPW8LPL8pHsEdvkYmBuoEVbu3JqNSTkC"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe00be0c676fa14949ecc4324ae3e932834b0550e2fabbc813b5aa49cf0e2b695","urls":["bzz-raw://700a595ee72389add0e9aef8ae6c2cafc5336b0dc2c43e580ce4d9546ca0dee3","dweb:/ipfs/QmPfRtR5591tJPSvu9mz9J26qSwEjFm5FK8D99jA3qHZCe"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0x6c11c44fef08d46ca9f291551a42b8576259f65b7e957aef92540ba0acd72909","urls":["bzz-raw://0ffbc3646ea495350939319f5418ba2dd45b6ec809d6b84ed3264e592a9385bd","dweb:/ipfs/QmPCjuQUMWVUPv7vSVfztnymYA9hUP1xRS62FD6iwzGMuo"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0xad31c270fe5bf23869fe4a55a9a8d3372871c595f6b0f9a197e810051ab1bfdc","urls":["bzz-raw://af7acd6a86410c6d2586739e370134265521cf522fec0c3091804c0d0f99a0fc","dweb:/ipfs/QmRRbUbw89Z3tva95UTvxKhFwn5ddYNMiHbVs6Nnmpsty3"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0x61392feda0588aba0f72be7c44c65d9115604b5f3d61a79a716d2cc78906bb01","urls":["bzz-raw://7cd374cc3c8b05140aa54d712cbd541a51fc7cb4065f7bfc172f64169c1a818a","dweb:/ipfs/QmcsHDhXQFUDB5vf8kES61teypHLuMxNdheat9TN8wY9so"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x7d478d15961646ee2889e30169e4e4045ed98c92bfa398abda9299179c234ca6","urls":["bzz-raw://6aa9999fb5bed10c89639cbc1caf099971abaa8c481a581038227e6c14210776","dweb:/ipfs/QmdxsLT2cFi9Y7buNBVC1WWeKKjNyNDTrpkuRNwGYSGAFz"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0x1d380574763b720a8950dc0a14d519c2532f9f27c8115116f0a6f7916c9606b3","urls":["bzz-raw://a395df820ee46be3dcdb36682183811a86cdc848dbd56ecc2a21785a42785cf9","dweb:/ipfs/QmeiuzuHjQuv4GHXXiRkBkxhyN7e9Vy19TYfAccnxWej91"],"license":"MIT"},"node_modules/@latticexyz/world/src/SystemCall.sol":{"keccak256":"0x9c3e1e5eb40d130e90726ca4bfabd748d190d076ecd95c668f038635f751cad2","urls":["bzz-raw://40ba8d4ea85cdac5b622117bf70f56466bfd8b3b693fbb4ab266630768f8865d","dweb:/ipfs/QmQ8ttFdCFJdw1thyDJHheoWNkdpQUM2u7kZzi4zj6mYh7"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x570da3c73388cb2bcdce4b137968871d89ffe294ba00997029a505060f3a6f0d","urls":["bzz-raw://840b4bf9a472574066e6ebe765a8cbbc4ecff41820b5c72b4e92f92fa7c88d55","dweb:/ipfs/QmXX9AUXdVH1xdDZLD1FS3MNoHmunYL1BYt8Ar9iDwVtTU"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xf668eeaecd294a2b8b9e1a771161373af84abe42b8a9820cf9d3092a9a1e64bd","urls":["bzz-raw://01f2939361e51497304e66bdcd9cb33bfea95737fce41ca731f20d3b5dbd5f74","dweb:/ipfs/QmayLveLBSq8axMgbouD411V5BTiYXKbg9ddEpxjcMU4ez"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol":{"keccak256":"0x705f45c60cd9f5cf5ed2b92d73bef71f2c234ec281297dae79779860cfdf9e6f","urls":["bzz-raw://b927d760e5f09c72c421ad62ab8da11a38a2a47d321e6b023e3d7c2a4a46a458","dweb:/ipfs/QmXMDWhE5gVHURzFAL7cyA7EeFJRkykZRZwRV9qrTBj13Y"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol":{"keccak256":"0x88a0bc28aa9ef62f524fd2592cc0aaaf3e33a8cb0c7674c6dba7f2115be551f8","urls":["bzz-raw://c64f10d7f97971fca0b7b2ab5b38f8d06d85d54b7b34d8ddc90da17264dae7dd","dweb:/ipfs/QmeMgiefFv9fvetswGBG3q2LzL1SJ6zNwBwupSgVpSmpDG"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSignatures.sol":{"keccak256":"0xfcaedc1b1a23f7b2c40fbc5cc71d1781de18f0b1cfbc40a83876852659137d2b","urls":["bzz-raw://d8bad7219652c0f76a46107facc5fdcde7c1d3798d201499d87a7f584ac46db7","dweb:/ipfs/Qma1yhF31Q9wxDYjQ8eCYdjpLVXjC2VVHMCipUjPVrRVdF"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/InstalledModules.sol":{"keccak256":"0x6d247eea47c3566ea8e71b39e662607509f7a2080eabddf83c9f6b0682d27edc","urls":["bzz-raw://ab03d2cf026d39902ec68c3665a6779053e82e0f60bccfe2810be4b43f05894e","dweb:/ipfs/Qmdzg8bmkWjN4mw9EfnHFqYHpTJACGm9YoYZDZhX1MMamY"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceDelegationControl.sol":{"keccak256":"0x05b07d7a06c7e801fb0c0143dde8fce02907d9940f2862b63dcf085d43e54fdf","urls":["bzz-raw://18eaa2e74e9db4d142a7743c6ab9bfa5e9ff5c3700c0db148840266c4ac8ad35","dweb:/ipfs/QmRiBMxuzDRTST9C4nu8jo6z2D44HYG6VEpKNyDPa6HMhS"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0x1bf6746d0154dc5464f394e5b3d8d66398a55eaff68f6e2c3f3f964d8daf39cd","urls":["bzz-raw://b902e62ea9758145aaa0677c04b764cf721ba103b8294191cdc4ba6c25f3ba9e","dweb:/ipfs/QmT3m18HiJd8BT1j5pWeXkGMQjqRCfKDiFvoBTBJ8ZKruv"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0x57b12c2ff2649db6dd7e2acacece0c5fbdcc0f0bff9b28c685c93d4372688568","urls":["bzz-raw://3a9c39f46cf1e43b13b4a94fad22fde80223f6b5e39c87ca5a8f5d76432d1a3c","dweb:/ipfs/QmNdEEiM7acceMy4ojy9oFKvba7Yjm3MXF1hpnRoWTaAsD"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol":{"keccak256":"0x65c5544ed57f2e01d6729339461496fa3db50dd843db6de163e6cca2b9b17c68","urls":["bzz-raw://9d8acc162ac647954ffcfd98f6083823713b10d8dc4a05defc18199e9929faf2","dweb:/ipfs/QmVEwCPrDFcQ84qbJyfm3dNEXuqMbUVVqi5DddmJUREriD"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol":{"keccak256":"0x98b313c90edc060aed54e1728c5931e104914d485dfb0099099dc469773c6194","urls":["bzz-raw://595d820d40e7faceb413613f24d56e82d13e3e53dd86c69627f1c0f134b5705c","dweb:/ipfs/QmUosi7xfNsg5ehaPNZ7tpU3UxyBMbfQW1ESyqH8Bk73JU"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0xb9b4eada80dfde28cc334d7a8ede2a57b92f3b42f3501af693ba981ba38b8f21","urls":["bzz-raw://c6edf1eb4a0d1730b331eff58f3f26aa037fed7767b6d420a28b905134908bf7","dweb:/ipfs/QmXyZNb5SvwLJ7eG2mrFLDyC6Q2wKPGiHyeQQ21cQLujJR"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/TransactionContext.sol":{"keccak256":"0xbf501d3d05958c923bb4cb8ca11d5d7c0fba898eda1235bbb1bea95e8f77ed9b","urls":["bzz-raw://ceb206c972ff952de239ace637c9ead2e069035d1676ea18690289572d8663d1","dweb:/ipfs/QmYRENaiEAexz1xEy9YoX2Xj7nAdr29g7dEsbshK3VoXNE"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/UserDelegationControl.sol":{"keccak256":"0x25c8832ec6db8bc83d0a3c274d8cb49f93bfc57e2b0125c739caf19c1a2c8a51","urls":["bzz-raw://a226cf322efa14384b1191263136af4792d5e6285a7ffa9030218a44ec97d571","dweb:/ipfs/QmYC19AoGU6v15mzTKq2oHWMKUeRnzxGEkKgHVEUcUKw91"],"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":"0x95e23ed6d143242d8232f484f86c5ed14964d3b3b592a83ac8ad22239a9001aa","urls":["bzz-raw://2974121de686e47139d8adb6bdc7fd0854a56c745cc0497b8a8d88b55a3e77d6","dweb:/ipfs/QmcXGbZL3wnFdJA8cvj9NnQtrnmkj2co84u3CJphYMg2Lc"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/RegistrationSystem.sol":{"keccak256":"0x10711eaec9cf4f8b64dea5d1956bc80a3bd3c20cf33163a37aefc93d7f9d0be9","urls":["bzz-raw://5129961b6452d3215fb3c1453da366e5b87cacb9373300879757d48b3c067e9c","dweb:/ipfs/QmRidqUXVZ5jKZes37RWv9MqTmigMUAL1mbMNyeUm1Q3f9"],"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":"0xe00ff4886f017f75372be42ced66025a2d200d780198a89022bda32424927f93","urls":["bzz-raw://cb75902a76ab392bd46170a64ab575232ae172f47bc7ec095016fe2cf344a216","dweb:/ipfs/QmRJsK7ZtS4mm3JmXDW5uLaeCdBPShMVYmDmNjCKiv1k9z"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/implementations/StoreRegistrationSystem.sol":{"keccak256":"0x6de6e033845658f714e478982b9125bedb74d4db4e5794e647bc3c4fb6b5f84f","urls":["bzz-raw://4c22d4ee79114f3a59bc7da6bc74e9ca0412a5c0bd606ccf79b141064699d2a7","dweb:/ipfs/QmRuVPECJGZTw9k2PfAdDbbUUnptAF4e9VcqMkzhJ9mBBL"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/implementations/WorldRegistrationSystem.sol":{"keccak256":"0xe4b91af36de3852dea10f354ee91b7e6c8a78a0f4c40f72b94bdca411599ca6e","urls":["bzz-raw://fd5e616104f0eb8c261f55901579b09871e91784995e3cb1055ac575995f7535","dweb:/ipfs/QmYinJme183sz4QXH642734s62U8YkGWZ5fNPPfC6GzJmw"],"license":"MIT"},"node_modules/@latticexyz/world/src/requireInterface.sol":{"keccak256":"0x95e9469529f790727966c513ed19b42abf065a2cd482faba4b8e3404edfb8730","urls":["bzz-raw://da63bf514679a87134d2c36563c9c398906e1e06b27cb17eed10895cd7c87658","dweb:/ipfs/QmUrfkw8YTs6zUq5eaWPgdLmTUJVsp1CRBGQz6kdh7bs3C"],"license":"MIT"},"node_modules/@latticexyz/world/src/requireNamespace.sol":{"keccak256":"0x3a98f80c6438d8670281c5ef1ecfc7ddc9c7c0d09fa66d54dda4fa812c89baa1","urls":["bzz-raw://fb7093a4816d52af381d8959601046a1d307fb32b11dfb787813144eb01ca9c6","dweb:/ipfs/QmUj9hw39TNTtamhWvYAe647CYvNuTfxwsYSu2H4QmHfPi"],"license":"MIT"},"node_modules/@latticexyz/world/src/requireValidNamespace.sol":{"keccak256":"0x75f4a72a942bd59d237e6a1329da8f9a582b8d3d94ffeeb2ee4d7cfe992881bc","urls":["bzz-raw://5d6d3c0bb90663d8d411ef056faf0a126727fdeba806efea4403815943b94027","dweb:/ipfs/QmXrAEDnRrqj3137fXPc91jyDMHFZHHJ39NmMUEh1y2AgL"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0x0e18f180961360de71b9374363cf31bf97e489fc895ff900946b515eeb7ecb3a","urls":["bzz-raw://e85a5e2c0e79ef39a6e367b3b653d475f702fb8f4e14f5817ca3091480e21eb8","dweb:/ipfs/QmeoYVTLo3LncJRD3mqc5bMSHY3Rc9N3yveu6pH2uRVCGW"],"license":"MIT"},"node_modules/@latticexyz/world/src/systemHookTypes.sol":{"keccak256":"0xf312c694828e49cd263d1df8ba82beb0376ce8dce1337f9e62ec52e3ed36a145","urls":["bzz-raw://2b060c176e46fa6e55d2f525d1f1c64e3c371e6bf24b6d0ff05ae20b3c0c0c0d","dweb:/ipfs/QmdLfnBQrYnLq1iwjX9UyzpDqe6EyJ21T56ZWUVJr1VQCy"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0x3478328afa3363bcb25271cdcd4c23355f53be785ae0aab5159490122831b8ed","urls":["bzz-raw://5192c5d7dbe1e5521fc9af4830c991be7209652080c507ee6860cc3746dce96d","dweb:/ipfs/Qmbf6ge8pEwaGhjei7MKFCNk9UbCb55AvUadbbeqyNKJ12"],"license":"MIT"}},"version":1},"id":84}
|
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":"EncodedLengths"},{"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":"EncodedLengths"},{"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":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"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":"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":"0x60a06040523060805234801561001457600080fd5b506080516157ca620000316000396000610c2b01526157ca6000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c80636548a90a116100b2578063b29e408911610081578063cdc938c511610066578063cdc938c514610295578063d5f8337f146102a8578063e1af802c146102bb57600080fd5b8063b29e40891461026f578063bfdfaff71461028257600080fd5b80636548a90a146102235780638da798da14610236578063a92813ad14610249578063aa66e9c81461025c57600080fd5b80631d2257ba116101095780633350b6a9116100ee5780633350b6a9146101ea57806345ec9354146101fd578063530f4b601461021057600080fd5b80631d2257ba146101ab57806326d98102146101be57600080fd5b806301ffc9a71461013b57806305609129146101635780630ba51f4914610178578063119df25f1461018b575b600080fd5b61014e610149366004614c17565b6102c3565b60405190151581526020015b60405180910390f35b610176610171366004614c56565b61032c565b005b610176610186366004614cd2565b610353565b61019361041e565b6040516001600160a01b03909116815260200161015a565b6101766101b9366004614e1f565b61042d565b6101d16101cc366004614e78565b6104a8565b6040516001600160e01b0319909116815260200161015a565b6101766101f8366004614ebf565b6105fe565b604051601f19360135815260200161015a565b61017661021e366004614f17565b610779565b6101d1610231366004614f55565b6107e5565b610176610244366004614fb8565b6108c0565b610176610257366004614c56565b610982565b61017661026a366004614ff2565b6109c1565b61017661027d366004614ff2565b6109f3565b61017661029036600461500b565b610a88565b6101766102a3366004615045565b610b3d565b6101766102b6366004614f17565b610b56565b610193610c17565b60006001600160e01b031982167fb5dee12700000000000000000000000000000000000000000000000000000000148061032657506001600160e01b031982167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b610334610c21565b6103458261034061041e565b610c85565b61034f8282610cfe565b5050565b61035b610c21565b600061036689610d29565b6fffffffffffffffffffffffffffffffff1916036103c5578761038889610d40565b6040517fe4ac069e0000000000000000000000000000000000000000000000000000000081526004016103bc9291906150b2565b60405180910390fd5b6103e8616e7360f01b6dffffffffffffffffffffffffffff60801b8a1617610e54565b6103f48861034061041e565b61041488888888610405888a6150cb565b61040f87896150cb565b610e9f565b5050505050505050565b60006104286112af565b905090565b610435610c21565b61044761044061041e565b84846112e1565b610450826113b4565b156104a3576000610460836113d0565b905061048c817f1a86b5500000000000000000000000000000000000000000000000000000000061146c565b6104a061049761041e565b848460006114c7565b50505b505050565b60006104b2610c21565b61737960f01b836001600160f01b0319161461050d5761737960f01b836104d885610d40565b6040517f5c30fb6f0000000000000000000000000000000000000000000000000000000081526004016103bc93929190615151565b61051683610e54565b6105228361034061041e565b600061054b6105318560101b90565b71ffffffffffffffffffffffffffffffffffff19166114f4565b90506000818460405160200161056292919061517a565b60405160208183030381529060405290508080519060200120925060006105888461157e565b905080156105ce576040517f3d1d1ae20000000000000000000000000000000000000000000000000000000081526001600160e01b0319851660048201526024016103bc565b845160208601206105e085888361162e565b6105ea81876116f9565b6105f485846116f9565b5050505092915050565b610606610c21565b61737960f01b836001600160f01b0319161461062c5761737960f01b836104d885610d40565b6dffffffffffffffffffffffffffff60801b8316616e7360f01b1761065081610e54565b61065c8161034061041e565b610686837fb5dee1270000000000000000000000000000000000000000000000000000000061146c565b600061069185610d29565b6fffffffffffffffffffffffffffffffff1916036106b3578361038885610d40565b60006106be846117c2565b905080158015906106cf5750848114155b15610711576040517fc0b707410000000000000000000000000000000000000000000000000000000081526001600160a01b03851660048201526024016103bc565b600061071c866113d0565b90506001600160a01b038116156107455761073681611847565b61074083826118c6565b610750565b610750866001611964565b61075b868686611a05565b6107658587611aa8565b61077183866001611b33565b505050505050565b610781610c21565b6107ab827f1873396a0000000000000000000000000000000000000000000000000000000061146c565b6107ce616e7360f01b6dffffffffffffffffffffffffffff60801b851617610e54565b6107da8361034061041e565b6104a3838383611be2565b60006107ef610c21565b60408051616e7360f01b602082015260006022820181905260308201526108319101604051602081830303815290604052610829906151d2565b61034061041e565b8280519060200120905060008280519060200120905060006108528361157e565b90508015610898576040517f3d1d1ae20000000000000000000000000000000000000000000000000000000081526001600160e01b0319841660048201526024016103bc565b6108a383878461162e565b6108ad82856116f9565b6108b783866116f9565b50509392505050565b6108c8610c21565b6108f2827f6fdd1c800000000000000000000000000000000000000000000000000000000061146c565b61096e6108fd61041e565b6000848460405160240161091191906151f6565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f13861fb500000000000000000000000000000000000000000000000000000000179052611ca5565b5061034f8282805190602001206001611cb6565b61098a610c21565b6109968261034061041e565b61034f7f7462776f726c6400000000000000000053797374656d486f6f6b7300000000008383611d65565b6109c9610c21565b6109d281611e78565b6109db81610e54565b6109e78161034061041e565b6109f081611ea9565b50565b6109fb610c21565b610a0481611e78565b610a0d81611f14565b610a1681612106565b15610a595780610a2582610d40565b6040517f0dc28f6a0000000000000000000000000000000000000000000000000000000081526004016103bc9291906150b2565b610a64816001611964565b610a7581610a7061041e565b61218b565b6109f081610a8161041e565b6001611b33565b610a90610c21565b610a9983611e78565b610aa2826113b4565b610ad8576040517f71ee9e8100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610ae48361034061041e565b6000610aef836113d0565b9050610b1b817f1a86b5500000000000000000000000000000000000000000000000000000000061146c565b610b258484612255565b815115610b37576104a061049761041e565b50505050565b610b45610c21565b6109f0610b5061041e565b826122d4565b610b5e610c21565b61737960f01b836001600160f01b03191614610b845761737960f01b836104d885610d40565b610bae827f540fbfa80000000000000000000000000000000000000000000000000000000061146c565b610bb783610e54565b610bda616e7360f01b6dffffffffffffffffffffffffffff60801b851617610e54565b610be68361034061041e565b6104a3836bffffffffffffffffffffffff19606085901b166bff0000000000000000000000605885901b1617612376565b600061042861241b565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610c83576040517f9f03a02600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b6001600160a01b038116610cb2616e7360f01b6dffffffffffffffffffffffffffff60801b851617612425565b6001600160a01b03161461034f57610cc982610d40565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016103bc929190615209565b61034f7f746273746f726500000000000000000053746f7265486f6f6b730000000000008383611d65565b6000610d376070601061524a565b9190911b919050565b606081601081901b6000610d5383610d29565b90508271ffffffffffffffffffffffffffffffffffff19831615610d9457610d8f71ffffffffffffffffffffffffffffffffffff1984166114f4565b610dcb565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff19831615610df257610ded836114f4565b610e29565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001610e3b9392919061525d565b6040516020818303038152906040529350505050919050565b610e5d81612106565b6109f05780610e6b82610d40565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016103bc9291906150b2565b613a3160f11b866001600160f01b03191614801590610ecd5750611bdd60f21b866001600160f01b03191614155b15610f2e57613a3160f11b8687604051602001610eec91815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526103bc939291600401615151565b610f37856124b6565b610f428460016126fd565b610f4d8360006126fd565b60e084901c60e885901c0160ff16825114610fad5760e084901c60e885901c0160ff1682516040517f0f72cb98000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016103bc565b60e085901c60e886901c0160ff1681511461100d5760e085901c60e886901c0160ff1681516040517f7dec4c00000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016103bc565b60e085901c60e886901c0160ff1660e084901c60e885901c0160ff16146110855760e085901c60e886901c0160ff1660e084901c60e885901c0160ff166040517ff29d4d88000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016103bc565b61108e85612899565b61109784612899565b146110e9576110a585612899565b6110ae84612899565b6040517f65cc0adf000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016103bc565b6110f2856128cb565b6110fb846128cb565b1461114d57611109856128cb565b611112846128cb565b6040517fedea9587000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016103bc565b60005b61115986612899565b8110156111f45761118361116d85836128e8565b60c581111561117e5761117e6152d3565b612910565b6008601b8390030287901c60ff16146111ec576008601b8290030286901c60ff166111b161116d86846128e8565b6040517f254c7db4000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016103bc565b600101611150565b506111fe86612106565b1561125857858660405160200161121791815260200190565b60408051601f19818403018152908290527fdfaaf9cf0000000000000000000000000000000000000000000000000000000082526103bc92916004016150b2565b6112a4868686868660405160200161127091906152e9565b6040516020818303038152906040528660405160200161129091906152e9565b604051602081830303815290604052612970565b610771866001611964565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806112de5750335b90565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b816000815181106113225761132261536b565b602002602001018181525050826001600160a01b031660001b8160018151811061134e5761134e61536b565b602002602001018181525050610b377f7462776f726c640000000000000000005573657244656c65676174696f6e436f60001b8260008560405160200161139791815260200190565b60408051601f19818403018152919052630100080160dd1b612a37565b6000811515801561032657506113c982612a4c565b1592915050565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106114095761140961536b565b602090810291909101015260006114617f7462776f726c6400000000000000000053797374656d7300000000000000000083837e15020014010000000000000000000000000000000000000000000000000000612aac565b60601c949350505050565b6114768282612ae2565b61034f576040517f74b5e6ff0000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526001600160e01b0319821660248201526044016103bc565b60606000806114d887878787612afe565b91509150816114ea576114ea81612cce565b9695505050505050565b606060005b601081101561154a576fffffffffffffffffffffffffffffffff198316600882021b7fff00000000000000000000000000000000000000000000000000000000000000161561154a576001016114f9565b604080516fffffffffffffffffffffffffffffffff198516602082015281516030909101909152818152805b949350505050565b60408051600180825281830190925260009182919060208083019080368337019050509050827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916816000815181106115d6576115d661536b565b602090810291909101015260006115767f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f7283837e24020020040000000000000000000000000000000000000000000000000000612aac565b600061163a8383612cd6565b60408051600180825281830190925291925060009160609183919060208083019080368337019050509050867bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916816000815181106116985761169861536b565b60209081029190910101526116f07f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72828686867e24020020040000000000000000000000000000000000000000000000000000612d15565b50505050505050565b606060006117068361301b565b905060006117138461302b565b6040805160018082528183019092529192506000919060208083019080368337019050509050857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168160008151811061176c5761176c61536b565b60209081029190910101526107717f6f74776f726c6400000000000000000046756e6374696f6e5369676e61747572828686867c0100000000000000000000000000000000000000000000000000000000612d15565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b816000815181106118075761180761536b565b602090810291909101015260006115767f7462776f726c6400000000000000000053797374656d526567697374727900008383630100080160dd1b612aac565b60408051600180825281830190925260009160208083019080368337019050509050816001600160a01b031660001b816000815181106118895761188961536b565b602090810291909101015261034f7f7462776f726c6400000000000000000053797374656d5265676973747279000082630100080160dd1b613054565b60408051600280825260608201835260009260208301908036833701905050905082816000815181106118fb576118fb61536b565b602002602001018181525050816001600160a01b031660001b816001815181106119275761192761536b565b60209081029190910101526104a37f7462776f726c640000000000000000005265736f75726365416363657373000082630101000160d81b613054565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061199a5761199a61536b565b6020026020010181815250506104a37f746273746f72650000000000000000005265736f75726365496473000000000060001b826000856040516020016119e891151560f81b815260010190565b60408051601f19818403018152919052630101000160d81b612a37565b6000611a118383613320565b604080516001808252818301909252919250600091606091839190602080830190803683370190505090508681600081518110611a5057611a5061536b565b60209081029190910101526116f07f7462776f726c6400000000000000000053797374656d73000000000000000000828686867e15020014010000000000000000000000000000000000000000000000000000612d15565b60408051600180825281830190925260009160208083019080368337019050509050826001600160a01b031660001b81600081518110611aea57611aea61536b565b6020026020010181815250506104a37f7462776f726c6400000000000000000053797374656d5265676973747279000060001b8260008560405160200161139791815260200190565b6040805160028082526060820183526000926020830190803683370190505090508381600081518110611b6857611b6861536b565b602002602001018181525050826001600160a01b031660001b81600181518110611b9457611b9461536b565b602002602001018181525050610b377f7462776f726c640000000000000000005265736f75726365416363657373000060001b826000856040516020016119e891151560f81b815260010190565b613a3160f11b836001600160f01b03191614611c1257613a3160f11b8384604051602001610eec91815260200190565b611c1b83612106565b611c74578283604051602001611c3391815260200190565b60408051601f19818403018152908290527f41e713ad0000000000000000000000000000000000000000000000000000000082526103bc92916004016150b2565b6104a3836bffffffffffffffffffffffff19606085901b166bff0000000000000000000000605885901b1617613350565b60606000806114d8878787876133f5565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110611cf757611cf761536b565b6020026020010181815250508281600181518110611d1757611d1761536b565b602002602001018181525050610b377f7462776f726c64000000000000000000496e7374616c6c65644d6f64756c657360001b826000856040516020016119e891151560f81b815260010190565b6000611d71848461346d565b90506000815167ffffffffffffffff811115611d8f57611d8f614d68565b604051908082528060200260200182016040528015611db8578160200160208202803683370190505b5090506000805b8351811015611e6957846001600160a01b0316611e03858381518110611de757611de761536b565b60200260200101516affffffffffffffffffffff191660601c90565b6001600160a01b031614611e6157838181518110611e2357611e2361536b565b6020026020010151838381518110611e3d57611e3d61536b565b6affffffffffffffffffffff19909216602092830291909101909101526001909101905b600101611dbf565b508082526107718686846134d8565b616e7360f01b6dffffffffffffffffffffffffffff60801b82161781146109f057616e7360f01b816104d883610d40565b604080516001808252818301909252600091602080830190803683370190505090508181600081518110611edf57611edf61536b565b602090810291909101015261034f7f7462776f726c640000000000000000004e616d65737061636544656c656761748261352f565b6000611f208260101b90565b90506000611f4271ffffffffffffffffffffffffffffffffffff1983166114f4565b80519091508015610b3757611f6482611f5c600184615381565b016020015190565b7fff00000000000000000000000000000000000000000000000000000000000000167f5f0000000000000000000000000000000000000000000000000000000000000003611ff5576040517f0efb4b8500000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff19841660048201526024016103bc565b60005b612003600183615381565b8110156104a057602081840101517effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f5f000000000000000000000000000000000000000000000000000000000000001480156120b0575061206b83611f5c83600161524a565b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f5f00000000000000000000000000000000000000000000000000000000000000145b156120fe576040517f0efb4b8500000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff19851660048201526024016103bc565b600101611ff8565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061213f5761213f61536b565b6020908102919091010152600061217f7f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b612aac565b90506115768160f81c90565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106121c1576121c161536b565b6020026020010181815250506104a37f7462776f726c640000000000000000004e616d6573706163654f776e6572000060001b82600085604051602001612220919060609190911b6bffffffffffffffffffffffff1916815260140190565b60408051601f198184030181529190527e14010014000000000000000000000000000000000000000000000000000000612a37565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061228b5761228b61536b565b6020026020010181815250506104a37f7462776f726c640000000000000000004e616d65737061636544656c6567617460001b8260008560405160200161139791815260200190565b604080516002808252606082018352600092602083019080368337019050509050826001600160a01b031660001b816000815181106123155761231561536b565b602002602001018181525050816001600160a01b031660001b816001815181106123415761234161536b565b60209081029190910101526104a37f7462776f726c640000000000000000005573657244656c65676174696f6e436f8261352f565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106123ac576123ac61536b565b6020026020010181815250506104a37f7462776f726c6400000000000000000053797374656d486f6f6b73000000000060001b8260008560405160200161240791906affffffffffffffffffffff1991909116815260150190565b6040516020818303038152906040526135ca565b600061042861367b565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061245e5761245e61536b565b602090810291909101015260006114617f7462776f726c640000000000000000004e616d6573706163654f776e6572000083837e14010014000000000000000000000000000000000000000000000000000000612aac565b806124ed576040517fa019e4da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006124f8826128cb565b9050600581111561253f576040517f6793df6200000000000000000000000000000000000000000000000000000000815260048101829052600560248201526044016103bc565b600061254a83612899565b90506000612558838361524a565b9050601c81111561259f576040517fecd893b900000000000000000000000000000000000000000000000000000000815260048101829052601c60248201526044016103bc565b6000805b8381101561264a5760ff601b82900360080287901c1660008190036125f7576040517f53b2dd05000000000000000000000000000000000000000000000000000000008152600481018390526024016103bc565b6020811115612635576040517f7237f237000000000000000000000000000000000000000000000000000000008152600481018390526024016103bc565b61263f818461524a565b9250506001016125a3565b50612654856136ba565b81146126a057612663856136ba565b6040517feba964de0000000000000000000000000000000000000000000000000000000081526004810191909152602481018290526044016103bc565b825b601c8110156107715760ff601b82900360080287901c1680156126f4576040517f1d8d44db000000000000000000000000000000000000000000000000000000008152600481018390526024016103bc565b506001016126a2565b80158015612709575081155b1561272a5760405163d498615960e01b8152600060048201526024016103bc565b6000612735836128cb565b9050600581111561275c5760405163d498615960e01b8152600481018290526024016103bc565b600061276784612899565b90506000612775838361524a565b9050601c81111561279c5760405163d498615960e01b8152600481018290526024016103bc565b6000805b838110156128085760006127b761116d89846128e8565b9050806000036127f3576040517ff44b422000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6127fd818461524a565b9250506001016127a0565b50612812866136ba565b811461283d57612821866136ba565b60405163d498615960e01b81526004016103bc91815260200190565b825b828110156116f057600061285661116d89846128e8565b90508015612890576040517ff44b422000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060010161283f565b6000600860016128ab60026020615381565b6128b59190615381565b6128bf9190615394565b8260ff911c1692915050565b600060086001806128de60026020615381565b6128ab9190615381565b6000601b8290036008028360ff911c1660c5811115612909576129096152d3565b9392505050565b6000808260c5811115612925576129256152d3565b60ff169050606181101561293f57601f1660010192915050565b60618360c5811115612953576129536152d3565b036129615750601492915050565b50600092915050565b50919050565b600061297d8686866136dd565b9050600061298b8484613713565b905060006129998585613730565b604080516001808252818301909252919250600091906020808301908036833701905050905089816000815181106129d3576129d361536b565b6020908102919091010152612a2b7f746273746f72650000000000000000005461626c657300000000000000000000828686867e60030220202000000000000000000000000000000000000000000000000000612d15565b50505050505050505050565b6104a08585612a468487613745565b8561377e565b6040805161737960f01b60208201526000602282018190527f756e6c696d69746564000000000000000000000000000000000000000000000060308301529101604051602081830303815290604052612aa4906151d2565b909114919050565b6000612ad9612abb86866139e6565b60ff858116601b0360080285901c16612ad48587613745565b613a3c565b95945050505050565b6000612aed83613a8d565b801561290957506129098383613ace565b600060606000612b0d86613b86565b905060005b8151811015612be0576000828281518110612b2f57612b2f61536b565b60200260200101519050612b5b6001826affffffffffffffffffffff1916613c0a90919063ffffffff16565b15612bd7576040517fc3323031000000000000000000000000000000000000000000000000000000008152606082901c9063c332303190612ba4908c908c908c906004016153ab565b600060405180830381600087803b158015612bbe57600080fd5b505af1158015612bd2573d6000803e3d6000fd5b505050505b50600101612b12565b50612bed87858888613c28565b909350915060005b8151811015612cc3576000828281518110612c1257612c1261536b565b60200260200101519050612c3e6002826affffffffffffffffffffff1916613c0a90919063ffffffff16565b15612cba576040517f973d8f99000000000000000000000000000000000000000000000000000000008152606082901c9063973d8f9990612c87908c908c908c906004016153ab565b600060405180830381600087803b158015612ca157600080fd5b505af1158015612cb5573d6000803e3d6000fd5b505050505b50600101612bf5565b505094509492505050565b805160208201fd5b60608282604051602001612cfe9291909182526001600160e01b031916602082015260240190565b604051602081830303815290604052905092915050565b611bdd60f21b866001600160f01b03191603612d6e57857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a986868686604051612d61949392919061540f565b60405180910390a2610771565b6000612d7987613cfa565b905060005b8151811015612e52576000828281518110612d9b57612d9b61536b565b60200260200101519050612dc76001826affffffffffffffffffffff1916613c0a90919063ffffffff16565b15612e49576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90612e16908c908c908c908c908c908c9060040161544e565b600060405180830381600087803b158015612e3057600080fd5b505af1158015612e44573d6000803e3d6000fd5b505050505b50600101612d7e565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a987878787604051612e89949392919061540f565b60405180910390a26000612e9d88886139e6565b90506000602087019050612eb5826000895184613d6c565b6000612ec0856128cb565b1115612f44576000612ed28a8a613e2b565b878155905060208601915060008060005b612eec886128cb565b8160ff161015612f3f57612f018d8d83613e81565b9250612f1c8a8260ff166028026038011c64ffffffffff1690565b9150612f2b8360008488613d6c565b612f35828661524a565b9450600101612ee3565b505050505b60005b8351811015612a2b576000848281518110612f6457612f6461536b565b60200260200101519050612f906002826affffffffffffffffffffff1916613c0a90919063ffffffff16565b15613012576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90612fdf908e908e908e908e908e908e9060040161544e565b600060405180830381600087803b158015612ff957600080fd5b505af115801561300d573d6000803e3d6000fd5b505050505b50600101612f47565b60006103268251603881901b1790565b60608160405160200161303e91906154a7565b6040516020818303038152906040529050919050565b611bdd60f21b836001600160f01b031916036130a757827f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d078360405161309a91906154c3565b60405180910390a2505050565b60006130b284613cfa565b905060005b81518110156131855760008282815181106130d4576130d461536b565b602002602001015190506131006040826affffffffffffffffffffff1916613c0a90919063ffffffff16565b1561317c576040517f9faeaf45000000000000000000000000000000000000000000000000000000008152606082901c90639faeaf4590613149908990899089906004016154d6565b600060405180830381600087803b15801561316357600080fd5b505af1158015613177573d6000803e3d6000fd5b505050505b506001016130b7565b50837f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d07846040516131b691906154c3565b60405180910390a260006131ca85856139e6565b90506132238160006131db866136ba565b67ffffffffffffffff8111156131f3576131f3614d68565b6040519080825280601f01601f19166020018201604052801561321d576020820181803683370190505b50613f01565b600061322e846128cb565b111561324f5760006132408686613e2b565b905061324d816020613f17565b505b60005b825181101561077157600083828151811061326f5761326f61536b565b6020026020010151905061329b6080826affffffffffffffffffffff1916613c0a90919063ffffffff16565b15613317576040517f83b5c95b000000000000000000000000000000000000000000000000000000008152606082901c906383b5c95b906132e4908a908a908a906004016154d6565b600060405180830381600087803b1580156132fe57600080fd5b505af1158015613312573d6000803e3d6000fd5b505050505b50600101613252565b604051606083811b6bffffffffffffffffffffffff1916602083015282151560f81b603483015290603501612cfe565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106133865761338661536b565b6020026020010181815250506104a37f746273746f726500000000000000000053746f7265486f6f6b7300000000000060001b826000856040516020016133e191906affffffffffffffffffffff1991909116815260150190565b604051602081830303815290604052613f54565b60006060836001600160a01b03166000613410858989613f8f565b60405161341d91906154a7565b60006040518083038185875af1925050503d806000811461345a576040519150601f19603f3d011682016040523d82523d6000602084013e61345f565b606091505b509097909650945050505050565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106134a7576134a761536b565b60200260200101818152505060006134c185836000613fa6565b9050612ad96134d38260008451613fe0565b61406e565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061350e5761350e61536b565b602002602001018181525050610b378482600061352a8661407f565b61408f565b600061353961367b565b9050306001600160a01b03821603613555576104a383836140ca565b6040517f505a181d0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063505a181d9061359c90869086906004016154ff565b600060405180830381600087803b1580156135b657600080fd5b505af11580156116f0573d6000803e3d6000fd5b60006135d461367b565b9050306001600160a01b038216036135f7576135f285858585613f54565b6104a0565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f326290613642908890889088908890600401615518565b600060405180830381600087803b15801561365c57600080fd5b505af1158015613670573d6000803e3d6000fd5b505050505050505050565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b0316806136b5573391505090565b919050565b600060086136ca60026020615381565b6136d49190615394565b9190911c919050565b60408051602081018590529081018390526060818101839052906080015b60405160208183030381529060405290509392505050565b8151815160009181810160389190911b1760609190911b17612909565b60608282604051602001612cfe92919061554c565b600080805b8360ff168110156137765761376c60ff601b83900360080287901c168361524a565b915060010161374a565b509392505050565b611bdd60f21b846001600160f01b031916036137d557837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8484846040516137c89392919061557b565b60405180910390a2610b37565b60006137e185856139e6565b905060006137ee86613cfa565b905060005b81518110156138c35760008282815181106138105761381061536b565b6020026020010151905061383c6004826affffffffffffffffffffff1916613c0a90919063ffffffff16565b156138ba576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90613887908b908b908b908b906004016155ae565b600060405180830381600087803b1580156138a157600080fd5b505af11580156138b5573d6000803e3d6000fd5b505050505b506001016137f3565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8686866040516138f89392919061557b565b60405180910390a2613913828565ffffffffffff1685613f01565b60005b81518110156116f05760008282815181106139335761393361536b565b6020026020010151905061395f6008826affffffffffffffffffffff1916613c0a90919063ffffffff16565b156139dd576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba8721906139aa908b908b908b908b906004016155ae565b600060405180830381600087803b1580156139c457600080fd5b505af11580156139d8573d6000803e3d6000fd5b505050505b50600101613916565b600082826040516020016139fb9291906155e7565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600060208210613a6257602082048401935060208281613a5e57613a5e615623565b0691505b508254600882021b602082900380841115613776576001850154600882021c82179150509392505050565b6000613ab9827f01ffc9a700000000000000000000000000000000000000000000000000000000613ace565b801561032657506113c9826001600160e01b03195b6040516001600160e01b031982166024820152600090819060440160408051601f19818403018152919052602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825192935060009283928392909183918a617530fa92503d91506000519050828015613b6f575060208210155b8015613b7b5750600081115b979650505050505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110613bc057613bc061536b565b60209081029190910101526000613bf87f7462776f726c6400000000000000000053797374656d486f6f6b7300000000008383613fa6565b90506115766134d38260008451613fe0565b60008160ff1682613c1b8560581c90565b1660ff1614905092915050565b60006060600080613c38866140dd565b90925090506001600160a01b038216613c555785610e6b87610d40565b80613c6457613c648689614195565b8615613ca8576dffffffffffffffffffffffffffff60801b8616616e7360f01b176000613c90826141ac565b9050613ca582613ca08b8461524a565b614225565b50505b6000613cb48760101b90565b71ffffffffffffffffffffffffffffffffffff191614613cdf57613cda888884886133f5565b613ceb565b613ceb888884886142a4565b90999098509650505050505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110613d3457613d3461536b565b60209081029190910101526000613bf87f746273746f726500000000000000000053746f7265486f6f6b730000000000008383613fa6565b8215613de65760208310613d9657602083048401935060208381613d9257613d92615623565b0692505b8215613de65760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411613dd7575050610b37565b50600194909401939182900391015b5b60208210613e085780518455600190930192601f1990910190602001613de7565b8115610b37576000600019600884021c8554835182191691161785555050505050565b60008282604051602001613e409291906155e7565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b60008383604051602001613e969291906155e7565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b6104a383838351613f128560200190565b613d6c565b60006020613f2683601f61524a565b613f309190615639565b613f3a908461524a565b90505b808310156104a35760008355600183019250613f3d565b6000613f608585614305565b90506000613f7d828560ff166028026038011c64ffffffffff1690565b90506107718686868460008888614318565b60608383836040516020016136fb9392919061565b565b6060611576613fb6858585613e81565b6000613fdb85613fc68989614305565b9060ff166028026038011c64ffffffffff1690565b6146c2565b600081831180613ff05750835182115b1561402d578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016103bc9392919061569a565b6020840161403b848261524a565b905060006140498585615381565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b6060600061290983601560006146e5565b6060816129098160156000614760565b600061409b8585614305565b905060006140b8828560ff166028026038011c64ffffffffff1690565b90506107718686866000858888614318565b61034f82826140d8856147b4565b613054565b604080516001808252818301909252600091829182916020808301908036833701905050905083816000815181106141175761411761536b565b6020908102919091010152600080806141707f7462776f726c6400000000000000000053797374656d73000000000000000000857e15020014010000000000000000000000000000000000000000000000000000614839565b5050602081015160349091015160609190911c9860f89190911c975095505050505050565b61419f8282614941565b61034f57610cc982610d40565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106141e5576141e561536b565b602090810291909101015260006115767f7462776f726c6400000000000000000042616c616e63657300000000000000008383630100080160dd1b612aac565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061425b5761425b61536b565b6020026020010181815250506104a37f7462776f726c6400000000000000000042616c616e636573000000000000000060001b8260008560405160200161139791815260200190565b60006060836001600160a01b03166142bd848888613f8f565b6040516142ca91906154a7565b600060405180830381855af49150503d806000811461345a576040519150601f19603f3d011682016040523d82523d6000602084013e61345f565b60006129096143148484613e2b565b5490565b613a3160f11b876001600160f01b0319161461434857613a3160f11b8788604051602001610eec91815260200190565b6000614363828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361437c9190615381565b614386919061524a565b90508082141580156143a857508161439e86886156bf565b64ffffffffff1614155b156143f8576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016103bc565b818664ffffffffff161115614449576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016103bc565b6000614456848984614977565b905060006144638b613cfa565b905060005b815181101561452e5760008282815181106144855761448561536b565b602002602001015190506144b16010826affffffffffffffffffffff1916613c0a90919063ffffffff16565b1561452557606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b81526004016144f297969594939291906156e4565b600060405180830381600087803b15801561450c57600080fd5b505af1158015614520573d6000803e3d6000fd5b505050505b50600101614468565b5064ffffffffff881660005b8a60ff168160ff16101561456d57614561878260ff166028026038011c64ffffffffff1690565b9091019060010161453a565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d6040516145a896959493929190615742565b60405180910390a2508284146145c95760006145c48c8c613e2b565b839055505b60006145d68c8c8c613e81565b90506145ea818a64ffffffffff1689613f01565b5060005b81518110156146b457600082828151811061460b5761460b61536b565b602002602001015190506146376020826affffffffffffffffffffff1916613c0a90919063ffffffff16565b156146ab57606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b815260040161467897969594939291906156e4565b600060405180830381600087803b15801561469257600080fd5b505af11580156146a6573d6000803e3d6000fd5b505050505b506001016145ee565b505050505050505050505050565b60405160208101601f19603f848401011660405282825261377685858584614a45565b606060006146f38560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161471957614719615623565b04905060405193506020840160208202810160405281855260005b82811015614754578451871c825293870193602090910190600101614734565b50505050509392505050565b825160609060006147718583615394565b9050604051925060208301601f19603f83860101166040528184526000602088015b84821015614754578051871b83529187019160019190910190602001614793565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161480357507e60030220202000000000000000000000000000000000000000000000000000919050565b6103266148307f746273746f72650000000000000000005461626c65730000000000000000000084614b11565b60206000613a3c565b606060006060600061484a856136ba565b9050614857878783614b2d565b93506000614864866128cb565b90508015614936576148768888614305565b935066ffffffffffffff841667ffffffffffffffff81111561489a5761489a614d68565b6040519080825280601f01601f1916602001820160405280156148c4576020820181803683370190505b5092506020830160005b828160ff1610156149335760006148e68b8b84613e81565b90506000614903888460ff166028026038011c64ffffffffff1690565b90506149128260008387614a45565b61491c818561524a565b93505050808061492b9061579e565b9150506148ce565b50505b505093509350939050565b6000614967616e7360f01b6dffffffffffffffffffffffffffff60801b85161783614b66565b8061290957506129098383614b66565b600064ffffffffff8211156149bb576040517f7149a3c1000000000000000000000000000000000000000000000000000000008152600481018390526024016103bc565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff168085106149ed57808503820191506149f5565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b8215614acc5760208310614a6f57602083048401935060208381614a6b57614a6b615623565b0692505b8215614acc576020839003600081841015614a925750600019600884021c614a9c565b50600019600882021c5b8554600886021b818451168219821617845250818411614abd575050610b37565b50600194909401939182900391015b5b60208210614aee5783548152600190930192601f1990910190602001614acd565b8115610b37576000600019600884021c8251865482191691161782525050505050565b60408051602081018490529081018290526000906060016139fb565b606081600003614b4c5750604080516020810190915260008152612909565b6000614b5885856139e6565b9050612ad9816000856146c2565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110614b9f57614b9f61536b565b602002602001018181525050826001600160a01b031660001b81600181518110614bcb57614bcb61536b565b60209081029190910101526000614c0b7f7462776f726c640000000000000000005265736f7572636541636365737300008383630101000160d81b612aac565b9050612ad98160f81c90565b600060208284031215614c2957600080fd5b81356001600160e01b03198116811461290957600080fd5b6001600160a01b03811681146109f057600080fd5b60008060408385031215614c6957600080fd5b823591506020830135614c7b81614c41565b809150509250929050565b60008083601f840112614c9857600080fd5b50813567ffffffffffffffff811115614cb057600080fd5b6020830191508360208260051b8501011115614ccb57600080fd5b9250929050565b60008060008060008060008060c0898b031215614cee57600080fd5b88359750602089013596506040890135955060608901359450608089013567ffffffffffffffff80821115614d2257600080fd5b614d2e8c838d01614c86565b909650945060a08b0135915080821115614d4757600080fd5b50614d548b828c01614c86565b999c989b5096995094979396929594505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715614da757614da7614d68565b604052919050565b600082601f830112614dc057600080fd5b813567ffffffffffffffff811115614dda57614dda614d68565b614ded6020601f19601f84011601614d7e565b818152846020838601011115614e0257600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215614e3457600080fd5b8335614e3f81614c41565b925060208401359150604084013567ffffffffffffffff811115614e6257600080fd5b614e6e86828701614daf565b9150509250925092565b60008060408385031215614e8b57600080fd5b82359150602083013567ffffffffffffffff811115614ea957600080fd5b614eb585828601614daf565b9150509250929050565b600080600060608486031215614ed457600080fd5b833592506020840135614ee681614c41565b915060408401358015158114614efb57600080fd5b809150509250925092565b803560ff811681146136b557600080fd5b600080600060608486031215614f2c57600080fd5b833592506020840135614f3e81614c41565b9150614f4c60408501614f06565b90509250925092565b600080600060608486031215614f6a57600080fd5b83359250602084013567ffffffffffffffff80821115614f8957600080fd5b614f9587838801614daf565b93506040860135915080821115614fab57600080fd5b50614e6e86828701614daf565b60008060408385031215614fcb57600080fd5b8235614fd681614c41565b9150602083013567ffffffffffffffff811115614ea957600080fd5b60006020828403121561500457600080fd5b5035919050565b60008060006060848603121561502057600080fd5b8335925060208401359150604084013567ffffffffffffffff811115614e6257600080fd5b60006020828403121561505757600080fd5b813561290981614c41565b60005b8381101561507d578181015183820152602001615065565b50506000910152565b6000815180845261509e816020860160208601615062565b601f01601f19169290920160200192915050565b8281526040602082015260006115766040830184615086565b600067ffffffffffffffff808411156150e6576150e6614d68565b8360051b60206150f860208301614d7e565b8681529185019160208101903684111561511157600080fd5b865b848110156151455780358681111561512b5760008081fd5b61513736828b01614daf565b845250918301918301615113565b50979650505050505050565b6001600160f01b031984168152826020820152606060408201526000612ad96060830184615086565b6000835161518c818460208801615062565b7f5f5f00000000000000000000000000000000000000000000000000000000000090830190815283516151c6816002840160208801615062565b01600201949350505050565b8051602080830151919081101561296a5760001960209190910360031b1b16919050565b6020815260006129096020830184615086565b60408152600061521c6040830185615086565b90506001600160a01b03831660208301529392505050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561032657610326615234565b6001600160f01b03198416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516152a6816003860160208901615062565b8084019050816003820152845191506152c6826004830160208801615062565b0160040195945050505050565b634e487b7160e01b600052602160045260246000fd5b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b8281101561535e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc088860301845261534c858351615086565b94509285019290850190600101615312565b5092979650505050505050565b634e487b7160e01b600052603260045260246000fd5b8181038181111561032657610326615234565b808202811582820484141761032657610326615234565b6001600160a01b0384168152826020820152606060408201526000612ad96060830184615086565b60008151808452602080850194506020840160005b83811015615404578151875295820195908201906001016153e8565b509495945050505050565b60808152600061542260808301876153d3565b82810360208401526154348187615086565b90508460408401528281036060840152613b7b8185615086565b86815260c06020820152600061546760c08301886153d3565b82810360408401526154798188615086565b905085606084015282810360808401526154938186615086565b9150508260a0830152979650505050505050565b600082516154b9818460208701615062565b9190910192915050565b60208152600061290960208301846153d3565b8381526060602082015260006154ef60608301856153d3565b9050826040830152949350505050565b82815260406020820152600061157660408301846153d3565b84815260806020820152600061553160808301866153d3565b60ff851660408401528281036060840152613b7b8185615086565b6000835161555e818460208801615062565b835190830190615572818360208801615062565b01949350505050565b60608152600061558e60608301866153d3565b65ffffffffffff8516602084015282810360408401526114ea8185615086565b8481526080602082015260006155c760808301866153d3565b65ffffffffffff851660408401528281036060840152613b7b8185615086565b8281526000602080830184516020860160005b82811015615616578151845292840192908401906001016155fa565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b60008261565657634e487b7160e01b600052601260045260246000fd5b500490565b6000845161566d818460208901615062565b60609490941b6bffffffffffffffffffffffff191691909301908152601481019190915260340192915050565b6060815260006156ad6060830186615086565b60208301949094525060400152919050565b64ffffffffff8181168382160190808211156156dd576156dd615234565b5092915050565b87815260e0602082015260006156fd60e08301896153d3565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c08401526157348185615086565b9a9950505050505050505050565b60c08152600061575560c08301896153d3565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a08401526157918185615086565b9998505050505050505050565b600060ff821660ff81036157b4576157b4615234565b6001019291505056fea164736f6c6343000818000a","sourceMap":"740:212:89:-:0;;;981:4:88;938:48;;740:212:89;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106101365760003560e01c80636548a90a116100b2578063b29e408911610081578063cdc938c511610066578063cdc938c514610295578063d5f8337f146102a8578063e1af802c146102bb57600080fd5b8063b29e40891461026f578063bfdfaff71461028257600080fd5b80636548a90a146102235780638da798da14610236578063a92813ad14610249578063aa66e9c81461025c57600080fd5b80631d2257ba116101095780633350b6a9116100ee5780633350b6a9146101ea57806345ec9354146101fd578063530f4b601461021057600080fd5b80631d2257ba146101ab57806326d98102146101be57600080fd5b806301ffc9a71461013b57806305609129146101635780630ba51f4914610178578063119df25f1461018b575b600080fd5b61014e610149366004614c17565b6102c3565b60405190151581526020015b60405180910390f35b610176610171366004614c56565b61032c565b005b610176610186366004614cd2565b610353565b61019361041e565b6040516001600160a01b03909116815260200161015a565b6101766101b9366004614e1f565b61042d565b6101d16101cc366004614e78565b6104a8565b6040516001600160e01b0319909116815260200161015a565b6101766101f8366004614ebf565b6105fe565b604051601f19360135815260200161015a565b61017661021e366004614f17565b610779565b6101d1610231366004614f55565b6107e5565b610176610244366004614fb8565b6108c0565b610176610257366004614c56565b610982565b61017661026a366004614ff2565b6109c1565b61017661027d366004614ff2565b6109f3565b61017661029036600461500b565b610a88565b6101766102a3366004615045565b610b3d565b6101766102b6366004614f17565b610b56565b610193610c17565b60006001600160e01b031982167fb5dee12700000000000000000000000000000000000000000000000000000000148061032657506001600160e01b031982167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b610334610c21565b6103458261034061041e565b610c85565b61034f8282610cfe565b5050565b61035b610c21565b600061036689610d29565b6fffffffffffffffffffffffffffffffff1916036103c5578761038889610d40565b6040517fe4ac069e0000000000000000000000000000000000000000000000000000000081526004016103bc9291906150b2565b60405180910390fd5b6103e8616e7360f01b6dffffffffffffffffffffffffffff60801b8a1617610e54565b6103f48861034061041e565b61041488888888610405888a6150cb565b61040f87896150cb565b610e9f565b5050505050505050565b60006104286112af565b905090565b610435610c21565b61044761044061041e565b84846112e1565b610450826113b4565b156104a3576000610460836113d0565b905061048c817f1a86b5500000000000000000000000000000000000000000000000000000000061146c565b6104a061049761041e565b848460006114c7565b50505b505050565b60006104b2610c21565b61737960f01b836001600160f01b0319161461050d5761737960f01b836104d885610d40565b6040517f5c30fb6f0000000000000000000000000000000000000000000000000000000081526004016103bc93929190615151565b61051683610e54565b6105228361034061041e565b600061054b6105318560101b90565b71ffffffffffffffffffffffffffffffffffff19166114f4565b90506000818460405160200161056292919061517a565b60405160208183030381529060405290508080519060200120925060006105888461157e565b905080156105ce576040517f3d1d1ae20000000000000000000000000000000000000000000000000000000081526001600160e01b0319851660048201526024016103bc565b845160208601206105e085888361162e565b6105ea81876116f9565b6105f485846116f9565b5050505092915050565b610606610c21565b61737960f01b836001600160f01b0319161461062c5761737960f01b836104d885610d40565b6dffffffffffffffffffffffffffff60801b8316616e7360f01b1761065081610e54565b61065c8161034061041e565b610686837fb5dee1270000000000000000000000000000000000000000000000000000000061146c565b600061069185610d29565b6fffffffffffffffffffffffffffffffff1916036106b3578361038885610d40565b60006106be846117c2565b905080158015906106cf5750848114155b15610711576040517fc0b707410000000000000000000000000000000000000000000000000000000081526001600160a01b03851660048201526024016103bc565b600061071c866113d0565b90506001600160a01b038116156107455761073681611847565b61074083826118c6565b610750565b610750866001611964565b61075b868686611a05565b6107658587611aa8565b61077183866001611b33565b505050505050565b610781610c21565b6107ab827f1873396a0000000000000000000000000000000000000000000000000000000061146c565b6107ce616e7360f01b6dffffffffffffffffffffffffffff60801b851617610e54565b6107da8361034061041e565b6104a3838383611be2565b60006107ef610c21565b60408051616e7360f01b602082015260006022820181905260308201526108319101604051602081830303815290604052610829906151d2565b61034061041e565b8280519060200120905060008280519060200120905060006108528361157e565b90508015610898576040517f3d1d1ae20000000000000000000000000000000000000000000000000000000081526001600160e01b0319841660048201526024016103bc565b6108a383878461162e565b6108ad82856116f9565b6108b783866116f9565b50509392505050565b6108c8610c21565b6108f2827f6fdd1c800000000000000000000000000000000000000000000000000000000061146c565b61096e6108fd61041e565b6000848460405160240161091191906151f6565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f13861fb500000000000000000000000000000000000000000000000000000000179052611ca5565b5061034f8282805190602001206001611cb6565b61098a610c21565b6109968261034061041e565b61034f7f7462776f726c6400000000000000000053797374656d486f6f6b7300000000008383611d65565b6109c9610c21565b6109d281611e78565b6109db81610e54565b6109e78161034061041e565b6109f081611ea9565b50565b6109fb610c21565b610a0481611e78565b610a0d81611f14565b610a1681612106565b15610a595780610a2582610d40565b6040517f0dc28f6a0000000000000000000000000000000000000000000000000000000081526004016103bc9291906150b2565b610a64816001611964565b610a7581610a7061041e565b61218b565b6109f081610a8161041e565b6001611b33565b610a90610c21565b610a9983611e78565b610aa2826113b4565b610ad8576040517f71ee9e8100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610ae48361034061041e565b6000610aef836113d0565b9050610b1b817f1a86b5500000000000000000000000000000000000000000000000000000000061146c565b610b258484612255565b815115610b37576104a061049761041e565b50505050565b610b45610c21565b6109f0610b5061041e565b826122d4565b610b5e610c21565b61737960f01b836001600160f01b03191614610b845761737960f01b836104d885610d40565b610bae827f540fbfa80000000000000000000000000000000000000000000000000000000061146c565b610bb783610e54565b610bda616e7360f01b6dffffffffffffffffffffffffffff60801b851617610e54565b610be68361034061041e565b6104a3836bffffffffffffffffffffffff19606085901b166bff0000000000000000000000605885901b1617612376565b600061042861241b565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610c83576040517f9f03a02600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b6001600160a01b038116610cb2616e7360f01b6dffffffffffffffffffffffffffff60801b851617612425565b6001600160a01b03161461034f57610cc982610d40565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016103bc929190615209565b61034f7f746273746f726500000000000000000053746f7265486f6f6b730000000000008383611d65565b6000610d376070601061524a565b9190911b919050565b606081601081901b6000610d5383610d29565b90508271ffffffffffffffffffffffffffffffffffff19831615610d9457610d8f71ffffffffffffffffffffffffffffffffffff1984166114f4565b610dcb565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff19831615610df257610ded836114f4565b610e29565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001610e3b9392919061525d565b6040516020818303038152906040529350505050919050565b610e5d81612106565b6109f05780610e6b82610d40565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016103bc9291906150b2565b613a3160f11b866001600160f01b03191614801590610ecd5750611bdd60f21b866001600160f01b03191614155b15610f2e57613a3160f11b8687604051602001610eec91815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526103bc939291600401615151565b610f37856124b6565b610f428460016126fd565b610f4d8360006126fd565b60e084901c60e885901c0160ff16825114610fad5760e084901c60e885901c0160ff1682516040517f0f72cb98000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016103bc565b60e085901c60e886901c0160ff1681511461100d5760e085901c60e886901c0160ff1681516040517f7dec4c00000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016103bc565b60e085901c60e886901c0160ff1660e084901c60e885901c0160ff16146110855760e085901c60e886901c0160ff1660e084901c60e885901c0160ff166040517ff29d4d88000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016103bc565b61108e85612899565b61109784612899565b146110e9576110a585612899565b6110ae84612899565b6040517f65cc0adf000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016103bc565b6110f2856128cb565b6110fb846128cb565b1461114d57611109856128cb565b611112846128cb565b6040517fedea9587000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016103bc565b60005b61115986612899565b8110156111f45761118361116d85836128e8565b60c581111561117e5761117e6152d3565b612910565b6008601b8390030287901c60ff16146111ec576008601b8290030286901c60ff166111b161116d86846128e8565b6040517f254c7db4000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016103bc565b600101611150565b506111fe86612106565b1561125857858660405160200161121791815260200190565b60408051601f19818403018152908290527fdfaaf9cf0000000000000000000000000000000000000000000000000000000082526103bc92916004016150b2565b6112a4868686868660405160200161127091906152e9565b6040516020818303038152906040528660405160200161129091906152e9565b604051602081830303815290604052612970565b610771866001611964565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806112de5750335b90565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b816000815181106113225761132261536b565b602002602001018181525050826001600160a01b031660001b8160018151811061134e5761134e61536b565b602002602001018181525050610b377f7462776f726c640000000000000000005573657244656c65676174696f6e436f60001b8260008560405160200161139791815260200190565b60408051601f19818403018152919052630100080160dd1b612a37565b6000811515801561032657506113c982612a4c565b1592915050565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106114095761140961536b565b602090810291909101015260006114617f7462776f726c6400000000000000000053797374656d7300000000000000000083837e15020014010000000000000000000000000000000000000000000000000000612aac565b60601c949350505050565b6114768282612ae2565b61034f576040517f74b5e6ff0000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526001600160e01b0319821660248201526044016103bc565b60606000806114d887878787612afe565b91509150816114ea576114ea81612cce565b9695505050505050565b606060005b601081101561154a576fffffffffffffffffffffffffffffffff198316600882021b7fff00000000000000000000000000000000000000000000000000000000000000161561154a576001016114f9565b604080516fffffffffffffffffffffffffffffffff198516602082015281516030909101909152818152805b949350505050565b60408051600180825281830190925260009182919060208083019080368337019050509050827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916816000815181106115d6576115d661536b565b602090810291909101015260006115767f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f7283837e24020020040000000000000000000000000000000000000000000000000000612aac565b600061163a8383612cd6565b60408051600180825281830190925291925060009160609183919060208083019080368337019050509050867bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916816000815181106116985761169861536b565b60209081029190910101526116f07f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72828686867e24020020040000000000000000000000000000000000000000000000000000612d15565b50505050505050565b606060006117068361301b565b905060006117138461302b565b6040805160018082528183019092529192506000919060208083019080368337019050509050857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168160008151811061176c5761176c61536b565b60209081029190910101526107717f6f74776f726c6400000000000000000046756e6374696f6e5369676e61747572828686867c0100000000000000000000000000000000000000000000000000000000612d15565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b816000815181106118075761180761536b565b602090810291909101015260006115767f7462776f726c6400000000000000000053797374656d526567697374727900008383630100080160dd1b612aac565b60408051600180825281830190925260009160208083019080368337019050509050816001600160a01b031660001b816000815181106118895761188961536b565b602090810291909101015261034f7f7462776f726c6400000000000000000053797374656d5265676973747279000082630100080160dd1b613054565b60408051600280825260608201835260009260208301908036833701905050905082816000815181106118fb576118fb61536b565b602002602001018181525050816001600160a01b031660001b816001815181106119275761192761536b565b60209081029190910101526104a37f7462776f726c640000000000000000005265736f75726365416363657373000082630101000160d81b613054565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061199a5761199a61536b565b6020026020010181815250506104a37f746273746f72650000000000000000005265736f75726365496473000000000060001b826000856040516020016119e891151560f81b815260010190565b60408051601f19818403018152919052630101000160d81b612a37565b6000611a118383613320565b604080516001808252818301909252919250600091606091839190602080830190803683370190505090508681600081518110611a5057611a5061536b565b60209081029190910101526116f07f7462776f726c6400000000000000000053797374656d73000000000000000000828686867e15020014010000000000000000000000000000000000000000000000000000612d15565b60408051600180825281830190925260009160208083019080368337019050509050826001600160a01b031660001b81600081518110611aea57611aea61536b565b6020026020010181815250506104a37f7462776f726c6400000000000000000053797374656d5265676973747279000060001b8260008560405160200161139791815260200190565b6040805160028082526060820183526000926020830190803683370190505090508381600081518110611b6857611b6861536b565b602002602001018181525050826001600160a01b031660001b81600181518110611b9457611b9461536b565b602002602001018181525050610b377f7462776f726c640000000000000000005265736f75726365416363657373000060001b826000856040516020016119e891151560f81b815260010190565b613a3160f11b836001600160f01b03191614611c1257613a3160f11b8384604051602001610eec91815260200190565b611c1b83612106565b611c74578283604051602001611c3391815260200190565b60408051601f19818403018152908290527f41e713ad0000000000000000000000000000000000000000000000000000000082526103bc92916004016150b2565b6104a3836bffffffffffffffffffffffff19606085901b166bff0000000000000000000000605885901b1617613350565b60606000806114d8878787876133f5565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110611cf757611cf761536b565b6020026020010181815250508281600181518110611d1757611d1761536b565b602002602001018181525050610b377f7462776f726c64000000000000000000496e7374616c6c65644d6f64756c657360001b826000856040516020016119e891151560f81b815260010190565b6000611d71848461346d565b90506000815167ffffffffffffffff811115611d8f57611d8f614d68565b604051908082528060200260200182016040528015611db8578160200160208202803683370190505b5090506000805b8351811015611e6957846001600160a01b0316611e03858381518110611de757611de761536b565b60200260200101516affffffffffffffffffffff191660601c90565b6001600160a01b031614611e6157838181518110611e2357611e2361536b565b6020026020010151838381518110611e3d57611e3d61536b565b6affffffffffffffffffffff19909216602092830291909101909101526001909101905b600101611dbf565b508082526107718686846134d8565b616e7360f01b6dffffffffffffffffffffffffffff60801b82161781146109f057616e7360f01b816104d883610d40565b604080516001808252818301909252600091602080830190803683370190505090508181600081518110611edf57611edf61536b565b602090810291909101015261034f7f7462776f726c640000000000000000004e616d65737061636544656c656761748261352f565b6000611f208260101b90565b90506000611f4271ffffffffffffffffffffffffffffffffffff1983166114f4565b80519091508015610b3757611f6482611f5c600184615381565b016020015190565b7fff00000000000000000000000000000000000000000000000000000000000000167f5f0000000000000000000000000000000000000000000000000000000000000003611ff5576040517f0efb4b8500000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff19841660048201526024016103bc565b60005b612003600183615381565b8110156104a057602081840101517effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f5f000000000000000000000000000000000000000000000000000000000000001480156120b0575061206b83611f5c83600161524a565b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f5f00000000000000000000000000000000000000000000000000000000000000145b156120fe576040517f0efb4b8500000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff19851660048201526024016103bc565b600101611ff8565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061213f5761213f61536b565b6020908102919091010152600061217f7f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b612aac565b90506115768160f81c90565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106121c1576121c161536b565b6020026020010181815250506104a37f7462776f726c640000000000000000004e616d6573706163654f776e6572000060001b82600085604051602001612220919060609190911b6bffffffffffffffffffffffff1916815260140190565b60408051601f198184030181529190527e14010014000000000000000000000000000000000000000000000000000000612a37565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061228b5761228b61536b565b6020026020010181815250506104a37f7462776f726c640000000000000000004e616d65737061636544656c6567617460001b8260008560405160200161139791815260200190565b604080516002808252606082018352600092602083019080368337019050509050826001600160a01b031660001b816000815181106123155761231561536b565b602002602001018181525050816001600160a01b031660001b816001815181106123415761234161536b565b60209081029190910101526104a37f7462776f726c640000000000000000005573657244656c65676174696f6e436f8261352f565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106123ac576123ac61536b565b6020026020010181815250506104a37f7462776f726c6400000000000000000053797374656d486f6f6b73000000000060001b8260008560405160200161240791906affffffffffffffffffffff1991909116815260150190565b6040516020818303038152906040526135ca565b600061042861367b565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061245e5761245e61536b565b602090810291909101015260006114617f7462776f726c640000000000000000004e616d6573706163654f776e6572000083837e14010014000000000000000000000000000000000000000000000000000000612aac565b806124ed576040517fa019e4da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006124f8826128cb565b9050600581111561253f576040517f6793df6200000000000000000000000000000000000000000000000000000000815260048101829052600560248201526044016103bc565b600061254a83612899565b90506000612558838361524a565b9050601c81111561259f576040517fecd893b900000000000000000000000000000000000000000000000000000000815260048101829052601c60248201526044016103bc565b6000805b8381101561264a5760ff601b82900360080287901c1660008190036125f7576040517f53b2dd05000000000000000000000000000000000000000000000000000000008152600481018390526024016103bc565b6020811115612635576040517f7237f237000000000000000000000000000000000000000000000000000000008152600481018390526024016103bc565b61263f818461524a565b9250506001016125a3565b50612654856136ba565b81146126a057612663856136ba565b6040517feba964de0000000000000000000000000000000000000000000000000000000081526004810191909152602481018290526044016103bc565b825b601c8110156107715760ff601b82900360080287901c1680156126f4576040517f1d8d44db000000000000000000000000000000000000000000000000000000008152600481018390526024016103bc565b506001016126a2565b80158015612709575081155b1561272a5760405163d498615960e01b8152600060048201526024016103bc565b6000612735836128cb565b9050600581111561275c5760405163d498615960e01b8152600481018290526024016103bc565b600061276784612899565b90506000612775838361524a565b9050601c81111561279c5760405163d498615960e01b8152600481018290526024016103bc565b6000805b838110156128085760006127b761116d89846128e8565b9050806000036127f3576040517ff44b422000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6127fd818461524a565b9250506001016127a0565b50612812866136ba565b811461283d57612821866136ba565b60405163d498615960e01b81526004016103bc91815260200190565b825b828110156116f057600061285661116d89846128e8565b90508015612890576040517ff44b422000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060010161283f565b6000600860016128ab60026020615381565b6128b59190615381565b6128bf9190615394565b8260ff911c1692915050565b600060086001806128de60026020615381565b6128ab9190615381565b6000601b8290036008028360ff911c1660c5811115612909576129096152d3565b9392505050565b6000808260c5811115612925576129256152d3565b60ff169050606181101561293f57601f1660010192915050565b60618360c5811115612953576129536152d3565b036129615750601492915050565b50600092915050565b50919050565b600061297d8686866136dd565b9050600061298b8484613713565b905060006129998585613730565b604080516001808252818301909252919250600091906020808301908036833701905050905089816000815181106129d3576129d361536b565b6020908102919091010152612a2b7f746273746f72650000000000000000005461626c657300000000000000000000828686867e60030220202000000000000000000000000000000000000000000000000000612d15565b50505050505050505050565b6104a08585612a468487613745565b8561377e565b6040805161737960f01b60208201526000602282018190527f756e6c696d69746564000000000000000000000000000000000000000000000060308301529101604051602081830303815290604052612aa4906151d2565b909114919050565b6000612ad9612abb86866139e6565b60ff858116601b0360080285901c16612ad48587613745565b613a3c565b95945050505050565b6000612aed83613a8d565b801561290957506129098383613ace565b600060606000612b0d86613b86565b905060005b8151811015612be0576000828281518110612b2f57612b2f61536b565b60200260200101519050612b5b6001826affffffffffffffffffffff1916613c0a90919063ffffffff16565b15612bd7576040517fc3323031000000000000000000000000000000000000000000000000000000008152606082901c9063c332303190612ba4908c908c908c906004016153ab565b600060405180830381600087803b158015612bbe57600080fd5b505af1158015612bd2573d6000803e3d6000fd5b505050505b50600101612b12565b50612bed87858888613c28565b909350915060005b8151811015612cc3576000828281518110612c1257612c1261536b565b60200260200101519050612c3e6002826affffffffffffffffffffff1916613c0a90919063ffffffff16565b15612cba576040517f973d8f99000000000000000000000000000000000000000000000000000000008152606082901c9063973d8f9990612c87908c908c908c906004016153ab565b600060405180830381600087803b158015612ca157600080fd5b505af1158015612cb5573d6000803e3d6000fd5b505050505b50600101612bf5565b505094509492505050565b805160208201fd5b60608282604051602001612cfe9291909182526001600160e01b031916602082015260240190565b604051602081830303815290604052905092915050565b611bdd60f21b866001600160f01b03191603612d6e57857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a986868686604051612d61949392919061540f565b60405180910390a2610771565b6000612d7987613cfa565b905060005b8151811015612e52576000828281518110612d9b57612d9b61536b565b60200260200101519050612dc76001826affffffffffffffffffffff1916613c0a90919063ffffffff16565b15612e49576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90612e16908c908c908c908c908c908c9060040161544e565b600060405180830381600087803b158015612e3057600080fd5b505af1158015612e44573d6000803e3d6000fd5b505050505b50600101612d7e565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a987878787604051612e89949392919061540f565b60405180910390a26000612e9d88886139e6565b90506000602087019050612eb5826000895184613d6c565b6000612ec0856128cb565b1115612f44576000612ed28a8a613e2b565b878155905060208601915060008060005b612eec886128cb565b8160ff161015612f3f57612f018d8d83613e81565b9250612f1c8a8260ff166028026038011c64ffffffffff1690565b9150612f2b8360008488613d6c565b612f35828661524a565b9450600101612ee3565b505050505b60005b8351811015612a2b576000848281518110612f6457612f6461536b565b60200260200101519050612f906002826affffffffffffffffffffff1916613c0a90919063ffffffff16565b15613012576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90612fdf908e908e908e908e908e908e9060040161544e565b600060405180830381600087803b158015612ff957600080fd5b505af115801561300d573d6000803e3d6000fd5b505050505b50600101612f47565b60006103268251603881901b1790565b60608160405160200161303e91906154a7565b6040516020818303038152906040529050919050565b611bdd60f21b836001600160f01b031916036130a757827f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d078360405161309a91906154c3565b60405180910390a2505050565b60006130b284613cfa565b905060005b81518110156131855760008282815181106130d4576130d461536b565b602002602001015190506131006040826affffffffffffffffffffff1916613c0a90919063ffffffff16565b1561317c576040517f9faeaf45000000000000000000000000000000000000000000000000000000008152606082901c90639faeaf4590613149908990899089906004016154d6565b600060405180830381600087803b15801561316357600080fd5b505af1158015613177573d6000803e3d6000fd5b505050505b506001016130b7565b50837f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d07846040516131b691906154c3565b60405180910390a260006131ca85856139e6565b90506132238160006131db866136ba565b67ffffffffffffffff8111156131f3576131f3614d68565b6040519080825280601f01601f19166020018201604052801561321d576020820181803683370190505b50613f01565b600061322e846128cb565b111561324f5760006132408686613e2b565b905061324d816020613f17565b505b60005b825181101561077157600083828151811061326f5761326f61536b565b6020026020010151905061329b6080826affffffffffffffffffffff1916613c0a90919063ffffffff16565b15613317576040517f83b5c95b000000000000000000000000000000000000000000000000000000008152606082901c906383b5c95b906132e4908a908a908a906004016154d6565b600060405180830381600087803b1580156132fe57600080fd5b505af1158015613312573d6000803e3d6000fd5b505050505b50600101613252565b604051606083811b6bffffffffffffffffffffffff1916602083015282151560f81b603483015290603501612cfe565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106133865761338661536b565b6020026020010181815250506104a37f746273746f726500000000000000000053746f7265486f6f6b7300000000000060001b826000856040516020016133e191906affffffffffffffffffffff1991909116815260150190565b604051602081830303815290604052613f54565b60006060836001600160a01b03166000613410858989613f8f565b60405161341d91906154a7565b60006040518083038185875af1925050503d806000811461345a576040519150601f19603f3d011682016040523d82523d6000602084013e61345f565b606091505b509097909650945050505050565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106134a7576134a761536b565b60200260200101818152505060006134c185836000613fa6565b9050612ad96134d38260008451613fe0565b61406e565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061350e5761350e61536b565b602002602001018181525050610b378482600061352a8661407f565b61408f565b600061353961367b565b9050306001600160a01b03821603613555576104a383836140ca565b6040517f505a181d0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063505a181d9061359c90869086906004016154ff565b600060405180830381600087803b1580156135b657600080fd5b505af11580156116f0573d6000803e3d6000fd5b60006135d461367b565b9050306001600160a01b038216036135f7576135f285858585613f54565b6104a0565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f326290613642908890889088908890600401615518565b600060405180830381600087803b15801561365c57600080fd5b505af1158015613670573d6000803e3d6000fd5b505050505050505050565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b0316806136b5573391505090565b919050565b600060086136ca60026020615381565b6136d49190615394565b9190911c919050565b60408051602081018590529081018390526060818101839052906080015b60405160208183030381529060405290509392505050565b8151815160009181810160389190911b1760609190911b17612909565b60608282604051602001612cfe92919061554c565b600080805b8360ff168110156137765761376c60ff601b83900360080287901c168361524a565b915060010161374a565b509392505050565b611bdd60f21b846001600160f01b031916036137d557837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8484846040516137c89392919061557b565b60405180910390a2610b37565b60006137e185856139e6565b905060006137ee86613cfa565b905060005b81518110156138c35760008282815181106138105761381061536b565b6020026020010151905061383c6004826affffffffffffffffffffff1916613c0a90919063ffffffff16565b156138ba576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90613887908b908b908b908b906004016155ae565b600060405180830381600087803b1580156138a157600080fd5b505af11580156138b5573d6000803e3d6000fd5b505050505b506001016137f3565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8686866040516138f89392919061557b565b60405180910390a2613913828565ffffffffffff1685613f01565b60005b81518110156116f05760008282815181106139335761393361536b565b6020026020010151905061395f6008826affffffffffffffffffffff1916613c0a90919063ffffffff16565b156139dd576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba8721906139aa908b908b908b908b906004016155ae565b600060405180830381600087803b1580156139c457600080fd5b505af11580156139d8573d6000803e3d6000fd5b505050505b50600101613916565b600082826040516020016139fb9291906155e7565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600060208210613a6257602082048401935060208281613a5e57613a5e615623565b0691505b508254600882021b602082900380841115613776576001850154600882021c82179150509392505050565b6000613ab9827f01ffc9a700000000000000000000000000000000000000000000000000000000613ace565b801561032657506113c9826001600160e01b03195b6040516001600160e01b031982166024820152600090819060440160408051601f19818403018152919052602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825192935060009283928392909183918a617530fa92503d91506000519050828015613b6f575060208210155b8015613b7b5750600081115b979650505050505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110613bc057613bc061536b565b60209081029190910101526000613bf87f7462776f726c6400000000000000000053797374656d486f6f6b7300000000008383613fa6565b90506115766134d38260008451613fe0565b60008160ff1682613c1b8560581c90565b1660ff1614905092915050565b60006060600080613c38866140dd565b90925090506001600160a01b038216613c555785610e6b87610d40565b80613c6457613c648689614195565b8615613ca8576dffffffffffffffffffffffffffff60801b8616616e7360f01b176000613c90826141ac565b9050613ca582613ca08b8461524a565b614225565b50505b6000613cb48760101b90565b71ffffffffffffffffffffffffffffffffffff191614613cdf57613cda888884886133f5565b613ceb565b613ceb888884886142a4565b90999098509650505050505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110613d3457613d3461536b565b60209081029190910101526000613bf87f746273746f726500000000000000000053746f7265486f6f6b730000000000008383613fa6565b8215613de65760208310613d9657602083048401935060208381613d9257613d92615623565b0692505b8215613de65760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411613dd7575050610b37565b50600194909401939182900391015b5b60208210613e085780518455600190930192601f1990910190602001613de7565b8115610b37576000600019600884021c8554835182191691161785555050505050565b60008282604051602001613e409291906155e7565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b60008383604051602001613e969291906155e7565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b6104a383838351613f128560200190565b613d6c565b60006020613f2683601f61524a565b613f309190615639565b613f3a908461524a565b90505b808310156104a35760008355600183019250613f3d565b6000613f608585614305565b90506000613f7d828560ff166028026038011c64ffffffffff1690565b90506107718686868460008888614318565b60608383836040516020016136fb9392919061565b565b6060611576613fb6858585613e81565b6000613fdb85613fc68989614305565b9060ff166028026038011c64ffffffffff1690565b6146c2565b600081831180613ff05750835182115b1561402d578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016103bc9392919061569a565b6020840161403b848261524a565b905060006140498585615381565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b6060600061290983601560006146e5565b6060816129098160156000614760565b600061409b8585614305565b905060006140b8828560ff166028026038011c64ffffffffff1690565b90506107718686866000858888614318565b61034f82826140d8856147b4565b613054565b604080516001808252818301909252600091829182916020808301908036833701905050905083816000815181106141175761411761536b565b6020908102919091010152600080806141707f7462776f726c6400000000000000000053797374656d73000000000000000000857e15020014010000000000000000000000000000000000000000000000000000614839565b5050602081015160349091015160609190911c9860f89190911c975095505050505050565b61419f8282614941565b61034f57610cc982610d40565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106141e5576141e561536b565b602090810291909101015260006115767f7462776f726c6400000000000000000042616c616e63657300000000000000008383630100080160dd1b612aac565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061425b5761425b61536b565b6020026020010181815250506104a37f7462776f726c6400000000000000000042616c616e636573000000000000000060001b8260008560405160200161139791815260200190565b60006060836001600160a01b03166142bd848888613f8f565b6040516142ca91906154a7565b600060405180830381855af49150503d806000811461345a576040519150601f19603f3d011682016040523d82523d6000602084013e61345f565b60006129096143148484613e2b565b5490565b613a3160f11b876001600160f01b0319161461434857613a3160f11b8788604051602001610eec91815260200190565b6000614363828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361437c9190615381565b614386919061524a565b90508082141580156143a857508161439e86886156bf565b64ffffffffff1614155b156143f8576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016103bc565b818664ffffffffff161115614449576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016103bc565b6000614456848984614977565b905060006144638b613cfa565b905060005b815181101561452e5760008282815181106144855761448561536b565b602002602001015190506144b16010826affffffffffffffffffffff1916613c0a90919063ffffffff16565b1561452557606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b81526004016144f297969594939291906156e4565b600060405180830381600087803b15801561450c57600080fd5b505af1158015614520573d6000803e3d6000fd5b505050505b50600101614468565b5064ffffffffff881660005b8a60ff168160ff16101561456d57614561878260ff166028026038011c64ffffffffff1690565b9091019060010161453a565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d6040516145a896959493929190615742565b60405180910390a2508284146145c95760006145c48c8c613e2b565b839055505b60006145d68c8c8c613e81565b90506145ea818a64ffffffffff1689613f01565b5060005b81518110156146b457600082828151811061460b5761460b61536b565b602002602001015190506146376020826affffffffffffffffffffff1916613c0a90919063ffffffff16565b156146ab57606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b815260040161467897969594939291906156e4565b600060405180830381600087803b15801561469257600080fd5b505af11580156146a6573d6000803e3d6000fd5b505050505b506001016145ee565b505050505050505050505050565b60405160208101601f19603f848401011660405282825261377685858584614a45565b606060006146f38560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161471957614719615623565b04905060405193506020840160208202810160405281855260005b82811015614754578451871c825293870193602090910190600101614734565b50505050509392505050565b825160609060006147718583615394565b9050604051925060208301601f19603f83860101166040528184526000602088015b84821015614754578051871b83529187019160019190910190602001614793565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161480357507e60030220202000000000000000000000000000000000000000000000000000919050565b6103266148307f746273746f72650000000000000000005461626c65730000000000000000000084614b11565b60206000613a3c565b606060006060600061484a856136ba565b9050614857878783614b2d565b93506000614864866128cb565b90508015614936576148768888614305565b935066ffffffffffffff841667ffffffffffffffff81111561489a5761489a614d68565b6040519080825280601f01601f1916602001820160405280156148c4576020820181803683370190505b5092506020830160005b828160ff1610156149335760006148e68b8b84613e81565b90506000614903888460ff166028026038011c64ffffffffff1690565b90506149128260008387614a45565b61491c818561524a565b93505050808061492b9061579e565b9150506148ce565b50505b505093509350939050565b6000614967616e7360f01b6dffffffffffffffffffffffffffff60801b85161783614b66565b8061290957506129098383614b66565b600064ffffffffff8211156149bb576040517f7149a3c1000000000000000000000000000000000000000000000000000000008152600481018390526024016103bc565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff168085106149ed57808503820191506149f5565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b8215614acc5760208310614a6f57602083048401935060208381614a6b57614a6b615623565b0692505b8215614acc576020839003600081841015614a925750600019600884021c614a9c565b50600019600882021c5b8554600886021b818451168219821617845250818411614abd575050610b37565b50600194909401939182900391015b5b60208210614aee5783548152600190930192601f1990910190602001614acd565b8115610b37576000600019600884021c8251865482191691161782525050505050565b60408051602081018490529081018290526000906060016139fb565b606081600003614b4c5750604080516020810190915260008152612909565b6000614b5885856139e6565b9050612ad9816000856146c2565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110614b9f57614b9f61536b565b602002602001018181525050826001600160a01b031660001b81600181518110614bcb57614bcb61536b565b60209081029190910101526000614c0b7f7462776f726c640000000000000000005265736f7572636541636365737300008383630101000160d81b612aac565b9050612ad98160f81c90565b600060208284031215614c2957600080fd5b81356001600160e01b03198116811461290957600080fd5b6001600160a01b03811681146109f057600080fd5b60008060408385031215614c6957600080fd5b823591506020830135614c7b81614c41565b809150509250929050565b60008083601f840112614c9857600080fd5b50813567ffffffffffffffff811115614cb057600080fd5b6020830191508360208260051b8501011115614ccb57600080fd5b9250929050565b60008060008060008060008060c0898b031215614cee57600080fd5b88359750602089013596506040890135955060608901359450608089013567ffffffffffffffff80821115614d2257600080fd5b614d2e8c838d01614c86565b909650945060a08b0135915080821115614d4757600080fd5b50614d548b828c01614c86565b999c989b5096995094979396929594505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715614da757614da7614d68565b604052919050565b600082601f830112614dc057600080fd5b813567ffffffffffffffff811115614dda57614dda614d68565b614ded6020601f19601f84011601614d7e565b818152846020838601011115614e0257600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215614e3457600080fd5b8335614e3f81614c41565b925060208401359150604084013567ffffffffffffffff811115614e6257600080fd5b614e6e86828701614daf565b9150509250925092565b60008060408385031215614e8b57600080fd5b82359150602083013567ffffffffffffffff811115614ea957600080fd5b614eb585828601614daf565b9150509250929050565b600080600060608486031215614ed457600080fd5b833592506020840135614ee681614c41565b915060408401358015158114614efb57600080fd5b809150509250925092565b803560ff811681146136b557600080fd5b600080600060608486031215614f2c57600080fd5b833592506020840135614f3e81614c41565b9150614f4c60408501614f06565b90509250925092565b600080600060608486031215614f6a57600080fd5b83359250602084013567ffffffffffffffff80821115614f8957600080fd5b614f9587838801614daf565b93506040860135915080821115614fab57600080fd5b50614e6e86828701614daf565b60008060408385031215614fcb57600080fd5b8235614fd681614c41565b9150602083013567ffffffffffffffff811115614ea957600080fd5b60006020828403121561500457600080fd5b5035919050565b60008060006060848603121561502057600080fd5b8335925060208401359150604084013567ffffffffffffffff811115614e6257600080fd5b60006020828403121561505757600080fd5b813561290981614c41565b60005b8381101561507d578181015183820152602001615065565b50506000910152565b6000815180845261509e816020860160208601615062565b601f01601f19169290920160200192915050565b8281526040602082015260006115766040830184615086565b600067ffffffffffffffff808411156150e6576150e6614d68565b8360051b60206150f860208301614d7e565b8681529185019160208101903684111561511157600080fd5b865b848110156151455780358681111561512b5760008081fd5b61513736828b01614daf565b845250918301918301615113565b50979650505050505050565b6001600160f01b031984168152826020820152606060408201526000612ad96060830184615086565b6000835161518c818460208801615062565b7f5f5f00000000000000000000000000000000000000000000000000000000000090830190815283516151c6816002840160208801615062565b01600201949350505050565b8051602080830151919081101561296a5760001960209190910360031b1b16919050565b6020815260006129096020830184615086565b60408152600061521c6040830185615086565b90506001600160a01b03831660208301529392505050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561032657610326615234565b6001600160f01b03198416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516152a6816003860160208901615062565b8084019050816003820152845191506152c6826004830160208801615062565b0160040195945050505050565b634e487b7160e01b600052602160045260246000fd5b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b8281101561535e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc088860301845261534c858351615086565b94509285019290850190600101615312565b5092979650505050505050565b634e487b7160e01b600052603260045260246000fd5b8181038181111561032657610326615234565b808202811582820484141761032657610326615234565b6001600160a01b0384168152826020820152606060408201526000612ad96060830184615086565b60008151808452602080850194506020840160005b83811015615404578151875295820195908201906001016153e8565b509495945050505050565b60808152600061542260808301876153d3565b82810360208401526154348187615086565b90508460408401528281036060840152613b7b8185615086565b86815260c06020820152600061546760c08301886153d3565b82810360408401526154798188615086565b905085606084015282810360808401526154938186615086565b9150508260a0830152979650505050505050565b600082516154b9818460208701615062565b9190910192915050565b60208152600061290960208301846153d3565b8381526060602082015260006154ef60608301856153d3565b9050826040830152949350505050565b82815260406020820152600061157660408301846153d3565b84815260806020820152600061553160808301866153d3565b60ff851660408401528281036060840152613b7b8185615086565b6000835161555e818460208801615062565b835190830190615572818360208801615062565b01949350505050565b60608152600061558e60608301866153d3565b65ffffffffffff8516602084015282810360408401526114ea8185615086565b8481526080602082015260006155c760808301866153d3565b65ffffffffffff851660408401528281036060840152613b7b8185615086565b8281526000602080830184516020860160005b82811015615616578151845292840192908401906001016155fa565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b60008261565657634e487b7160e01b600052601260045260246000fd5b500490565b6000845161566d818460208901615062565b60609490941b6bffffffffffffffffffffffff191691909301908152601481019190915260340192915050565b6060815260006156ad6060830186615086565b60208301949094525060400152919050565b64ffffffffff8181168382160190808211156156dd576156dd615234565b5092915050565b87815260e0602082015260006156fd60e08301896153d3565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c08401526157348185615086565b9a9950505050505050505050565b60c08152600061575560c08301896153d3565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a08401526157918185615086565b9998505050505050505050565b600060ff821660ff81036157b4576157b4615234565b6001019291505056fea164736f6c6343000818000a","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;1163: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:5;;;;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;10666:172:24:-;10754:79;971:66:32;10803:7:24;10820:11;10754: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;6622:2614:24:-;-1:-1:-1;;;6882:7:24;-1:-1:-1;;;;;;6882:35:24;;;;;:83;;-1:-1:-1;;;;6921:7:24;-1:-1:-1;;;;;;6921:44:24;;;6882:83;6878:209;;;-1:-1:-1;;;7037:7:24;7070;7053:25;;;;;;15444:19:214;;15488:2;15479:12;;15284:213;7053:25:24;;;;-1:-1:-1;;7053:25:24;;;;;;;;;;6982:98;;;;;;;;;;:::i;6878:209::-;7133:22;:11;:20;:22::i;:::-;7196:40;:9;7229:4;7196:18;:40::i;:::-;7242:43;:11;7277:5;7242:20;:43::i;:::-;1683:38:34;5236:60:21;;;1515:34:34;5159:59:21;;;5153:144;5138:159;;7373:8:24;:15;:40;7369:148;;1683:38:34;5236:60:21;;;1515:34:34;5159:59:21;;;5153:144;5138:159;;7494:15:24;;7430:80;;;;;;;;15676:25:214;;;;15717:18;;;15710:34;15649:18;;7430:80:24;15502:248:214;7369:148:24;1683:38:34;5236:60:21;;;1515:34:34;5159:59:21;;;5153:144;5138:159;;7567:10:24;:17;:44;7563:158;;1683:38:34;5236:60:21;;;1515:34:34;5159:59:21;;;5153:144;5138:159;;7696:17:24;;7628:86;;;;;;;;15676:25:214;;;;15717:18;;;15710:34;15649:18;;7628:86:24;15502:248:214;7563:158:24;1683:38:34;5236:60:21;;;1515:34:34;5159:59:21;;;5153:144;5138:159;;1683:38:34;5236:60:21;;;1515:34:34;5159:59:21;;;5153:144;5138:159;;7778:50:24;7774:171;;1683:38:34;5236:60:21;;;1515:34:34;5159:59:21;;;5153:144;5138:159;;1683:38:34;5236:60:21;;;1515:34:34;5159:59:21;;;5153:144;5138:159;;7845:93:24;;;;;;;;15676:25:214;;;;15717:18;;;15710:34;15649:18;;7845:93:24;15502:248:214;7774:171:24;7987:29;:11;:27;:29::i;:::-;7954;:11;:27;:29::i;:::-;:62;7950:225;;8092:29;:11;:27;:29::i;:::-;8131;:11;:27;:29::i;:::-;8033:135;;;;;;;;15676:25:214;;;;15717:18;;;15710:34;15649:18;;8033:135:24;15502:248:214;7950:225:24;8218:30;:11;:28;:30::i;:::-;8184;:11;:28;:30::i;:::-;:64;8180:230;;8325:30;:11;:28;:30::i;:::-;8365;:11;:28;:30::i;:::-;8265:138;;;;;;;;15676:25:214;;;;15717:18;;;15710:34;15649:18;;8265:138:24;15502:248:214;8180:230:24;8507:9;8502:314;8522:29;:11;:27;:29::i;:::-;8518:1;:33;8502:314;;;8596:44;:22;:11;8616:1;8596:19;:22::i;:::-;:42;;;;;;;;:::i;:::-;;:44::i;:::-;579:1:34;4323:19:4;:27;;;4322:44;4288:79;;;4275:93;;8570:70:24;8566:244;;579:1:34;4323:19:4;:27;;;4322:44;4288:79;;;4275:93;;8747:44:24;:22;:11;8767:1;8747:19;:22::i;:44::-;8659:142;;;;;;;;15676:25:214;;;;15717:18;;;15710:34;15649:18;;8659:142:24;15502:248:214;8566:244:24;8553:3;;8502:314;;;;8878:31;8901:7;8878:22;:31::i;:::-;8874:140;;;8964:7;8997;8980:25;;;;;;15444:19:214;;15488:2;15479:12;;15284:213;8980:25:24;;;;-1:-1:-1;;8980:25:24;;;;;;;;;;8926:81;;;;;;;;;:::i;8874:140::-;9055:103;9067:7;9076:11;9089:9;9100:11;9124:8;9113:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;9146:10;9135:22;;;;;;;;:::i;:::-;;;;;;;;;;;;;9055:11;:103::i;:::-;9194:37;9217:7;9226:4;9194: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;6159:426:85:-;6287:16;;;6301:1;6287:16;;;;;;;;6258:26;;6287:16;;;;;;;;;;-1:-1:-1;6287:16:85;6258:45;;6348:9;-1:-1:-1;;;;;6332:27:85;6324:36;;6309:9;6319:1;6309:12;;;;;;;;:::i;:::-;;;;;;:51;;;;;6405:9;-1:-1:-1;;;;;6389:27:85;6381:36;;6366:9;6376:1;6366:12;;;;;;;;:::i;:::-;;;;;;:51;;;;;6424:156;1178:66;1162:83;;6472:9;6489:1;6533:19;6498:56;;;;;;15444:19:214;;15488:2;15479:12;;15284:213;6498:56:85;;;;-1:-1:-1;;6498:56:85;;;;;;;;;-1:-1:-1;;;6424: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;3076:307:84:-;3191:16;;;3205:1;3191:16;;;;;;;;;3140:14;;;;3191:16;;;;;;;;;;;;-1:-1:-1;3191:16:84;3162:45;;3246:8;3213:9;3223:1;3213:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;3262:13;3278:62;1155:66;3313:9;3262:13;1284:66;3278:24;:62::i;:::-;3354:23;;;3076:307;-1:-1:-1;;;;3076: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;3150:332:75:-;3281:16;;;3295:1;3281:16;;;;;;;;;3225:19;;;;3281:16;;;;;;;;;;;;-1:-1:-1;3281:16:75;3252:45;;3326:21;3318:30;;;3303:9;3313:1;3303:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3355:13;3371:62;1174:66;3406:9;3355:13;1303:66;3371:24;:62::i;7390:465::-;7501:24;7528:46;7541:8;7551:22;7528:12;:46::i;:::-;7678:16;;;7692:1;7678:16;;;;;;;;;7501:73;;-1:-1:-1;7581:30:75;;7617:25;;7581:30;;7678:16;;;;;;;;;;;;-1:-1:-1;7678:16:75;7649:45;;7723:21;7715:30;;;7700:9;7710:1;7700:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;7752:98;1174:66;7782:9;7793:11;7806:15;7823:12;1303:66;7752:19;:98::i;:::-;7495:360;;;;7390:465;;;:::o;3188:456:76:-;3275:24;3305:30;3338:32;3352:17;3338:13;:32::i;:::-;3305:65;;3376:25;3404:32;3418:17;3404:13;:32::i;:::-;3472:16;;;3486:1;3472:16;;;;;;;;;3376:60;;-1:-1:-1;3443:26:76;;3472:16;;;;;;;;;;;;-1:-1:-1;3472:16:76;3443:45;;3517:16;3509:25;;;3494:9;3504:1;3494:12;;;;;;;;:::i;:::-;;;;;;;;;;:40;3541:98;1095:66;3571:9;3582:11;3595:15;3612:12;1224:66;3541:19;:98::i;3787:313:83:-;3896:16;;;3910:1;3896:16;;;;;;;;;3840:19;;;;3896:16;;;;;;;;;;;;-1:-1:-1;3896:16:83;3867:45;;3957:6;-1:-1:-1;;;;;3941:24:83;3933:33;;3918:9;3928:1;3918:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;3973:13;3989:62;1169:66;4024:9;3973:13;-1:-1:-1;;;3989:24:83;:62::i;5765:222::-;5848:16;;;5862:1;5848:16;;;;;;;;;5819:26;;5848:16;;;;;;;;;;;-1:-1:-1;5848:16:83;5819:45;;5909:6;-1:-1:-1;;;;;5893:24:83;5885:33;;5870:9;5880:1;5870:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;5925:57;1169:66;5958:9;-1:-1:-1;;;5925:22:83;:57::i;6294:295:81:-;6400:16;;;6414:1;6400:16;;;;;;;;6371:26;;6400:16;;;;;;;;;;-1:-1:-1;6400:16:81;6371:45;;6455:10;6422:9;6432:1;6422:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;6511:6;-1:-1:-1;;;;;6495:24:81;6487:33;;6472:9;6482:1;6472:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;6527:57;1169:66;6560:9;-1:-1:-1;;;6527:22:81;:57::i;4222:268:31:-;4322:16;;;4336:1;4322:16;;;;;;;;;4293:26;;4322:16;;;;;;;;;;;-1:-1:-1;4322:16:31;4293:45;;4377:10;4344:9;4354:1;4344:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4395:90;973:66;957:83;;4430:9;4441:1;4462:6;4444:26;;;;;;17971:14:214;17964:22;17959:3;17955:32;17943:45;;18013:1;18004:11;;17820:201;4444:26:31;;;;-1:-1:-1;;4444:26:31;;;;;;;;;-1:-1:-1;;;4395:24:31;:90::i;6916:424:84:-;7001:24;7028:34;7041:6;7049:12;7028;:34::i;:::-;7166:16;;;7180:1;7166:16;;;;;;;;;7001:61;;-1:-1:-1;7069:30:84;;7105:25;;7069:30;;7166:16;;;;;;;;;;;;-1:-1:-1;7166:16:84;7137:45;;7221:8;7188:9;7198:1;7188:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;7237:98;1155:66;7267:9;7278:11;7291:15;7308:12;1284:66;7237:19;:98::i;5148:286:83:-;5243:16;;;5257:1;5243:16;;;;;;;;;5214:26;;5243:16;;;;;;;;;;;-1:-1:-1;5243:16:83;5214:45;;5304:6;-1:-1:-1;;;;;5288:24:83;5280:33;;5265:9;5275:1;5265:12;;;;;;;;:::i;:::-;;;;;;:48;;;;;5320:109;1169:66;1153:83;;5355:9;5366:1;5404:8;5369:45;;;;;;15444:19:214;;15488:2;15479:12;;15284:213;5558:332:81;5668:16;;;5682:1;5668:16;;;;;;;;5639:26;;5668:16;;;;;;;;;;-1:-1:-1;5668:16:81;5639:45;;5723:10;5690:9;5700:1;5690:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;5779:6;-1:-1:-1;;;;;5763:24:81;5755:33;;5740:9;5750:1;5740:12;;;;;;;;:::i;:::-;;;;;;:48;;;;;5795:90;1169:66;1153:83;;5830:9;5841:1;5862:6;5844:26;;;;;;17971:14:214;17964:22;17959:3;17955:32;17943:45;;18013:1;18004:11;;17820:201;9838:624:24;-1:-1:-1;;;10022:7:24;-1:-1:-1;;;;;;10022:35:24;;10018:161;;-1:-1:-1;;;10129:7:24;10162;10145:25;;;;;;15444:19:214;;15488:2;15479:12;;15284:213;10018:161:24;10224:31;10247:7;10224:22;:31::i;:::-;10219:136;;10305:7;10338;10321:25;;;;;;15444:19:214;;15488:2;15479:12;;15284:213;10321:25:24;;;;-1:-1:-1;;10321:25:24;;;;;;;;;;10272:76;;;;;;;;;:::i;10219:136::-;10361:96;10378:7;-1:-1:-1;;1053:20:5;;;;1045:29;1077:30;;;;;;1045:62;10361: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;5584:340:78:-;5706:16;;;5720:1;5706:16;;;;;;;;5677:26;;5706:16;;;;;;;;;;-1:-1:-1;5706:16:78;5677:45;;5767:13;-1:-1:-1;;;;;5751:31:78;5743:40;;5728:9;5738:1;5728:12;;;;;;;;:::i;:::-;;;;;;:55;;;;;5804:13;5789:9;5799:1;5789:12;;;;;;;;:::i;:::-;;;;;;:28;;;;;5824:95;1084:66;1068:83;;5859:9;5870:1;5891:11;5873:31;;;;;;17971:14:214;17964:22;17959:3;17955:32;17943:45;;18013:1;18004:11;;17820:201;1474:1069:5;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:5;;1809:62;;1919:21;1969:25;1964:312;2016:12;:19;1996:17;:39;1964:312;;;2139:19;-1:-1:-1;;;;;2072:87:5;:55;2082:12;2095:17;2082:31;;;;;;;;:::i;:::-;;;;;;;2072:53;;;3536:35;;;3406:170;2072:55;-1:-1:-1;;;;;2072:87:5;;2068:200;;2199:12;2212:17;2199:31;;;;;;;;:::i;:::-;;;;;;;2173:8;2182:13;2173:23;;;;;;;;:::i;:::-;-1:-1:-1;;2173:57:5;;;: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;5973:214:79:-;6063:16;;;6077:1;6063:16;;;;;;;;;6034:26;;6063:16;;;;;;;;;;;-1:-1:-1;6063:16:79;6034:45;;6118:11;6085:9;6095:1;6085:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;6137;1183:66;6172:9;6137: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;;2858:314:31;2972:16;;;2986:1;2972:16;;;;;;;;;2924:11;;;;2972:16;;;;;;;;;;;;-1:-1:-1;2972:16:31;2943:45;;3027:10;2994:9;3004:1;2994:12;;;;;;;;:::i;:::-;;;;;;;;;;:44;3045:13;3061:62;973:66;3096:9;3045:13;-1:-1:-1;;;3061:24:31;:62::i;:::-;3045:78;;3137:29;3158:5;3145:20;;1650:10:20;1541:126;5023:265:80;5120:16;;;5134:1;5120:16;;;;;;;;;5091:26;;5120:16;;;;;;;;;;;-1:-1:-1;5120:16:80;5091:45;;5175:11;5142:9;5152:1;5142:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5194:89;1169:66;1153:83;;5229:9;5240:1;5261:5;5243:25;;;;;;;18563:2:214;18559:15;;;;-1:-1:-1;;18555:88:214;18543:101;;18669:2;18660:12;;18414:264;5243:25:80;;;;-1:-1:-1;;5243:25:80;;;;;;;;;1298:66;5194:24;:89::i;5563:349:79:-;5677:16;;;5691:1;5677:16;;;;;;;;;5648:26;;5677:16;;;;;;;;;;;-1:-1:-1;5677:16:79;5648:45;;5732:11;5699:9;5709:1;5699:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5751:156;1183:66;1167:83;;5799:9;5816:1;5860:19;5825:56;;;;;;15444:19:214;;15488:2;15479:12;;15284:213;6646:291:85;6750:16;;;6764:1;6750:16;;;;;;;;6721:26;;6750:16;;;;;;;;;;-1:-1:-1;6750:16:85;6721:45;;6811:9;-1:-1:-1;;;;;6795:27:85;6787:36;;6772:9;6782:1;6772:12;;;;;;;;:::i;:::-;;;;;;:51;;;;;6868:9;-1:-1:-1;;;;;6852:27:85;6844:36;;6829:9;6839:1;6829:12;;;;;;;;:::i;:::-;;;;;;;;;;:51;6887:45;1178:66;6922:9;6887:24;:45::i;9577:257:82:-;9674:16;;;9688:1;9674:16;;;;;;;;;9645:26;;9674:16;;;;;;;;;;;-1:-1:-1;9674:16:82;9645:45;;9729:8;9696:9;9706:1;9696:12;;;;;;;;:::i;:::-;;;;;;:42;;;;;9745:84;1163:66;1147:83;;9786:9;9797:1;9818:8;9800:28;;;;;;;-1:-1:-1;;18824:79:214;;;;18812:92;;18929:2;18920:12;;18683:255;9800:28:82;;;;;;;;;;;;;9745:30;:84::i;4048:97:64:-;4089:7;4111:29;:27;:29::i;3750:306:80:-;3861:16;;;3875:1;3861:16;;;;;;;;;3811:13;;;;3861:16;;;;;;;;;;;;-1:-1:-1;3861:16:80;3832:45;;3916:11;3883:9;3893:1;3883:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3935:13;3951:62;1169:66;3986:9;3935:13;1298:66;3951:24;:62::i;6618:1665:4:-;6301:45;6681:87;;6723:38;;;;;;;;;;;;;;6681:87;6774:25;6802:30;:11;:28;:30::i;:::-;6774:58;;943:1:34;6842:17:4;:38;6838:156;;;6897:90;;;;;;;;15676:25:214;;;943:1:34;15717:18:214;;;15710:34;15649:18;;6897:90:4;15502:248:214;6838:156:4;7000:24;7027:29;:11;:27;:29::i;:::-;7000:56;-1:-1:-1;7062:23:4;7088:36;7107:17;7000:56;7088:36;:::i;:::-;7062:62;;689:2:34;7134:15:4;:34;7130:141;;;7185:79;;;;;;;;15676:25:214;;;689:2:34;15717:18:214;;;15710:34;15649:18;;7185:79:4;15502:248:214;7130:141:4;7313:25;7349:9;7344:429;7364:16;7360:1;:20;7344:429;;;4275:93;4323:19;:27;;;579:1:34;4322:44:4;4288:79;;;4275:93;7392:24;7453:21;;;7449:234;;7493:52;;;;;;;;5982:25:214;;;5955:18;;7493:52:4;5836:177:214;7449:234:4;376:2:34;7564:16:4;:28;7560:123;;;7611:63;;;;;;;;5982:25:214;;;5955:18;;7611:63:4;5836:177:214;7560:123:4;7690:37;7711:16;7690:37;;:::i;:::-;;-1:-1:-1;;7755:3:4;;7344:429;;;;7840:30;:11;:28;:30::i;:::-;7819:17;:51;7815:184;;7942:30;:11;:28;:30::i;:::-;7887:105;;;;;;;;15676:25:214;;;;15717:18;;;15710:34;;;15649:18;;7887:105:4;15502:248:214;7815:184:4;8055:16;8038:241;689:2:34;8073:1:4;:20;8038:241;;;4275:93;4323:19;:27;;;579:1:34;4322:44:4;4288:79;;;4275:93;8169:21;;8165:108;;8209:55;;;;;;;;5982:25:214;;;5955:18;;8209:55:4;5836:177:214;8165:108:4;-1:-1:-1;8095:3:4;;8038:241;;5760:1635:21;5867:10;5866:11;:31;;;;-1:-1:-1;6301:45:4;;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;;943: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;;4979:171:4;5052:7;579:1:34;1532;1516:13;1528:1;376:2;1516:13;:::i;:::-;:17;;;;:::i;:::-;1515:34;;;;:::i;:::-;5088:11:4;5067:78;5080:64;;5067:78;;4979:171;-1:-1:-1;;4979:171:4:o;5377:173::-;5451:7;579:1:34;1704;;1684:13;1696:1;376:2;1684: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;19797:677:33:-;20005:24;20032:49;20045:11;20058:9;20069:11;20032:12;:49::i;:::-;20005:76;;20088:30;20121:55;20135:18;20155:20;20121:13;:55::i;:::-;20088:88;;20182:25;20210:55;20224:18;20244:20;20210:13;:55::i;:::-;20301:16;;;20315:1;20301:16;;;;;;;;;20182:83;;-1:-1:-1;20272:26:33;;20301:16;;;;;;;;;;;;-1:-1:-1;20301:16:33;20272:45;;20356:7;20323:9;20333:1;20323:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;20371:98;1213:66;20401:9;20412:11;20425:15;20442:12;1342:66;20371:19;:98::i;:::-;19999:475;;;;19797:677;;;;;;:::o;22789:355:24:-;22961:178;22995:7;23020:8;23050:63;23089:11;23102:10;23050:38;:63::i;:::-;23128:4;22961: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;35853:541:24:-;36010:7;36147:242;36191:59;36232:7;36241:8;36191:40;:59::i;:::-;36268:31;;;;4323:19:4;:27;579:1:34;4322:44:4;4288:79;;;4275:93;36317:63:24;36356:11;36369:10;36317:38;:63::i;:::-;36147:17;:242::i;:::-;36134:255;35853:541;-1:-1:-1;;;;;35853: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:5;;;;;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:5;;;;;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;9334:179:75;9431:12;9475:8;9485:22;9458:50;;;;;;;;19937:19:214;;;-1:-1:-1;;;;;;19986:79:214;19981:2;19972:12;;19965:101;20091:2;20082:12;;19751:349;9458:50:75;;;;;;;;;;;;;9451:57;;9334:179;;;;:::o;12894:3165:24:-;-1:-1:-1;;;13168:7:24;-1:-1:-1;;;;;;13168:44:24;;13164:211;;13295:7;13266:88;13304:8;13314:10;13326:14;13342:11;13266:88;;;;;;;;;:::i;:::-;;;;;;;;13362:7;;13164:211;13513:22;13538:24;13554:7;13538:15;:24::i;:::-;13513:49;;13573:9;13568:340;13588:5;:12;13584:1;:16;13568:340;;;13615:9;13637:5;13643:1;13637:8;;;;;;;;:::i;:::-;;;;;;;13615:31;;13658:33;409:6:36;13658:4:24;:14;;;;;:33;;;;:::i;:::-;13654:248;;;13703:190;;;;;3536:35:5;;;;;13703:47:24;;:190;;13762:7;;13781:8;;13801:10;;13823:14;;13849:11;;13872;;13703:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13654:248;-1:-1:-1;13602:3:24;;13568:340;;;;13985:7;13956:88;13994:8;14004:10;14016:14;14032:11;13956:88;;;;;;;;;:::i;:::-;;;;;;;;14108:26;14137:59;14178:7;14187:8;14137:40;:59::i;:::-;14108:88;-1:-1:-1;14202:21:24;894:4:19;884:15;;14202:54:24;;14262:149;14300:18;14334:1;14351:10;:17;14391:13;14262;:149::i;:::-;14511:1;14478:30;:11;:28;:30::i;:::-;:34;14474:1174;;;14597:33;14633:66;14681:7;14690:8;14633:47;:66::i;:::-;695:28:23;;;14597:102:24;-1:-1:-1;894:4:19;884:15;;14873:47:24;;15029:27;15064:25;15102:7;15097:545;15115:30;:11;:28;:30::i;:::-;15111:1;:34;;;15097:545;;;15181:63;15223:7;15232:8;15242:1;15181:41;:63::i;:::-;15159:85;-1:-1:-1;15274:25:24;:14;15297:1;7070:16:3;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;15274:25:24;15254:45;;15309:170;15351:19;15390:1;15411:17;15455:13;15309;:170::i;:::-;15489:34;15506:17;15489:34;;:::i;:::-;;-1:-1:-1;15620:3:24;;15097:545;;;;14514:1134;;;14474:1174;15722:9;15717:338;15737:5;:12;15733:1;:16;15717:338;;;15764:9;15786:5;15792:1;15786:8;;;;;;;;:::i;:::-;;;;;;;15764:31;;15807:32;503:6:36;15807:4:24;:14;;;;;:32;;;;:::i;:::-;15803:246;;;15851:189;;;;;3536:35:5;;;;;15851:46:24;;:189;;15909:7;;15928:8;;15948:10;;15970:14;;15996:11;;16019;;15851:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15803:246;-1:-1:-1;15751:3:24;;15717:338;;5285:306:76;5364:30;5525:55;5554:17;5548:31;975:16:3;2068:39;;;2049:59;;1907:269;5756:155:76;5835:12;5886:17;5862:44;;;;;;;;:::i;:::-;;;;;;;;;;;;;5855:51;;5756:155;;;:::o;25978:1804:24:-;-1:-1:-1;;;26145:7:24;-1:-1:-1;;;;;;26145:44:24;;26141:173;;26275:7;26243:50;26284:8;26243:50;;;;;;:::i;:::-;;;;;;;;25978:1804;;;:::o;26141:173::-;26455:22;26480:24;26496:7;26480:15;:24::i;:::-;26455:49;;26515:9;26510:235;26530:5;:12;26526:1;:16;26510:235;;;26557:9;26579:5;26585:1;26579:8;;;;;;;;:::i;:::-;;;;;;;26557:31;;26600:36;1049:6:36;26600:4:24;:14;;;;;:36;;;;:::i;:::-;26596:143;;;26648:82;;;;;3536:35:5;;;;;26648:50:24;;:82;;26699:7;;26708:8;;26718:11;;26648:82;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26596:143;-1:-1:-1;26544:3:24;;26510:235;;;;26825:7;26793:50;26834:8;26793:50;;;;;;:::i;:::-;;;;;;;;26876:26;26905:59;26946:7;26955:8;26905:40;:59::i;:::-;26876:88;;26970:113;27002:18;27030:1;27049:30;:11;:28;:30::i;:::-;27039:41;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;27039:41:24;;26970:13;:113::i;:::-;27302:1;27269:30;:11;:28;:30::i;:::-;:34;27265:236;;;27313:33;27349:66;27397:7;27406:8;27349:47;:66::i;:::-;27313:102;;27423:71;27454:25;27489:2;27423:12;:71::i;:::-;27305:196;27265:236;27550:9;27545:233;27565:5;:12;27561:1;:16;27545:233;;;27592:9;27614:5;27620:1;27614:8;;;;;;;;:::i;:::-;;;;;;;27592:31;;27635:35;1149:6:36;27635:4:24;:14;;;;;:35;;;;:::i;:::-;27631:141;;;27682:81;;;;;3536:35:5;;;;;27682:49:24;;:81;;27732:7;;27741:8;;27751:11;;27682:81;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27631:141;-1:-1:-1;27579:3:24;;27545:233;;8747:150:84;8854:38;;8827:12;23344:15:214;;;-1:-1:-1;;23340:88:214;8854:38:84;;;23328:101:214;23475:14;;23468:22;23463:3;23459:32;23445:12;;;23438:54;8827:12:84;23508::214;;8854:38:84;23177:349:214;9658:254:32;9755:16;;;9769:1;9755:16;;;;;;;;;9726:26;;9755:16;;;;;;;;;;;-1:-1:-1;9755:16:32;9726:45;;9810:7;9777:9;9787:1;9777:12;;;;;;;;:::i;:::-;;;;;;:41;;;;;9825:82;971:66;955:83;;9864:9;9875:1;9896:8;9878:28;;;;;;;-1:-1:-1;;18824:79:214;;;;18812:92;;18929:2;18920:12;;18683:255;9878:28:32;;;;;;;;;;;;;9825;: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;3527:369:30:-;3667:16;;;3681:1;3667:16;;;;;;;;;3608:22;;3638:26;;3667:16;;;;;;;;;;;;-1:-1:-1;3667:16:30;3638:45;;3722:10;3689:9;3699:1;3689:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;3740:18;3761:49;3787:8;3797:9;3808:1;3761:25;:49::i;:::-;3740:70;;3824:66;:44;3845:5;3852:1;3855:5;:12;3824:20;:44::i;:::-;:64;:66::i;4914:282::-;5040:16;;;5054:1;5040:16;;;;;;;;;5011:26;;5040:16;;;;;;;;;;;-1:-1:-1;5040:16:30;5011:45;;5095:10;5062:9;5072:1;5062:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;5113:78;5139:8;5149:9;5160:1;5163:27;5183:5;5163:18;:27::i;:::-;5113:25;:78::i;13847:301:28:-;13931:21;13955:17;:15;:17::i;:::-;13931:41;-1:-1:-1;14007:4:28;-1:-1:-1;;;;;13982:30:28;;;13978:166;;14022:41;14045:7;14054:8;14022:22;:41::i;13978:166::-;14084:53;;;;;-1:-1:-1;;;;;14084:34:28;;;;;:53;;14119:7;;14128:8;;14084:53;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12345:451;12505:21;12529:17;:15;:17::i;:::-;12505:41;-1:-1:-1;12581:4:28;-1:-1:-1;;;;;12556:30:28;;;12552:240;;12596:78;12625:7;12634:8;12644:17;12663:10;12596:28;:78::i;:::-;12552:240;;;12695:90;;;;;-1:-1:-1;;;;;12695:40:28;;;;;:90;;12736:7;;12745:8;;12755:17;;12774:10;;12695:90;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12499:297;12345:451;;;;:::o;1836:227::-;1066:42;1925:22;1886:7;;-1:-1:-1;;;;;1925:22:28;;1953:106;;2001:10;1994:17;;;1836:227;:::o;1953:106::-;2039:13;1836:227;-1:-1:-1;1836:227:28:o;4598:171:4:-;4672:7;579:1:34;1354:13;1366:1;376:2;1354:13;:::i;:::-;1353:30;;;;:::i;:::-;4694:70:4;;;;;4598:171;-1:-1:-1;4598:171:4:o;24214:209:33:-;24365:53;;;;;;24779:19:214;;;24814:12;;;24807:28;;;24338:12:33;24851::214;;;24844:28;;;24338:12:33;24888::214;;24365:53:33;;;;;;;;;;;;;24358:60;;24214:209;;;;;:::o;24614:390::-;24924:32;;24958:34;;24740:30;;2662:5:3;;;975:16;2694:39;;;;2675:59;2776:23;2761:39;;;;2742:59;24901:92:33;2518:351:3;25169:234:33;25295:12;25346:18;25375:20;25322:76;;;;;;;;;:::i;51505:242:24:-;51601:7;;;51640:84;51660:10;51656:14;;:1;:14;51640:84;;;51685:32;4275:93:4;4323:19;:27;;;579:1:34;4322:44:4;4288:79;;;4275:93;51685:32:24;;:::i;:::-;;-1:-1:-1;51672:3:24;;51640:84;;;-1:-1:-1;51736:6:24;51505:242;-1:-1:-1;;;51505:242:24:o;16695:1682::-;-1:-1:-1;;;16874:7:24;-1:-1:-1;;;;;;16874:44:24;;16870:235;;17028:7;16981:103;17047:8;17064:5;17077:4;16981:103;;;;;;;;:::i;:::-;;;;;;;;17092:7;;16870:235;17111:16;17130:59;17171:7;17180:8;17130:40;:59::i;:::-;17111:78;;17335:22;17360:24;17376:7;17360:15;:24::i;:::-;17335:49;;17395:9;17390:328;17410:5;:12;17406:1;:16;17390:328;;;17437:9;17459:5;17465:1;17459:8;;;;;;;;:::i;:::-;;;;;;;17437:31;;17480:41;614:6:36;17480:4:24;:14;;;;;:41;;;;:::i;:::-;17476:236;;;17533:170;;;;;3536:35:5;;;;;17533:54:24;;:170;;17609:7;;17638:8;;17665:5;;17688:4;;17533:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17476:236;-1:-1:-1;17424:3:24;;17390:328;;;;17822:7;17775:103;17841:8;17858:5;17871:4;17775:103;;;;;;;;:::i;:::-;;;;;;;;17928:70;17960:8;17978:5;17928:70;;17991:4;17928:13;:70::i;:::-;18052:9;18047:326;18067:5;:12;18063:1;:16;18047:326;;;18094:9;18116:5;18122:1;18116:8;;;;;;;;:::i;:::-;;;;;;;18094:31;;18137:40;723:6:36;18137:4:24;:14;;;;;:40;;;;:::i;:::-;18133:234;;;18189:169;;;;;3536:35:5;;;;;18189:53:24;;:169;;18264:7;;18293:8;;18320:5;;18343:4;;18189:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18133:234;-1:-1:-1;18081:3:24;;18047:326;;50488:191;50590:7;50654;50663:8;50637:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;50637:35:24;;;;;;;;;50627:46;;50637:35;50627:46;;;;42043:22;50620:53;;50488:191;-1:-1:-1;;;50488: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;3857:344:82:-;3974:16;;;3988:1;3974:16;;;;;;;;;3915:22;;3945:26;;3974:16;;;;;;;;;;;;-1:-1:-1;3974:16:82;3945:45;;4029:8;3996:9;4006:1;3996:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;4045:18;4066:49;1163:66;4102:9;4045:18;4066:25;:49::i;:::-;4045:70;;4129:66;:44;4150:5;4157:1;4160:5;:12;4129:20;:44::i;3035:136:5:-;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;3658:342:32:-;3774:16;;;3788:1;3774:16;;;;;;;;;3715:22;;3745:26;;3774:16;;;;;;;;;;;;-1:-1:-1;3774:16:32;3745:45;;3829:7;3796:9;3806:1;3796:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;3844:18;3865:49;971:66;3901:9;3844:18;3865: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;53053:230:24:-;53174:7;53258;53267:8;53241:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;53241:35:24;;;;;;;;;53231:46;;53241:35;53231:46;;;;42206:40;53204:73;;53053:230;-1:-1:-1;;;53053:230:24:o;52424:274::-;52568:7;52673;52682:8;52656:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;52646:46;;;;;;52625:17;52618:25;;52598:45;;;42115:34;52598:45;:94;52590:103;;52583:110;;52424:274;;;;;:::o;966:162:23:-;1055:68;1061:14;1077:6;1085:4;:11;1098:24;1117:4;894::19;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;;28446:791:24;28705:37;28745:66;28793:7;28802:8;28745:47;:66::i;:::-;28705:106;-1:-1:-1;28817:26:24;28853:49;28705:106;28884:17;7070:16:3;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;28853:49:24;28817:86;;28941:291;28995:7;29020:8;29055:17;29105:19;29146:1;29161:10;29203:22;28941:36;:291::i;4897:201:64:-;5019:12;5063:8;5073:9;5084:8;5046:47;;;;;;;;;;:::i;36862:522:24:-;36998:12;37122:257;37161:79;37203:7;37212:8;37222:17;37161:41;:79::i;:::-;37258:1;37277:93;37352:17;37277:66;37325:7;37334:8;37277:47;:66::i;:::-;:74;7070:16:3;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;37277:93:24;37122: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;23834:738:24:-;24085:37;24125:66;24173:7;24182:8;24125:47;:66::i;:::-;24085:106;-1:-1:-1;24197:26:24;24233:49;24085:106;24264:17;7070:16:3;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;24233:49:24;24197:86;;24290:277;24344:7;24369:8;24404:17;24447:1;24469:19;24502:4;24538:22;24290:36;:277::i;25234:145::-;25318:56;25331:7;25340:8;25350:23;25365:7;25350:14;:23::i;:::-;25318:12;:56::i;5928:433:84:-;6056:16;;;6070:1;6056:16;;;;;;;;;5986:14;;;;;;6056:16;;;;;;;;;;;-1:-1:-1;6056:16:84;6027:45;;6111:8;6078:9;6088:1;6078:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;6128:24;;;6215:78;1155:66;6258:9;1284:66;6215:19;:78::i;:::-;-1:-1:-1;;2756:4:2;2742:27;;2736:34;2742:27;;;;2736:34;7564:35:84;;;;;;7631:33;;;;;;-1:-1:-1;5928:433:84;-1:-1:-1;;;;;;5928:433:84:o;1546:281:46:-;1708:29;1718:10;1730:6;1708:9;:29::i;:::-;1703:120;;1786:21;:10;:19;:21::i;3758:308:74:-;3871:16;;;3885:1;3871:16;;;;;;;;;3819:15;;;;3871:16;;;;;;;;;;;;-1:-1:-1;3871:16:74;3842:45;;3926:11;3893:9;3903:1;3893:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3945:13;3961:62;1157:66;3996:9;3945:13;-1:-1:-1;;;3961:24:74;:62::i;5057:269::-;5156:16;;;5170:1;5156:16;;;;;;;;;5127:26;;5156:16;;;;;;;;;;;-1:-1:-1;5156:16:74;5127:45;;5211:11;5178:9;5188:1;5178:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5230:91;1157:66;1141:83;;5265:9;5276:1;5297:7;5279: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;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;53621:303:24;53742:14;53836:82;53867:48;53897:7;53906:8;53867:29;:48::i;:::-;4711:21:23;;4605:137;43936:4001:24;-1:-1:-1;;;44334:7:24;-1:-1:-1;;;;;;44334:35:24;;44330:161;;-1:-1:-1;;;44441:7:24;44474;44457:25;;;;;;15444:19:214;;15488:2;15479:12;;15284:213;44330:161:24;44497:27;44527:49;:22;44558:17;7070:16:3;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;44527:49:24;44497:79;;44582:26;44647:4;:11;44633;44611:33;;:19;:33;;;;:::i;:::-;:47;;;;:::i;:::-;44582:76;;44930:18;44907:19;:41;;:98;;;;-1:-1:-1;44986:19:24;44952:30;44971:11;44952:16;:30;:::i;:::-;:53;;;;44907:98;44903:218;;;45022:92;;;;;29130:12:214;29169:15;;;45022:92:24;;;29151:34:214;29221:15;;;29201:18;;;29194:43;29273:15;;29253:18;;;29246:43;29093:18;;45022:92:24;28924:371:214;44903:218:24;45227:19;45208:16;:38;;;45204:140;;;45263:74;;;;;;;;29473:25:214;;;29546:12;29534:25;;29514:18;;;29507:53;29446:18;;45263:74:24;29300:266:214;45204:140:24;45383:36;45422:72;:22;45456:17;45475:18;45422:33;:72::i;:::-;45383:111;;45641:22;45666:24;45682:7;45666:15;:24::i;:::-;45641:49;;45701:9;45696:486;45716:5;:12;45712:1;:16;45696:486;;;45743:9;45765:5;45771:1;45765:8;;;;;;;;:::i;:::-;;;;;;;45743:31;;45786:42;836:6:36;45786:4:24;:14;;;;;:42;;;;:::i;:::-;45782:394;;;3536:35:5;;;;-1:-1:-1;;;;;45840:55:24;;45917:7;45946:8;45985:17;46032:16;46073:11;46112:22;46152:4;45840:327;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;45782:394;-1:-1:-1;45730:3:24;;45696:486;;;-1:-1:-1;46240:32:24;;;:13;46380:107;46398:17;46394:21;;:1;:21;;;46380:107;;;46443:33;:22;46474:1;7070:16:3;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;46443:33:24;46434:42;;;;46417:3;;46380:107;;;;46612:7;46556:277;46639:8;46676:17;46717:5;46746:11;46783:21;46820:4;46556:277;;;;;;;;;;;:::i;:::-;;;;;;;;46188:652;46925:18;46902:19;:41;46898:248;;46953:31;46987:48;47017:7;47026:8;46987:29;:48::i;:::-;695:28:23;;;-1:-1:-1;46898:248:24;47203:27;47233:61;47257:7;47266:8;47276:17;47233:23;:61::i;:::-;47203:91;;47302:92;47334:19;47363:16;47302:92;;47387:4;47302:13;:92::i;:::-;47195:206;47455:9;47450:483;47470:5;:12;47466:1;:16;47450:483;;;47497:9;47519:5;47525:1;47519:8;;;;;;;;:::i;:::-;;;;;;;47497:31;;47540:41;947:6:36;47540:4:24;:14;;;;;:41;;;;:::i;:::-;47536:391;;;3536:35:5;;;;-1:-1:-1;;;;;47593:54:24;;47669:7;47698:8;47737:17;47784:16;47825:11;47864:21;47903:4;47593:325;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;47536:391;-1:-1:-1;47484:3:24;;47450:483;;;;44180:3757;;;;43936:4001;;;;;;;:::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;;4000:652:24;4067:11;4303:64;;;4299:111;;-1:-1:-1;1342:66:33;;4000:652:24;-1:-1:-1;4000:652:24:o;4299:111::-;4454:185;4500:85;1213:66:33;4576:7:24;4500:40;:85::i;:::-;4605:2;4627:1;4454:17;:185::i;32441:1315::-;32571:23;32596:29;32627:24;32693:20;32716:30;:11;:28;:30::i;:::-;32693:53;;32807:65;32840:7;32849:8;32859:12;32807:32;:65::i;:::-;32794:78;;32936:24;32963:30;:11;:28;:30::i;:::-;32936:57;-1:-1:-1;33003:20:24;;32999:753;;33096:66;33144:7;33153:8;33096:47;:66::i;:::-;33079:83;-1:-1:-1;6445:61:3;;;33214:33:24;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;33214:33:24;-1:-1:-1;33200:47:24;-1:-1:-1;894:4:19;884:15;;33255:21:24;33319:427;33337:16;33333:1;:20;;;33319:427;;;33370:27;33400:63;33442:7;33451:8;33461:1;33400:41;:63::i;:::-;33370:93;-1:-1:-1;33473:14:24;33490:25;:14;33513:1;7070:16:3;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;33490:25:24;33473:42;;33525:110;33556:19;33585:1;33596:6;33619:13;33525:12;:110::i;:::-;33714:23;33731:6;33714:23;;:::i;:::-;;;33360:386;;33355:3;;;;;:::i;:::-;;;;33319:427;;;;33025:727;32999:753;32653:1103;;32441:1315;;;;;;;:::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;7468:1525:3:-;7596:14;1145:16;7622:25;;7618:120;;;7664:67;;;;;;;;5982:25:214;;;5955:18;;7664:67:3;5836:177:214;7618:120:3;7802:14;6445:61;;;7070:16;;;1063;7070;975;7059:27;7017:70;;;6995:94;;8068:38;;;8064:192;;8151:19;8133:15;:37;8118:52;;;;8064:192;;;8232:15;8210:19;:37;8195:52;;;;8064:192;-1:-1:-1;8572:16:3;975;1063;8439;;;;8428:27;8564:35;;;8882:5;8719:26;8699:46;;;;8698:62;;;8862:25;;;;8892:34;;;;;8861:66;;-1:-1:-1;7468:1525:3;;;;;:::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;50931:282:24:-;51176:30;;;;;;31637:19:214;;;31672:12;;;31665:28;;;51019:7:24;;31709:12:214;;51176:30:24;31449:278:214;48505:360:24;48631:12;48655:6;48665:1;48655:11;48651:26;;-1:-1:-1;48668:9:24;;;;;;;;;-1:-1:-1;48668:9:24;;;;48651:26;48718:16;48737:41;48760:7;48769:8;48737:22;:41::i;:::-;48718:60;;48791:69;48822:8;48840:1;48851:6;48791:12;:69::i;4006:378:81:-;4130:16;;;4144:1;4130:16;;;;;;;;4082:11;;;;4130:16;4144:1;4130:16;;;;;;;;;;-1:-1:-1;4130:16:81;4101:45;;4185:10;4152:9;4162:1;4152:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4241:6;-1:-1:-1;;;;;4225:24:81;4217:33;;4202:9;4212:1;4202:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;4257:13;4273:62;1169:66;4308:9;4257:13;-1:-1:-1;;;4273:24:81;:62::i;:::-;4257:78;;4349:29;4370:5;4357: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:691::-;20883:3;20872:9;20865:22;20846:4;20910:57;20962:3;20951:9;20947:19;20939:6;20910:57;:::i;:::-;21015:9;21007:6;21003:22;20998:2;20987:9;20983:18;20976:50;21049:33;21075:6;21067;21049:33;:::i;:::-;21035:47;;21118:6;21113:2;21102:9;21098:18;21091:34;21173:9;21165:6;21161:22;21156:2;21145:9;21141:18;21134:50;21201:33;21227:6;21219;21201:33;:::i;21245:898::-;21698:6;21687:9;21680:25;21741:3;21736:2;21725:9;21721:18;21714:31;21661:4;21768:57;21820:3;21809:9;21805:19;21797:6;21768:57;:::i;:::-;21873:9;21865:6;21861:22;21856:2;21845:9;21841:18;21834:50;21907:33;21933:6;21925;21907:33;:::i;:::-;21893:47;;21976:6;21971:2;21960:9;21956:18;21949:34;22032:9;22024:6;22020:22;22014:3;22003:9;21999:19;21992:51;22060:33;22086:6;22078;22060:33;:::i;:::-;22052:41;;;22130:6;22124:3;22113:9;22109:19;22102:35;21245:898;;;;;;;;;:::o;22148:287::-;22277:3;22315:6;22309:13;22331:66;22390:6;22385:3;22378:4;22370:6;22366:17;22331:66;:::i;:::-;22413:16;;;;;22148:287;-1:-1:-1;;22148:287:214:o;22440:261::-;22619:2;22608:9;22601:21;22582:4;22639:56;22691:2;22680:9;22676:18;22668:6;22639:56;:::i;22706:466::-;23004:6;22993:9;22986:25;23047:2;23042;23031:9;23027:18;23020:30;22967:4;23067:56;23119:2;23108:9;23104:18;23096:6;23067:56;:::i;:::-;23059:64;;23159:6;23154:2;23143:9;23139:18;23132:34;22706:466;;;;;;:::o;23531:363::-;23769:6;23758:9;23751:25;23812:2;23807;23796:9;23792:18;23785:30;23732:4;23832:56;23884:2;23873:9;23869:18;23861:6;23832:56;:::i;23899:604::-;24207:6;24196:9;24189:25;24250:3;24245:2;24234:9;24230:18;24223:31;24170:4;24277:57;24329:3;24318:9;24314:19;24306:6;24277:57;:::i;:::-;24382:4;24374:6;24370:17;24365:2;24354:9;24350:18;24343:45;24436:9;24428:6;24424:22;24419:2;24408:9;24404:18;24397:50;24464:33;24490:6;24482;24464:33;:::i;24911:492::-;25086:3;25124:6;25118:13;25140:66;25199:6;25194:3;25187:4;25179:6;25175:17;25140:66;:::i;:::-;25269:13;;25228:16;;;;25291:70;25269:13;25228:16;25338:4;25326:17;;25291:70;:::i;:::-;25377:20;;24911:492;-1:-1:-1;;;;24911:492:214:o;25408:512::-;25659:2;25648:9;25641:21;25622:4;25685:56;25737:2;25726:9;25722:18;25714:6;25685:56;:::i;:::-;25789:14;25781:6;25777:27;25772:2;25761:9;25757:18;25750:55;25853:9;25845:6;25841:22;25836:2;25825:9;25821:18;25814:50;25881:33;25907:6;25899;25881:33;:::i;25925:616::-;26235:6;26224:9;26217:25;26278:3;26273:2;26262:9;26258:18;26251:31;26198:4;26305:57;26357:3;26346:9;26342:19;26334:6;26305:57;:::i;:::-;26410:14;26402:6;26398:27;26393:2;26382:9;26378:18;26371:55;26474:9;26466:6;26462:22;26457:2;26446:9;26442:18;26435:50;26502:33;26528:6;26520;26502:33;:::i;26546:639::-;26796:6;26791:3;26784:19;26766:3;26822:2;26855;26850:3;26846:12;26887:6;26881:13;26952:2;26944:6;26940:15;26973:1;26983:175;26997:6;26994:1;26991:13;26983:175;;;27060:13;;27046:28;;27096:14;;;;27133:15;;;;27019:1;27012:9;26983:175;;;-1:-1:-1;27174:5:214;;26546:639;-1:-1:-1;;;;;;;26546:639:214:o;27190:184::-;-1:-1:-1;;;27239:1:214;27232:88;27339:4;27336:1;27329:15;27363:4;27360:1;27353:15;27379:274;27419:1;27445;27435:189;;-1:-1:-1;;;27477:1:214;27470:88;27581:4;27578:1;27571:15;27609:4;27606:1;27599:15;27435:189;-1:-1:-1;27638:9:214;;27379:274::o;27658:530::-;27843:3;27881:6;27875:13;27897:66;27956:6;27951:3;27944:4;27936:6;27932:17;27897:66;:::i;:::-;28032:2;28028:15;;;;-1:-1:-1;;28024:88:214;27985:16;;;;28010:103;;;28140:2;28129:14;;28122:30;;;;28179:2;28168:14;;27658:530;-1:-1:-1;;27658:530:214:o;28193:360::-;28396:2;28385:9;28378:21;28359:4;28416:45;28457:2;28446:9;28442:18;28434:6;28416:45;:::i;:::-;28492:2;28477:18;;28470:34;;;;-1:-1:-1;28535:2:214;28520:18;28513:34;28408:53;28193:360;-1:-1:-1;28193:360:214:o;28745:174::-;28812:12;28844:10;;;28856;;;28840:27;;28879:11;;;28876:37;;;28893:18;;:::i;:::-;28876:37;28745:174;;;;:::o;29571:900::-;29994:6;29983:9;29976:25;30037:3;30032:2;30021:9;30017:18;30010:31;29957:4;30064:57;30116:3;30105:9;30101:19;30093:6;30064:57;:::i;:::-;30169:4;30157:17;;30152:2;30137:18;;30130:45;30194:12;30242:15;;;30237:2;30222:18;;30215:43;30295:15;;30289:3;30274:19;;30267:44;30342:3;30327:19;;30320:35;;;30392:22;;;30386:3;30371:19;;30364:51;30432:33;30396:6;30450;30432:33;:::i;:::-;30424:41;29571:900;-1:-1:-1;;;;;;;;;;29571:900:214:o;30476:788::-;30840:3;30829:9;30822:22;30803:4;30867:57;30919:3;30908:9;30904:19;30896:6;30867:57;:::i;:::-;30972:4;30964:6;30960:17;30955:2;30944:9;30940:18;30933:45;31026:14;31018:6;31014:27;31009:2;30998:9;30994:18;30987:55;31090:12;31082:6;31078:25;31073:2;31062:9;31058:18;31051:53;31141:6;31135:3;31124:9;31120:19;31113:35;31197:9;31189:6;31185:22;31179:3;31168:9;31164:19;31157:51;31225:33;31251:6;31243;31225:33;:::i;:::-;31217:41;30476:788;-1:-1:-1;;;;;;;;;30476:788:214:o;31269:175::-;31306:3;31350:4;31343:5;31339:16;31379:4;31370:7;31367:17;31364:43;;31387:18;;:::i;:::-;31436:1;31423:15;;31269:175;-1:-1:-1;;31269:175:214:o","linkReferences":{},"immutableReferences":{"35579":[{"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\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"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\":\"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\":\"EncodedLengths\",\"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\":\"EncodedLengths\",\"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\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"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.\"}}],\"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\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"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.\"}],\"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/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"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/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"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\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"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\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"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\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"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\":\"0x0128498e258f144cf98f0aa9aa0b39955273f31ca5464258a4cac8b3dbdb1b35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cab457b868f39aaab35cb80ec4446606a0647a128234a2e3a16188d609efdd33\",\"dweb:/ipfs/QmP4DeduAZfLBG7uN7DUuEoqom6sairSkwU3vb22MZMHL9\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"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\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"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\":\"0xdd9f36208c5975c50187645c3296dccf014a73a9ed2d03b209984e101eca89c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://27245a6f43082eecb2f1ffd309c477020b64eadaa070066d10c3c46b8b5f720a\",\"dweb:/ipfs/QmQ8nqsgKRw2DYwydFbY9HZv1sNySnysrWkbteTp21eEuZ\"]},\"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\":\"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a\",\"dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol\":{\"keccak256\":\"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791\",\"dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSignatures.sol\":{\"keccak256\":\"0xe0b2ae91638eb7a609ce29428b3ab2a796f06558cf82cca9a258fd4ff06690dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://522872daab151f15b83bb63a41dd54bc9142b8875fabd43f4bdae209f7532fd1\",\"dweb:/ipfs/QmNRWboeoneiCkewk7BLp27yQCj7NE6DGNiaeWt6Z4jYtX\"]},\"node_modules/@latticexyz/world/src/codegen/tables/InstalledModules.sol\":{\"keccak256\":\"0x50a1f277a00f01e3cb97a85f0fc624ae2192a726136720b6a900b465a7aecc05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8f3cd87cc0b905d5b75d134d95176630404e76c0f0a343cbd17b8338e1492c0b\",\"dweb:/ipfs/QmURFDNBdUWgh57apX9n7VF68rSQeQrpc5to4FFV6bbJgN\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceDelegationControl.sol\":{\"keccak256\":\"0x66193215d3c053675d67ba81d530ee2bb1c39250a15cf2d9a6fb166615af461d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b783be83ef27281fb6ae2166f692d0ec912bdbe4f49312181b1ef561b5098729\",\"dweb:/ipfs/Qmdtmq4mGtrqoFg4UWhxAevNfVXEUhp8fohRWycqKD2vCk\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597\",\"dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e\",\"dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol\":{\"keccak256\":\"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674\",\"dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol\":{\"keccak256\":\"0xcb1e9fd5cd02cbb7125f2a64c02f89272d4b0f2afc0b43f24b727f023ef06493\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f4a923e67dea1c1c0a978cbb89d4e27f6e0205f49efe0556ac90b358bd2062ab\",\"dweb:/ipfs/QmZww8gDH9kyXsCaTYWzupNhL1QqR1emAbb5VifFWhDWYF\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7\",\"dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz\"]},\"node_modules/@latticexyz/world/src/codegen/tables/UserDelegationControl.sol\":{\"keccak256\":\"0x3b8d434a81e5667242724089207f90001099d32095e05c4efd75931201d850b1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://73d47004e03e56b0d0e64ca9012219bc6ae01cef455d7e6ccab9f60dfc5e55b5\",\"dweb:/ipfs/QmQUcGYNEVBRs1oj1HgJ92SPNuiDL3YVYbBymGy63yxqDc\"]},\"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":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"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":"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":"EncodedLengths","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":"EncodedLengths","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/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"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/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"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/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":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"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":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"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":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"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/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":"0x0128498e258f144cf98f0aa9aa0b39955273f31ca5464258a4cac8b3dbdb1b35","urls":["bzz-raw://cab457b868f39aaab35cb80ec4446606a0647a128234a2e3a16188d609efdd33","dweb:/ipfs/QmP4DeduAZfLBG7uN7DUuEoqom6sairSkwU3vb22MZMHL9"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"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":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"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":"0xdd9f36208c5975c50187645c3296dccf014a73a9ed2d03b209984e101eca89c5","urls":["bzz-raw://27245a6f43082eecb2f1ffd309c477020b64eadaa070066d10c3c46b8b5f720a","dweb:/ipfs/QmQ8nqsgKRw2DYwydFbY9HZv1sNySnysrWkbteTp21eEuZ"],"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":"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d","urls":["bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a","dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol":{"keccak256":"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926","urls":["bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791","dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSignatures.sol":{"keccak256":"0xe0b2ae91638eb7a609ce29428b3ab2a796f06558cf82cca9a258fd4ff06690dd","urls":["bzz-raw://522872daab151f15b83bb63a41dd54bc9142b8875fabd43f4bdae209f7532fd1","dweb:/ipfs/QmNRWboeoneiCkewk7BLp27yQCj7NE6DGNiaeWt6Z4jYtX"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/InstalledModules.sol":{"keccak256":"0x50a1f277a00f01e3cb97a85f0fc624ae2192a726136720b6a900b465a7aecc05","urls":["bzz-raw://8f3cd87cc0b905d5b75d134d95176630404e76c0f0a343cbd17b8338e1492c0b","dweb:/ipfs/QmURFDNBdUWgh57apX9n7VF68rSQeQrpc5to4FFV6bbJgN"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceDelegationControl.sol":{"keccak256":"0x66193215d3c053675d67ba81d530ee2bb1c39250a15cf2d9a6fb166615af461d","urls":["bzz-raw://b783be83ef27281fb6ae2166f692d0ec912bdbe4f49312181b1ef561b5098729","dweb:/ipfs/Qmdtmq4mGtrqoFg4UWhxAevNfVXEUhp8fohRWycqKD2vCk"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614","urls":["bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597","dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc","urls":["bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e","dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol":{"keccak256":"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f","urls":["bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674","dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol":{"keccak256":"0xcb1e9fd5cd02cbb7125f2a64c02f89272d4b0f2afc0b43f24b727f023ef06493","urls":["bzz-raw://f4a923e67dea1c1c0a978cbb89d4e27f6e0205f49efe0556ac90b358bd2062ab","dweb:/ipfs/QmZww8gDH9kyXsCaTYWzupNhL1QqR1emAbb5VifFWhDWYF"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c","urls":["bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7","dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/UserDelegationControl.sol":{"keccak256":"0x3b8d434a81e5667242724089207f90001099d32095e05c4efd75931201d850b1","urls":["bzz-raw://73d47004e03e56b0d0e64ca9012219bc6ae01cef455d7e6ccab9f60dfc5e55b5","dweb:/ipfs/QmQUcGYNEVBRs1oj1HgJ92SPNuiDL3YVYbBymGy63yxqDc"],"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}
|