@latticexyz/world-modules 2.0.0-main-7c23dd77 → 2.0.0-main-ad0c5adc

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (143) hide show
  1. package/out/AccessControl.sol/AccessControl.json +1 -1
  2. package/out/AccessControlLib.sol/AccessControlLib.json +1 -1
  3. package/out/AccessManagementSystem.sol/AccessManagementSystem.json +1 -1
  4. package/out/AddressArray.sol/AddressArray.json +1 -1
  5. package/out/Allowances.sol/Allowances.json +1 -1
  6. package/out/BalanceTransferSystem.sol/BalanceTransferSystem.json +1 -1
  7. package/out/Balances.sol/Balances.json +1 -1
  8. package/out/BatchCallSystem.sol/BatchCallSystem.json +1 -1
  9. package/out/Bool.sol/Bool.json +1 -1
  10. package/out/CallboundDelegationControl.sol/CallboundDelegationControl.json +1 -1
  11. package/out/CallboundDelegations.sol/CallboundDelegations.json +1 -1
  12. package/out/Delegation.sol/Delegation.json +1 -1
  13. package/out/DelegationControl.sol/DelegationControl.json +1 -1
  14. package/out/DelegationControlMock.sol/DelegationControlMock.json +1 -1
  15. package/out/ERC20.t.sol/ERC20Test.json +1 -1
  16. package/out/ERC20Metadata.sol/ERC20Metadata.json +1 -1
  17. package/out/ERC20Module.sol/ERC20Module.json +1 -1
  18. package/out/ERC20Module.sol/ERC20ModuleRegistrationLibrary.json +1 -1
  19. package/out/ERC20Registry.sol/ERC20Registry.json +1 -1
  20. package/out/ERC20System.sol/ERC20System.json +1 -1
  21. package/out/ERC721.t.sol/ERC721Recipient.json +1 -1
  22. package/out/ERC721.t.sol/ERC721Test.json +1 -1
  23. package/out/ERC721.t.sol/ERC721TokenReceiver.json +1 -1
  24. package/out/ERC721.t.sol/NonERC721Recipient.json +1 -1
  25. package/out/ERC721.t.sol/RevertingERC721Recipient.json +1 -1
  26. package/out/ERC721.t.sol/WrongReturnDataERC721Recipient.json +1 -1
  27. package/out/ERC721Metadata.sol/ERC721Metadata.json +1 -1
  28. package/out/ERC721Module.sol/ERC721Module.json +1 -1
  29. package/out/ERC721Module.sol/ERC721ModuleRegistrationLibrary.json +1 -1
  30. package/out/ERC721Registry.sol/ERC721Registry.json +1 -1
  31. package/out/ERC721System.sol/ERC721System.json +1 -1
  32. package/out/EchoSubscriber.sol/EchoSubscriber.json +1 -1
  33. package/out/FunctionSelectors.sol/FunctionSelectors.json +1 -1
  34. package/out/FunctionSignatures.sol/FunctionSignatures.json +1 -1
  35. package/out/Hook.sol/HookInstance.json +1 -1
  36. package/out/Hook.sol/HookLib.json +1 -1
  37. package/out/Hooks.sol/Hooks.json +1 -1
  38. package/out/IBaseWorld.sol/IBaseWorld.abi.json +0 -202
  39. package/out/IBaseWorld.sol/IBaseWorld.abi.json.d.ts +0 -202
  40. package/out/IBaseWorld.sol/IBaseWorld.json +1 -1
  41. package/out/IStore.sol/IStore.abi.json +0 -202
  42. package/out/IStore.sol/IStore.abi.json.d.ts +0 -202
  43. package/out/IStore.sol/IStore.json +1 -1
  44. package/out/IStoreEvents.sol/IStoreEvents.json +1 -1
  45. package/out/IStoreHook.sol/IStoreHook.json +1 -1
  46. package/out/IStoreRead.sol/IStoreRead.json +1 -1
  47. package/out/IStoreRegistration.sol/IStoreRegistration.json +1 -1
  48. package/out/IStoreWrite.sol/IStoreWrite.json +1 -1
  49. package/out/IWorldRegistrationSystem.sol/IWorldRegistrationSystem.json +1 -1
  50. package/out/InitModule.sol/InitModule.json +1 -1
  51. package/out/InitModuleAddress.sol/InitModuleAddress.json +1 -1
  52. package/out/InstalledModules.sol/InstalledModules.json +1 -1
  53. package/out/KeysInTable.sol/KeysInTable.json +1 -1
  54. package/out/KeysInTableHook.sol/KeysInTableHook.json +1 -1
  55. package/out/KeysInTableModule.sol/KeysInTableModule.json +1 -1
  56. package/out/KeysInTableModule.t.sol/KeysInTableModuleTest.json +1 -1
  57. package/out/KeysWithValue.sol/KeysWithValue.json +1 -1
  58. package/out/KeysWithValueHook.sol/KeysWithValueHook.json +1 -1
  59. package/out/KeysWithValueModule.sol/KeysWithValueModule.json +1 -1
  60. package/out/KeysWithValueModule.t.sol/KeysWithValueModuleTest.json +1 -1
  61. package/out/Memory.sol/Memory.json +1 -1
  62. package/out/Module.sol/Module.json +1 -1
  63. package/out/ModuleInstallationSystem.sol/ModuleInstallationSystem.json +1 -1
  64. package/out/NamespaceDelegationControl.sol/NamespaceDelegationControl.json +1 -1
  65. package/out/NamespaceOwner.sol/NamespaceOwner.json +1 -1
  66. package/out/OperatorApproval.sol/OperatorApproval.json +1 -1
  67. package/out/Owners.sol/Owners.json +1 -1
  68. package/out/PackedCounter.sol/PackedCounterInstance.json +1 -1
  69. package/out/PackedCounter.sol/PackedCounterLib.json +1 -1
  70. package/out/Puppet.sol/Puppet.json +1 -1
  71. package/out/PuppetDelegationControl.sol/PuppetDelegationControl.json +1 -1
  72. package/out/PuppetFactorySystem.sol/PuppetFactorySystem.json +1 -1
  73. package/out/PuppetMaster.sol/PuppetMaster.json +1 -1
  74. package/out/PuppetModule.sol/PuppetModule.json +1 -1
  75. package/out/PuppetModule.t.sol/PuppetModuleTest.json +1 -1
  76. package/out/PuppetModule.t.sol/PuppetTestSystem.json +1 -1
  77. package/out/PuppetRegistry.sol/PuppetRegistry.json +1 -1
  78. package/out/RegistrationSystem.sol/RegistrationSystem.json +1 -1
  79. package/out/ResourceAccess.sol/ResourceAccess.json +1 -1
  80. package/out/ResourceId.sol/ResourceIdInstance.json +1 -1
  81. package/out/ResourceId.sol/ResourceIdLib.json +1 -1
  82. package/out/ResourceIds.sol/ResourceIds.json +1 -1
  83. package/out/RevertSubscriber.sol/RevertSubscriber.json +1 -1
  84. package/out/Schema.sol/SchemaInstance.json +1 -1
  85. package/out/Schema.sol/SchemaLib.json +1 -1
  86. package/out/Slice.sol/SliceInstance.json +1 -1
  87. package/out/Slice.sol/SliceLib.json +1 -1
  88. package/out/StandardDelegationsModule.sol/StandardDelegationsModule.json +1 -1
  89. package/out/StandardDelegationsModule.t.sol/StandardDelegationsModuleTest.json +1 -1
  90. package/out/Storage.sol/Storage.json +1 -1
  91. package/out/StoreCore.sol/StoreCore.json +1 -1
  92. package/out/StoreCore.sol/StoreCoreInternal.json +1 -1
  93. package/out/StoreData.sol/StoreData.json +1 -1
  94. package/out/StoreHook.sol/StoreHook.json +1 -1
  95. package/out/StoreHooks.sol/StoreHooks.json +1 -1
  96. package/out/StoreRead.sol/StoreRead.json +1 -1
  97. package/out/StoreRegistrationSystem.sol/StoreRegistrationSystem.json +1 -1
  98. package/out/StoreSwitch.sol/StoreSwitch.json +1 -1
  99. package/out/System.sol/System.json +1 -1
  100. package/out/SystemCall.sol/SystemCall.json +1 -1
  101. package/out/SystemHooks.sol/SystemHooks.json +1 -1
  102. package/out/SystemRegistry.sol/SystemRegistry.json +1 -1
  103. package/out/SystemSwitch.sol/SystemSwitch.json +1 -1
  104. package/out/SystemSwitch.t.sol/EchoSystem.json +1 -1
  105. package/out/SystemSwitch.t.sol/SystemSwitchTest.json +1 -1
  106. package/out/SystemboundDelegationControl.sol/SystemboundDelegationControl.json +1 -1
  107. package/out/SystemboundDelegations.sol/SystemboundDelegations.json +1 -1
  108. package/out/Systems.sol/Systems.json +1 -1
  109. package/out/Tables.sol/Tables.json +1 -1
  110. package/out/TimeboundDelegationControl.sol/TimeboundDelegationControl.json +1 -1
  111. package/out/TimeboundDelegations.sol/TimeboundDelegations.json +1 -1
  112. package/out/TokenApproval.sol/TokenApproval.json +1 -1
  113. package/out/TokenURI.sol/TokenURI.json +1 -1
  114. package/out/TotalSupply.sol/TotalSupply.json +1 -1
  115. package/out/TwoFields.sol/TwoFields.json +1 -1
  116. package/out/UniqueEntity.sol/UniqueEntity.json +1 -1
  117. package/out/UniqueEntityModule.sol/UniqueEntityModule.json +1 -1
  118. package/out/UniqueEntityModule.t.sol/UniqueEntityModuleTest.json +1 -1
  119. package/out/UniqueEntityModule.t.sol/UniqueEntityTestSystem.json +1 -1
  120. package/out/UniqueEntitySystem.sol/UniqueEntitySystem.json +1 -1
  121. package/out/UsedKeysIndex.sol/UsedKeysIndex.json +1 -1
  122. package/out/UserDelegationControl.sol/UserDelegationControl.json +1 -1
  123. package/out/World.sol/World.json +1 -1
  124. package/out/World.t.sol/EchoSystemHook.json +1 -1
  125. package/out/World.t.sol/IWorldTestSystem.json +1 -1
  126. package/out/World.t.sol/PayableFallbackSystem.json +1 -1
  127. package/out/World.t.sol/RevertSystemHook.json +1 -1
  128. package/out/World.t.sol/WorldTest.json +1 -1
  129. package/out/World.t.sol/WorldTestSystem.json +1 -1
  130. package/out/WorldContext.sol/WorldContextConsumer.json +1 -1
  131. package/out/WorldContext.sol/WorldContextConsumerLib.json +1 -1
  132. package/out/WorldContext.sol/WorldContextProviderLib.json +1 -1
  133. package/out/WorldRegistrationSystem.sol/WorldRegistrationSystem.json +1 -1
  134. package/out/constants.sol/LayoutOffsets.json +1 -1
  135. package/out/interfaces/IBaseWorld.sol/IBaseWorld.abi.json +0 -202
  136. package/out/interfaces/IBaseWorld.sol/IBaseWorld.abi.json.d.ts +0 -202
  137. package/out/interfaces/IBaseWorld.sol/IBaseWorld.json +1 -1
  138. package/out/query.t.sol/QueryTest.json +1 -1
  139. package/out/tables/Balances.sol/Balances.json +1 -1
  140. package/package.json +8 -8
  141. package/out/IStoreErrors.sol/IStoreErrors.abi.json +0 -204
  142. package/out/IStoreErrors.sol/IStoreErrors.abi.json.d.ts +0 -204
  143. package/out/IStoreErrors.sol/IStoreErrors.json +0 -1
@@ -1 +1 @@
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":"install","inputs":[{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installRoot","inputs":[{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"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_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":"ERC721Module_InvalidNamespace","inputs":[{"name":"namespace","type":"bytes14","internalType":"bytes14"}]},{"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":"Module_AlreadyInstalled","inputs":[]},{"type":"error","name":"Module_MissingDependency","inputs":[{"name":"dependency","type":"address","internalType":"address"}]},{"type":"error","name":"Module_NonRootInstallNotSupported","inputs":[]},{"type":"error","name":"Module_RootInstallNotSupported","inputs":[]},{"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_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_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"}]}],"bytecode":{"object":"0x60c0604081905230608052620000159062000053565b604051809103906000f08015801562000032573d6000803e3d6000fd5b506001600160a01b031660a0523480156200004c57600080fd5b5062000061565b615a65806200363a83390190565b60805160a0516135b36200008760003960006102d7015260006101fb01526135b36000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c806345ec93541161005057806345ec9354146100d45780637c5b0335146100e7578063e1af802c146100fa57600080fd5b806301ffc9a714610077578063119df25f1461009f57806313861fb5146100bf575b600080fd5b61008a610085366004612d4a565b610102565b60405190151581526020015b60405180910390f35b6100a76101e7565b6040516001600160a01b039091168152602001610096565b6100d26100cd366004612e24565b6101f6565b005b604051601f193601358152602001610096565b6100d26100f5366004612e24565b610749565b6100a761077b565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f6fdd1c8000000000000000000000000000000000000000000000000000000000148061019557507fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee12700000000000000000000000000000000000000000000000000000000145b806101e157507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101f1610785565b905090565b6102207f0000000000000000000000000000000000000000000000000000000000000000826107b7565b600080828060200190518101906102379190612f18565b90925090507f9a8d9cc8cdced28f8a8f8f9a8c0000000000000000000000000000000000000071ffffffffffffffffffffffffffffffffffff198316016102c6576040517f2ca07d8400000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff19831660048201526024015b60405180910390fd5b60006102d061077b565b90506000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316838660405160240161033b9291906001600160a01b0392909216825271ffffffffffffffffffffffffffffffffffff1916602082015260400190565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f472466c2000000000000000000000000000000000000000000000000000000001790525161039e9190612ffb565b600060405180830381855af49150503d80600081146103d9576040519150601f19603f3d011682016040523d82523d6000602084013e6103de565b606091505b5091509150816103f1576103f1816107fc565b6104036103fd86610804565b85610836565b600061040e86610893565b9050600061041c85836108e0565b90507f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000601089901c16176001600160a01b03861663ef5d6bbb8261047d6101e7565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815260048101929092526001600160a01b03166024820152604401600060405180830381600087803b1580156104dc57600080fd5b505af11580156104f0573d6000803e3d6000fd5b505060408051613a3160f11b60208201527f6572633732312d7075707065740000000000000000000000000000000000000060228201527f45524337323152656769737472790000000000000000000000000000000000006030820152610572935001905060405160208183030381529060405261056d90613017565b610bde565b6106bf576040517f6e7300000000000000000000000000000000000000000000000000000000000060208201527f6572633732312d7075707065740000000000000000000000000000000000000060228201526001600160a01b0387169063b29e4089906030016040516020818303038152906040526105f190613017565b6040518263ffffffff1660e01b815260040161060f91815260200190565b600060405180830381600087803b15801561062957600080fd5b505af115801561063d573d6000803e3d6000fd5b505060408051613a3160f11b60208201527f6572633732312d7075707065740000000000000000000000000000000000000060228201527f455243373231526567697374727900000000000000000000000000000000000060308201526106bf93500190506040516020818303038152906040526106ba90613017565b610c6b565b60408051613a3160f11b60208201527f6572633732312d7075707065740000000000000000000000000000000000000060228201527f4552433732315265676973747279000000000000000000000000000000000000603082015261073e910160405160208183030381529060405261073790613017565b8284610cb7565b505050505050505050565b6040517fb6622fc000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006101f1610d77565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806107b45750335b90565b6107c18282610d81565b156107f8576040517f1401206800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b805160208201fd5b60006101e1613a3160f11b837f4d65746164617461000000000000000000000000000000000000000000000000610d9b565b60606000610851836000015184602001518560400151610e21565b9050600061086c846000015185602001518660400151610e4a565b60408051600081526020810190915290915061088b8682868686610e79565b505050505050565b60006101e17f7379000000000000000000000000000000000000000000000000000000000000837f45524337323153797374656d0000000000000000000000000000000000000000610d9b565b604080517f737900000000000000000000000000000000000000000000000000000000000060208201527f707570706574000000000000000000000000000000000000000000000000000060228201527f466163746f72790000000000000000000000000000000000000000000000000060308201526000916001600160a01b03851691633ae7af08910160405160208183030381529060405261098390613017565b6040516024810186905260440160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb9eb8bfb00000000000000000000000000000000000000000000000000000000179052517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152610a20929190600401613067565b6000604051808303816000875af1158015610a3f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a679190810190613080565b806020019051810190610a7a91906130c9565b90506001600160a01b03831663bfdfaff77f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617604080517f737900000000000000000000000000000000000000000000000000000000000060208201527f707570706574000000000000000000000000000000000000000000000000000060228201527f44656c65676174696f6e00000000000000000000000000000000000000000000603082015201604051602081830303815290604052610b5d90613017565b604080516000815260208101918290527fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16909152610ba6929190602481016130f2565b600060405180830381600087803b158015610bc057600080fd5b505af1158015610bd4573d6000803e3d6000fd5b5050505092915050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610c1757610c17613111565b60209081029190910101526000610c577f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b610f2e565b9050610c638160f81c90565b949350505050565b610cb4817e14010014000000000000000000000000000000000000000000000000000000610c97610feb565b610c9f611063565b610ca761109d565b610caf611122565b611199565b50565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610ced57610ced613111565b602002602001018181525050610d718482600085604051602001610d3c919060609190911b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016815260140190565b60408051601f198184030181529190527e14010014000000000000000000000000000000000000000000000000000000611253565b50505050565b60006101f16112c9565b6000610d94838380519060200120611308565b9392505050565b6000610da96070601061313d565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316901c601084901c7dffffffffffffffffffffffffffff00000000000000000000000000000000167fffff0000000000000000000000000000000000000000000000000000000000008616171790509392505050565b6000610c63845184518451608881901b606083901b603885901b85850184011717179392505050565b6060838383604051602001610e6193929190613150565b60405160208183030381529060405290509392505050565b6000610e836112c9565b9050306001600160a01b03821603610ea757610ea286868686866113c2565b61088b565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb90610ef490899089908990899089906004016131cf565b600060405180830381600087803b158015610f0e57600080fd5b505af1158015610f22573d6000803e3d6000fd5b50505050505050505050565b600080610f396112c9565b9050306001600160a01b03821603610f5f57610f57868686866113df565b915050610c63565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990610faa908990899089908990600401613220565b602060405180830381865afa158015610fc7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f57919061324f565b60408051600180825281830190925260009182919060208083019080368337019050509050605f8160008151811061102557611025613111565b602002602001019060c581111561103e5761103e613268565b908160c581111561105157611051613268565b90525061105d8161140c565b91505090565b6040805160018082528183019092526000918291906020808301908036833701905050905060618160008151811061102557611025613111565b604080516001808252818301909252606091816020015b60608152602001906001900390816110b45790505090506040518060400160405280600b81526020017f6e616d65737061636549640000000000000000000000000000000000000000008152508160008151811061111457611114613111565b602002602001018190525090565b604080516001808252818301909252606091816020015b60608152602001906001900390816111395790505090506040518060400160405280600c81526020017f746f6b656e4164647265737300000000000000000000000000000000000000008152508160008151811061111457611114613111565b60006111a36112c9565b9050306001600160a01b038216036111c8576111c38787878787876115c7565b61124a565b6040517f0ba51f490000000000000000000000000000000000000000000000000000000081526001600160a01b03821690630ba51f4990611217908a908a908a908a908a908a906004016132d8565b600060405180830381600087803b15801561123157600080fd5b505af1158015611245573d6000803e3d6000fd5b505050505b50505050505050565b600061125d6112c9565b9050306001600160a01b0382160361127c57610ea28686868686611a1d565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090610ef49089908990899089908990600401613322565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680611303573391505090565b919050565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b8160008151811061134d5761134d613111565b602002602001018181525050828160018151811061136d5761136d613111565b602090810291909101015260006113ad7f7462776f726c64000000000000000000496e7374616c6c65644d6f64756c65738383630101000160d81b610f2e565b90506113b98160f81c90565b95945050505050565b6113d885858585856113d38b611a32565b611ab7565b5050505050565b60006113b96113ee8686611df0565b60ff858116601b0360080285901c166114078587611e46565b611e7f565b6000601c82511115611436578151604051635318beb960e01b81526004016102bd91815260200190565b60008080805b855181101561151157600061147a87838151811061145c5761145c613111565b602002602001015160c581111561147557611475613268565b611ed0565b90508060000361148f576001909201916114c7565b82156114c7576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80840193506008826004601f0303028783815181106114e8576114e8613111565b602002602001015160c581111561150157611501613268565b901b94909417935060010161143c565b50600581111561153757604051635318beb960e01b8152600481018290526024016102bd565b8451819003600861154a60026020613369565b611554919061337c565b83901b93909317926008600161156c60026020613369565b6115769190613369565b611580919061337c565b81901b9390931792600860018061159960026020613369565b6115a39190613369565b6115ad9190613369565b6115b7919061337c565b9190911b92909217949350505050565b613a3160f11b867fffff000000000000000000000000000000000000000000000000000000000000161480159061164057507f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001614155b156116a157613a3160f11b868760405160200161165f91815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526102bd939291600401613393565b6116aa85611f30565b6116b5846001612177565b6116c0836000612177565b60e084901c60e885901c0160ff168251146117205760e084901c60e885901c0160ff1682516040517f0f72cb98000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b60e085901c60e886901c0160ff168151146117805760e085901c60e886901c0160ff1681516040517f7dec4c00000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b60e085901c60e886901c0160ff1660e084901c60e885901c0160ff16146117f85760e085901c60e886901c0160ff1660e084901c60e885901c0160ff166040517ff29d4d88000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b61180185612313565b61180a84612313565b1461185c5761181885612313565b61182184612313565b6040517f65cc0adf000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b61186585612345565b61186e84612345565b146118c05761187c85612345565b61188584612345565b6040517fedea9587000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b60005b6118cc86612313565b811015611962576118f16118e08583612362565b60c581111561147557611475613268565b6008601b8390030287901c60ff161461195a576008601b8290030286901c60ff1661191f6118e08684612362565b6040517f254c7db4000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b6001016118c3565b5061196c86612383565b156119c657858660405160200161198591815260200190565b60408051601f19818403018152908290527fdfaaf9cf0000000000000000000000000000000000000000000000000000000082526102bd9291600401613067565b611a1286868686866040516020016119de91906133d4565b604051602081830303815290604052866040516020016119fe91906133d4565b6040516020818303038152906040526123fc565b61088b8660016124b7565b6113d88585611a2c8487611e46565b8561255d565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d000000000000000000008201611a8157507e60030220202000000000000000000000000000000000000000000000000000919050565b6101e1611aae7f746273746f72650000000000000000005461626c657300000000000000000000846127f8565b60206000611e7f565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001603611b4357857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a986868686604051611b3694939291906133e7565b60405180910390a261088b565b6000611b4e87612814565b905060005b8151811015611c27576000828281518110611b7057611b70613111565b60200260200101519050611b9c6001826affffffffffffffffffffff191661289d90919063ffffffff16565b15611c1e576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90611beb908c908c908c908c908c908c90600401613431565b600060405180830381600087803b158015611c0557600080fd5b505af1158015611c19573d6000803e3d6000fd5b505050505b50600101611b53565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a987878787604051611c5e94939291906133e7565b60405180910390a26000611c728888611df0565b90506000602087019050611c8a8260008951846128bb565b6000611c9585612345565b1115611d19576000611ca78a8a61297a565b878155905060208601915060008060005b611cc188612345565b8160ff161015611d1457611cd68d8d836129d0565b9250611cf18a8260ff166028026038011c64ffffffffff1690565b9150611d0083600084886128bb565b611d0a828661313d565b9450600101611cb8565b505050505b60005b8351811015610f22576000848281518110611d3957611d39613111565b60200260200101519050611d656002826affffffffffffffffffffff191661289d90919063ffffffff16565b15611de7576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90611db4908e908e908e908e908e908e90600401613431565b600060405180830381600087803b158015611dce57600080fd5b505af1158015611de2573d6000803e3d6000fd5b505050505b50600101611d1c565b60008282604051602001611e0592919061348a565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff16811015611e7757611e6d60ff601b83900360080287901c168361313d565b9150600101611e4b565b509392505050565b600060208210611ea557602082048401935060208281611ea157611ea16134c6565b0691505b508254600882021b602082900380841115611e77576001850154600882021c82179150509392505050565b6000808260c5811115611ee557611ee5613268565b60ff1690506061811015611eff57601f1660010192915050565b60618360c5811115611f1357611f13613268565b03611f215750601492915050565b50600092915050565b50919050565b80611f67576040517f220c0f6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611f7282612345565b90506005811115611fb9576040517f7f2372c300000000000000000000000000000000000000000000000000000000815260048101829052600560248201526044016102bd565b6000611fc483612313565b90506000611fd2838361313d565b9050601c811115612019576040517f4a8a06ad00000000000000000000000000000000000000000000000000000000815260048101829052601c60248201526044016102bd565b6000805b838110156120c45760ff601b82900360080287901c166000819003612071576040517f01f2a07c000000000000000000000000000000000000000000000000000000008152600481018390526024016102bd565b60208111156120af576040517f24c85d58000000000000000000000000000000000000000000000000000000008152600481018390526024016102bd565b6120b9818461313d565b92505060010161201d565b506120ce85612a50565b811461211a576120dd85612a50565b6040517f9365944a0000000000000000000000000000000000000000000000000000000081526004810191909152602481018290526044016102bd565b825b601c81101561088b5760ff601b82900360080287901c16801561216e576040517fbb68821a000000000000000000000000000000000000000000000000000000008152600481018390526024016102bd565b5060010161211c565b80158015612183575081155b156121a457604051635318beb960e01b8152600060048201526024016102bd565b60006121af83612345565b905060058111156121d657604051635318beb960e01b8152600481018290526024016102bd565b60006121e184612313565b905060006121ef838361313d565b9050601c81111561221657604051635318beb960e01b8152600481018290526024016102bd565b6000805b838110156122825760006122316118e08984612362565b90508060000361226d576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612277818461313d565b92505060010161221a565b5061228c86612a50565b81146122b75761229b86612a50565b604051635318beb960e01b81526004016102bd91815260200190565b825b8281101561124a5760006122d06118e08984612362565b9050801561230a576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001016122b9565b60006008600161232560026020613369565b61232f9190613369565b612339919061337c565b8260ff911c1692915050565b6000600860018061235860026020613369565b6123259190613369565b6000601b8290036008028360ff911c1660c5811115610d9457610d94613268565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106123bc576123bc613111565b60209081029190910101526000610c577f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b6113df565b6000612409868686612a73565b905060006124178484612a95565b905060006124258585612ab2565b6040805160018082528183019092529192506000919060208083019080368337019050509050898160008151811061245f5761245f613111565b6020908102919091010152610f227f746273746f72650000000000000000005461626c657300000000000000000000828686867e60030220202000000000000000000000000000000000000000000000000000611ab7565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106124ed576124ed613111565b6020026020010181815250506125587f746273746f72650000000000000000005265736f75726365496473000000000060001b8260008560405160200161253b91151560f81b815260010190565b60408051601f19818403018152919052630101000160d81b611a1d565b505050565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff00000000000000000000000000000000000000000000000000000000000016036125e757837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8484846040516125da939291906134dc565b60405180910390a2610d71565b60006125f38585611df0565b9050600061260086612814565b905060005b81518110156126d557600082828151811061262257612622613111565b6020026020010151905061264e6004826affffffffffffffffffffff191661289d90919063ffffffff16565b156126cc576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90612699908b908b908b908b90600401613519565b600060405180830381600087803b1580156126b357600080fd5b505af11580156126c7573d6000803e3d6000fd5b505050505b50600101612605565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161270a939291906134dc565b60405180910390a2612725828565ffffffffffff1685612ade565b60005b815181101561124a57600082828151811061274557612745613111565b602002602001015190506127716008826affffffffffffffffffffff191661289d90919063ffffffff16565b156127ef576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba8721906127bc908b908b908b908b90600401613519565b600060405180830381600087803b1580156127d657600080fd5b505af11580156127ea573d6000803e3d6000fd5b505050505b50600101612728565b6040805160208101849052908101829052600090606001611e05565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061284e5761284e613111565b602090810291909101015260006128867f746273746f726500000000000000000053746f7265486f6f6b730000000000008383612af4565b9050610c636128988260008451612b2e565b612bbc565b60008160ff16826128ae8560581c90565b1660ff1614905092915050565b821561293557602083106128e5576020830484019350602083816128e1576128e16134c6565b0692505b82156129355760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411612926575050610d71565b50600194909401939182900391015b5b602082106129575780518455600190930192601f1990910190602001612936565b8115610d71576000600019600884021c8554835182191691161785555050505050565b6000828260405160200161298f92919061348a565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b600083836040516020016129e592919061348a565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b60006008612a6060026020613369565b612a6a919061337c565b9190911c919050565b6040805160208101859052908101839052606081810183905290608001610e61565b8151815160009181810160389190911b1760609190911b17610d94565b60608282604051602001612ac7929190613552565b604051602081830303815290604052905092915050565b61255883838351612aef8560200190565b6128bb565b6060610c63612b048585856129d0565b6000612b2985612b148989612bcd565b9060ff166028026038011c64ffffffffff1690565b612be0565b600081831180612b3e5750835182115b15612b7b578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016102bd93929190613581565b60208401612b89848261313d565b90506000612b978585613369565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000610d948360156000612c03565b6000610d94612bdc848461297a565b5490565b60405160208101601f19603f8484010116604052828252611e7785858584612c7e565b60606000612c118560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281612c3757612c376134c6565b04905060405193506020840160208202810160405281855260005b82811015612c72578451871c825293870193602090910190600101612c52565b50505050509392505050565b8215612d055760208310612ca857602083048401935060208381612ca457612ca46134c6565b0692505b8215612d05576020839003600081841015612ccb5750600019600884021c612cd5565b50600019600882021c5b8554600886021b818451168219821617845250818411612cf6575050610d71565b50600194909401939182900391015b5b60208210612d275783548152600190930192601f1990910190602001612d06565b8115610d71576000600019600884021c8251865482191691161782525050505050565b600060208284031215612d5c57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610d9457600080fd5b634e487b7160e01b600052604160045260246000fd5b6040516060810167ffffffffffffffff81118282101715612dc557612dc5612d8c565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715612df457612df4612d8c565b604052919050565b600067ffffffffffffffff821115612e1657612e16612d8c565b50601f01601f191660200190565b600060208284031215612e3657600080fd5b813567ffffffffffffffff811115612e4d57600080fd5b8201601f81018413612e5e57600080fd5b8035612e71612e6c82612dfc565b612dcb565b818152856020838501011115612e8657600080fd5b81602084016020830137600091810160200191909152949350505050565b60005b83811015612ebf578181015183820152602001612ea7565b50506000910152565b6000612ed6612e6c84612dfc565b9050828152838383011115612eea57600080fd5b610d94836020830184612ea4565b600082601f830112612f0957600080fd5b610d9483835160208501612ec8565b60008060408385031215612f2b57600080fd5b825171ffffffffffffffffffffffffffffffffffff1981168114612f4e57600080fd5b602084015190925067ffffffffffffffff80821115612f6c57600080fd5b9084019060608287031215612f8057600080fd5b612f88612da2565b825182811115612f9757600080fd5b612fa388828601612ef8565b825250602083015182811115612fb857600080fd5b612fc488828601612ef8565b602083015250604083015182811115612fdc57600080fd5b612fe888828601612ef8565b6040830152508093505050509250929050565b6000825161300d818460208701612ea4565b9190910192915050565b80516020808301519190811015611f2a5760001960209190910360031b1b16919050565b60008151808452613053816020860160208601612ea4565b601f01601f19169290920160200192915050565b828152604060208201526000610c63604083018461303b565b60006020828403121561309257600080fd5b815167ffffffffffffffff8111156130a957600080fd5b8201601f810184136130ba57600080fd5b610c6384825160208401612ec8565b6000602082840312156130db57600080fd5b81516001600160a01b0381168114610d9457600080fd5b8381528260208201526060604082015260006113b9606083018461303b565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b808201808211156101e1576101e1613127565b60008451613162818460208901612ea4565b845190830190613176818360208901612ea4565b8451910190613189818360208801612ea4565b0195945050505050565b60008151808452602080850194506020840160005b838110156131c4578151875295820195908201906001016131a8565b509495945050505050565b85815260a0602082015260006131e860a0830187613193565b82810360408401526131fa818761303b565b90508460608401528281036080840152613214818561303b565b98975050505050505050565b8481526080602082015260006132396080830186613193565b60ff949094166040830152506060015292915050565b60006020828403121561326157600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b60008282518085526020808601955060208260051b8401016020860160005b848110156132cb57601f198684030189526132b983835161303b565b9884019892509083019060010161329d565b5090979650505050505050565b86815285602082015284604082015283606082015260c06080820152600061330360c083018561327e565b82810360a0840152613315818561327e565b9998505050505050505050565b85815260a06020820152600061333b60a0830187613193565b60ff861660408401528281036060840152613356818661303b565b9150508260808301529695505050505050565b818103818111156101e1576101e1613127565b80820281158282048414176101e1576101e1613127565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006113b9606083018461303b565b602081526000610d94602083018461327e565b6080815260006133fa6080830187613193565b828103602084015261340c818761303b565b90508460408401528281036060840152613426818561303b565b979650505050505050565b86815260c06020820152600061344a60c0830188613193565b828103604084015261345c818861303b565b90508560608401528281036080840152613476818661303b565b9150508260a0830152979650505050505050565b8281526000602080830184516020860160005b828110156134b95781518452928401929084019060010161349d565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b6060815260006134ef6060830186613193565b65ffffffffffff85166020840152828103604084015261350f818561303b565b9695505050505050565b8481526080602082015260006135326080830186613193565b65ffffffffffff851660408401528281036060840152613426818561303b565b60008351613564818460208801612ea4565b835190830190613578818360208801612ea4565b01949350505050565b606081526000613594606083018661303b565b6020830194909452506040015291905056fea164736f6c6343000818000a608060405234801561001057600080fd5b50615a45806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063472466c214610030575b600080fd5b61004361003e3660046128e1565b610045565b005b7f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000601083901c16176100958161025e565b61011a576040517fb29e40890000000000000000000000000000000000000000000000000000000081526004810182905273ffffffffffffffffffffffffffffffffffffffff84169063b29e408990602401600060405180830381600087803b15801561010157600080fd5b505af1158015610115573d6000803e3d6000fd5b505050505b61012b610126836102eb565b610323565b61013c61013783610357565b610389565b61014d610148836103cd565b6103ff565b61015e61015983610443565b610475565b61016f61016a836104b7565b6104e9565b61018061017b8361052d565b61055f565b8273ffffffffffffffffffffffffffffffffffffffff16633350b6a96101a5846105a1565b6040516101b1906128d4565b604051809103906000f0801580156101cd573d6000803e3d6000fd5b506040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff16602482015260016044820152606401600060405180830381600087803b15801561024157600080fd5b505af1158015610255573d6000803e3d6000fd5b50505050505050565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061029757610297612958565b602090810291909101015260006102d77f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b6105ee565b90506102e38160f81c90565b949350505050565b600061031d613a3160f11b837f4f70657261746f72417070726f76616c000000000000000000000000000000006106c5565b92915050565b61035481630101000160d81b61033761074c565b61033f610809565b610347610843565b61034f61091b565b610992565b50565b600061031d613a3160f11b837f4f776e65727300000000000000000000000000000000000000000000000000006106c5565b610354817e140100140000000000000000000000000000000000000000000000000000006103b5610a65565b6103bd610a9f565b6103c5610ad9565b61034f610b50565b600061031d613a3160f11b837f546f6b656e417070726f76616c000000000000000000000000000000000000006106c5565b610354817e1401001400000000000000000000000000000000000000000000000000000061042b610a65565b610433610a9f565b61043b610ad9565b61034f610bc7565b600061031d613a3160f11b837f546f6b656e5552490000000000000000000000000000000000000000000000006106c5565b610354817c010000000000000000000000000000000000000000000000000000000061049f610a65565b6104a7610c3e565b6104af610ad9565b61034f610c78565b600061031d613a3160f11b837f42616c616e6365730000000000000000000000000000000000000000000000006106c5565b610354817e20010020000000000000000000000000000000000000000000000000000000610515610a9f565b61051d610a65565b610525610bc7565b61034f610cef565b600061031d613a3160f11b837f4d657461646174610000000000000000000000000000000000000000000000006106c5565b610354817c0300000000000000000000000000000000000000000000000000000000610589610d66565b610591610d7f565b610599610e44565b61034f610e77565b600061031d7f7379000000000000000000000000000000000000000000000000000000000000837f45524337323153797374656d00000000000000000000000000000000000000006106c5565b6000806105f9610f97565b90503073ffffffffffffffffffffffffffffffffffffffff82160361062c5761062486868686610fe3565b9150506102e3565b6040517f8c364d5900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821690638c364d59906106849089908990899089906004016129aa565b602060405180830381865afa1580156106a1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061062491906129d9565b60006106d360706010612a08565b7fffff00000000000000000000000000000000000000000000000000000000000085167dffffffffffffffffffffffffffff00000000000000000000000000000000601086901c16177fffffffffffffffffffffffffffffffff00000000000000000000000000000000841690911c1790509392505050565b6040805160028082526060820183526000928392919060208301908036833701905050905060618160008151811061078657610786612958565b602002602001019060c581111561079f5761079f612a1b565b908160c58111156107b2576107b2612a1b565b815250506061816001815181106107cb576107cb612958565b602002602001019060c58111156107e4576107e4612a1b565b908160c58111156107f7576107f7612a1b565b90525061080381611019565b91505090565b604080516001808252818301909252600091829190602080830190803683370190505090506060816000815181106107cb576107cb612958565b6040805160028082526060828101909352816020015b60608152602001906001900390816108595790505090506040518060400160405280600581526020017f6f776e6572000000000000000000000000000000000000000000000000000000815250816000815181106108b9576108b9612958565b60200260200101819052506040518060400160405280600881526020017f6f70657261746f720000000000000000000000000000000000000000000000008152508160018151811061090d5761090d612958565b602002602001018190525090565b604080516001808252818301909252606091816020015b60608152602001906001900390816109325790505090506040518060400160405280600881526020017f617070726f7665640000000000000000000000000000000000000000000000008152508160008151811061090d5761090d612958565b600061099c610f97565b90503073ffffffffffffffffffffffffffffffffffffffff8216036109ce576109c98787878787876111dd565b610255565b6040517f0ba51f4900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821690630ba51f4990610a2a908a908a908a908a908a908a90600401612adb565b600060405180830381600087803b158015610a4457600080fd5b505af1158015610a58573d6000803e3d6000fd5b5050505050505050505050565b60408051600180825281830190925260009182919060208083019080368337019050509050601f816000815181106107cb576107cb612958565b604080516001808252818301909252600091829190602080830190803683370190505090506061816000815181106107cb576107cb612958565b604080516001808252818301909252606091816020015b6060815260200190600190039081610af05790505090506040518060400160405280600781526020017f746f6b656e4964000000000000000000000000000000000000000000000000008152508160008151811061090d5761090d612958565b604080516001808252818301909252606091816020015b6060815260200190600190039081610b675790505090506040518060400160405280600581526020017f6f776e65720000000000000000000000000000000000000000000000000000008152508160008151811061090d5761090d612958565b604080516001808252818301909252606091816020015b6060815260200190600190039081610bde5790505090506040518060400160405280600781526020017f6163636f756e74000000000000000000000000000000000000000000000000008152508160008151811061090d5761090d612958565b6040805160018082528183019092526000918291906020808301908036833701905050905060c5816000815181106107cb576107cb612958565b604080516001808252818301909252606091816020015b6060815260200190600190039081610c8f5790505090506040518060400160405280600881526020017f746f6b656e5552490000000000000000000000000000000000000000000000008152508160008151811061090d5761090d612958565b604080516001808252818301909252606091816020015b6060815260200190600190039081610d065790505090506040518060400160405280600581526020017f76616c75650000000000000000000000000000000000000000000000000000008152508160008151811061090d5761090d612958565b6040805160008082526020820190925261080381611019565b604080516003808252608082019092526000918291906020820160608036833701905050905060c581600081518110610dba57610dba612958565b602002602001019060c5811115610dd357610dd3612a1b565b908160c5811115610de657610de6612a1b565b8152505060c581600181518110610dff57610dff612958565b602002602001019060c5811115610e1857610e18612a1b565b908160c5811115610e2b57610e2b612a1b565b8152505060c5816002815181106107cb576107cb612958565b60408051600080825260208201909252606091610e71565b6060815260200190600190039081610e5c5790505b50905090565b60408051600380825260808201909252606091816020015b6060815260200190600190039081610e8f5790505090506040518060400160405280600481526020017f6e616d650000000000000000000000000000000000000000000000000000000081525081600081518110610eef57610eef612958565b60200260200101819052506040518060400160405280600681526020017f73796d626f6c000000000000000000000000000000000000000000000000000081525081600181518110610f4357610f43612958565b60200260200101819052506040518060400160405280600781526020017f62617365555249000000000000000000000000000000000000000000000000008152508160028151811061090d5761090d612958565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e1755460009073ffffffffffffffffffffffffffffffffffffffff1680610fde573391505090565b919050565b6000611010610ff2868661163b565b60ff858116601b0360080285901c1661100b8587611691565b6116ca565b95945050505050565b6000601c8251111561104c578151604051635318beb960e01b815260040161104391815260200190565b60405180910390fd5b60008080805b855181101561112757600061109087838151811061107257611072612958565b602002602001015160c581111561108b5761108b612a1b565b61171b565b9050806000036110a5576001909201916110dd565b82156110dd576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80840193506008826004601f0303028783815181106110fe576110fe612958565b602002602001015160c581111561111757611117612a1b565b901b949094179350600101611052565b50600581111561114d57604051635318beb960e01b815260048101829052602401611043565b8451819003600861116060026020612b25565b61116a9190612b38565b83901b93909317926008600161118260026020612b25565b61118c9190612b25565b6111969190612b38565b81901b939093179260086001806111af60026020612b25565b6111b99190612b25565b6111c39190612b25565b6111cd9190612b38565b9190911b92909217949350505050565b613a3160f11b867fffff000000000000000000000000000000000000000000000000000000000000161480159061125657507f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001614155b156112b757613a3160f11b868760405160200161127591815260200190565b60408051601f19818403018152908290527f31b46683000000000000000000000000000000000000000000000000000000008252611043939291600401612b4f565b6112c085611775565b6112cb8460016119bc565b6112d68360006119bc565b60e084901c60e885901c0160ff168251146113365760e084901c60e885901c0160ff1682516040517f0f72cb9800000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401611043565b60e085901c60e886901c0160ff168151146113965760e085901c60e886901c0160ff1681516040517f7dec4c0000000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401611043565b60e085901c60e886901c0160ff1660e084901c60e885901c0160ff161461140e5760e085901c60e886901c0160ff1660e084901c60e885901c0160ff166040517ff29d4d8800000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401611043565b61141785611b58565b61142084611b58565b146114725761142e85611b58565b61143784611b58565b6040517f65cc0adf00000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401611043565b61147b85611b8a565b61148484611b8a565b146114d65761149285611b8a565b61149b84611b8a565b6040517fedea958700000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401611043565b60005b6114e286611b58565b811015611578576115076114f68583611ba7565b60c581111561108b5761108b612a1b565b6008601b8390030287901c60ff1614611570576008601b8290030286901c60ff166115356114f68684611ba7565b6040517f254c7db400000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401611043565b6001016114d9565b5061158286611bcf565b156115dc57858660405160200161159b91815260200190565b60408051601f19818403018152908290527fdfaaf9cf0000000000000000000000000000000000000000000000000000000082526110439291600401612b90565b61162886868686866040516020016115f49190612ba9565b604051602081830303815290604052866040516020016116149190612ba9565b604051602081830303815290604052611c48565b611633866001611d2b565b505050505050565b60008282604051602001611650929190612bbc565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff168110156116c2576116b860ff601b83900360080287901c1683612a08565b9150600101611696565b509392505050565b6000602082106116f0576020820484019350602082816116ec576116ec612bf8565b0691505b508254600882021b6020829003808411156116c2576001850154600882021c82179150509392505050565b6000808260c581111561173057611730612a1b565b60ff169050606181101561174a57601f1660010192915050565b60618360c581111561175e5761175e612a1b565b0361176c5750601492915050565b50600092915050565b806117ac576040517f220c0f6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006117b782611b8a565b905060058111156117fe576040517f7f2372c30000000000000000000000000000000000000000000000000000000081526004810182905260056024820152604401611043565b600061180983611b58565b905060006118178383612a08565b9050601c81111561185e576040517f4a8a06ad00000000000000000000000000000000000000000000000000000000815260048101829052601c6024820152604401611043565b6000805b838110156119095760ff601b82900360080287901c1660008190036118b6576040517f01f2a07c00000000000000000000000000000000000000000000000000000000815260048101839052602401611043565b60208111156118f4576040517f24c85d5800000000000000000000000000000000000000000000000000000000815260048101839052602401611043565b6118fe8184612a08565b925050600101611862565b5061191385611dd1565b811461195f5761192285611dd1565b6040517f9365944a000000000000000000000000000000000000000000000000000000008152600481019190915260248101829052604401611043565b825b601c8110156116335760ff601b82900360080287901c1680156119b3576040517fbb68821a00000000000000000000000000000000000000000000000000000000815260048101839052602401611043565b50600101611961565b801580156119c8575081155b156119e957604051635318beb960e01b815260006004820152602401611043565b60006119f483611b8a565b90506005811115611a1b57604051635318beb960e01b815260048101829052602401611043565b6000611a2684611b58565b90506000611a348383612a08565b9050601c811115611a5b57604051635318beb960e01b815260048101829052602401611043565b6000805b83811015611ac7576000611a766114f68984611ba7565b905080600003611ab2576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611abc8184612a08565b925050600101611a5f565b50611ad186611dd1565b8114611afc57611ae086611dd1565b604051635318beb960e01b815260040161104391815260200190565b825b82811015610255576000611b156114f68984611ba7565b90508015611b4f576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50600101611afe565b600060086001611b6a60026020612b25565b611b749190612b25565b611b7e9190612b38565b8260ff911c1692915050565b60006008600180611b9d60026020612b25565b611b6a9190612b25565b6000601b8290036008028360ff911c1660c5811115611bc857611bc8612a1b565b9392505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611c0857611c08612958565b602090810291909101015260006102d77f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b610fe3565b604080516020810187905280820186905260608082018690528251808303909101815260809091019091526000611c7f8484611df4565b90506000611c8d8585611e11565b60408051600180825281830190925291925060009190602080830190803683370190505090508981600081518110611cc757611cc7612958565b6020908102919091010152611d1f7f746273746f72650000000000000000005461626c657300000000000000000000828686867e60030220202000000000000000000000000000000000000000000000000000611e3d565b50505050505050505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611d6157611d61612958565b602002602001018181525050611dcc7f746273746f72650000000000000000005265736f75726365496473000000000060001b82600085604051602001611daf91151560f81b815260010190565b60408051601f19818403018152919052630101000160d81b612176565b505050565b60006008611de160026020612b25565b611deb9190612b38565b9190911c919050565b8151815160009181810160389190911b1760609190911b17611bc8565b60608282604051602001611e26929190612c0e565b604051602081830303815290604052905092915050565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001603611ec957857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a986868686604051611ebc9493929190612c3d565b60405180910390a2611633565b6000611ed487612192565b905060005b8151811015611fad576000828281518110611ef657611ef6612958565b60200260200101519050611f226001826affffffffffffffffffffff191661221b90919063ffffffff16565b15611fa4576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90611f71908c908c908c908c908c908c90600401612c87565b600060405180830381600087803b158015611f8b57600080fd5b505af1158015611f9f573d6000803e3d6000fd5b505050505b50600101611ed9565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a987878787604051611fe49493929190612c3d565b60405180910390a26000611ff8888861163b565b90506000602087019050612010826000895184612239565b600061201b85611b8a565b111561209f57600061202d8a8a6122f7565b878155905060208601915060008060005b61204788611b8a565b8160ff16101561209a5761205c8d8d8361234d565b92506120778a8260ff166028026038011c64ffffffffff1690565b91506120868360008488612239565b6120908286612a08565b945060010161203e565b505050505b60005b8351811015611d1f5760008482815181106120bf576120bf612958565b602002602001015190506120eb6002826affffffffffffffffffffff191661221b90919063ffffffff16565b1561216d576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf9061213a908e908e908e908e908e908e90600401612c87565b600060405180830381600087803b15801561215457600080fd5b505af1158015612168573d6000803e3d6000fd5b505050505b506001016120a2565b61218b85856121858487611691565b856123cd565b5050505050565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106121cc576121cc612958565b602090810291909101015260006122047f746273746f726500000000000000000053746f7265486f6f6b730000000000008383612668565b90506102e361221682600084516126a2565b612730565b60008160ff168261222c8560581c90565b1660ff1614905092915050565b82156122b357602083106122635760208304840193506020838161225f5761225f612bf8565b0692505b82156122b35760208390036000600019600885021c1990506008850281811c91508351811c90508119875416828216178755508184116122a45750506122f1565b50600194909401939182900391015b5b602082106122d55780518455600190930192601f19909101906020016122b4565b81156122f15783548151600019600885021c9182169119161784555b50505050565b6000828260405160200161230c929190612bbc565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b60008383604051602001612362929190612bbc565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361245757837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161244a93929190612ce0565b60405180910390a26122f1565b6000612463858561163b565b9050600061247086612192565b905060005b815181101561254557600082828151811061249257612492612958565b602002602001015190506124be6004826affffffffffffffffffffff191661221b90919063ffffffff16565b1561253c576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90612509908b908b908b908b90600401612d1d565b600060405180830381600087803b15801561252357600080fd5b505af1158015612537573d6000803e3d6000fd5b505050505b50600101612475565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161257a93929190612ce0565b60405180910390a2612595828565ffffffffffff1685612741565b60005b81518110156102555760008282815181106125b5576125b5612958565b602002602001015190506125e16008826affffffffffffffffffffff191661221b90919063ffffffff16565b1561265f576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061262c908b908b908b908b90600401612d1d565b600060405180830381600087803b15801561264657600080fd5b505af115801561265a573d6000803e3d6000fd5b505050505b50600101612598565b60606102e361267885858561234d565b600061269d856126888989612757565b9060ff166028026038011c64ffffffffff1690565b61276a565b6000818311806126b25750835182115b156126ef578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161104393929190612d56565b602084016126fd8482612a08565b9050600061270b8585612b25565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000611bc8836015600061278d565b611dcc838383516127528560200190565b612239565b6000611bc861276684846122f7565b5490565b60405160208101601f19603f84840101166040528282526116c285858584612808565b6060600061279b8560801c90565b90506fffffffffffffffffffffffffffffffff851660008582816127c1576127c1612bf8565b04905060405193506020840160208202810160405281855260005b828110156127fc578451871c8252938701936020909101906001016127dc565b50505050509392505050565b821561288f57602083106128325760208304840193506020838161282e5761282e612bf8565b0692505b821561288f5760208390036000818410156128555750600019600884021c61285f565b50600019600882021c5b8554600886021b8184511682198216178452508184116128805750506122f1565b50600194909401939182900391015b5b602082106128b15783548152600190930192601f1990910190602001612890565b81156122f1576000600019600884021c8251865482191691161782525050505050565b612cbd80612d7c83390190565b600080604083850312156128f457600080fd5b823573ffffffffffffffffffffffffffffffffffffffff8116811461291857600080fd5b915060208301357fffffffffffffffffffffffffffff0000000000000000000000000000000000008116811461294d57600080fd5b809150509250929050565b634e487b7160e01b600052603260045260246000fd5b60008151808452602080850194506020840160005b8381101561299f57815187529582019590820190600101612983565b509495945050505050565b8481526080602082015260006129c3608083018661296e565b60ff949094166040830152506060015292915050565b6000602082840312156129eb57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561031d5761031d6129f2565b634e487b7160e01b600052602160045260246000fd5b60005b83811015612a4c578181015183820152602001612a34565b50506000910152565b60008151808452612a6d816020860160208601612a31565b601f01601f19169290920160200192915050565b60008282518085526020808601955060208260051b8401016020860160005b84811015612ace57601f19868403018952612abc838351612a55565b98840198925090830190600101612aa0565b5090979650505050505050565b86815285602082015284604082015283606082015260c060808201526000612b0660c0830185612a81565b82810360a0840152612b188185612a81565b9998505050505050505050565b8181038181111561031d5761031d6129f2565b808202811582820484141761031d5761031d6129f2565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006110106060830184612a55565b8281526040602082015260006102e36040830184612a55565b602081526000611bc86020830184612a81565b8281526000602080830184516020860160005b82811015612beb57815184529284019290840190600101612bcf565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b60008351612c20818460208801612a31565b835190830190612c34818360208801612a31565b01949350505050565b608081526000612c50608083018761296e565b8281036020840152612c628187612a55565b90508460408401528281036060840152612c7c8185612a55565b979650505050505050565b86815260c060208201526000612ca060c083018861296e565b8281036040840152612cb28188612a55565b90508560608401528281036080840152612ccc8186612a55565b9150508260a0830152979650505050505050565b606081526000612cf3606083018661296e565b65ffffffffffff851660208401528281036040840152612d138185612a55565b9695505050505050565b848152608060208201526000612d36608083018661296e565b65ffffffffffff851660408401528281036060840152612c7c8185612a55565b606081526000612d696060830186612a55565b6020830194909452506040015291905056fe608060405234801561001057600080fd5b50612c9d806100206000396000f3fe608060405234801561001057600080fd5b506004361061016c5760003560e01c80636352211e116100cd578063a22cb46511610081578063c87b56dd11610066578063c87b56dd146102d1578063e1af802c146102e4578063e985e9c5146102ec57600080fd5b8063a22cb465146102ab578063b88d4fde146102be57600080fd5b80638832e6e3116100b25780638832e6e31461027d57806395d89b4114610290578063a14481941461029857600080fd5b80636352211e1461025757806370a082311461026a57600080fd5b806323b872dd1161012457806342842e0e1161010957806342842e0e1461021c57806342966c681461022f57806345ec93541461024257600080fd5b806323b872dd146101f657806340c10f191461020957600080fd5b8063081812fc11610155578063081812fc146101ae578063095ea7b3146101d9578063119df25f146101ee57600080fd5b806301ffc9a71461017157806306fdde0314610199575b600080fd5b61018461017f366004612519565b6102ff565b60405190151581526020015b60405180910390f35b6101a1610398565b6040516101909190612586565b6101c16101bc366004612599565b6103b7565b6040516001600160a01b039091168152602001610190565b6101ec6101e73660046125c9565b6103cc565b005b6101c16103e2565b6101ec6102043660046125f3565b6103ec565b6101ec6102173660046125c9565b61049c565b6101ec61022a3660046125f3565b6104ae565b6101ec61023d366004612599565b6104ce565b36601f1901355b604051908152602001610190565b6101c1610265366004612599565b6104e2565b61024961027836600461262f565b6104ed565b6101ec61028b36600461270f565b61054b565b6101a161055e565b6101ec6102a63660046125c9565b610573565b6101ec6102b9366004612766565b610595565b6101ec6102cc3660046127a2565b6105a7565b6101a16102df366004612599565b6105be565b6101c161065a565b6101846102fa36600461280a565b610664565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee12700000000000000000000000000000000000000000000000000000000148061039257507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60606103b26103ad6103a8610687565b6106a5565b6106d7565b905090565b60006103c2826106f5565b5061039282610746565b6103de82826103d96103e2565b610761565b5050565b60006103b261076e565b6001600160a01b03821661041b57604051633250574960e11b8152600060048201526024015b60405180910390fd5b600061042f838361042a6103e2565b6107a0565b9050836001600160a01b0316816001600160a01b031614610496576040517f64283d7b0000000000000000000000000000000000000000000000000000000081526001600160a01b0380861660048301526024820184905282166044820152606401610412565b50505050565b6104a4610924565b6103de828261093f565b6104c9838383604051806020016040528060008152506105a7565b505050565b6104d6610924565b6104df816109bd565b50565b6000610392826106f5565b60006001600160a01b038216610532576040517f89c62b6400000000000000000000000000000000000000000000000000000000815260006004820152602401610412565b610392610545610540610687565b610a11565b83610a43565b610553610924565b6104c9838383610ac9565b60606103b261056e6103a8610687565b610ae0565b61057b610924565b6103de828260405180602001604052806000815250610ac9565b6103de6105a06103e2565b8383610aff565b6105b28484846103ec565b61049684848484610c23565b60606105c9826106f5565b5060006105d4610d84565b905060006105f16105eb6105e6610687565b610d99565b85610dcb565b9050600081511161061c5760408051602081018690520160405160208183030381529060405261061e565b805b9050600082511161062f5780610652565b818160405160200161064292919061283d565b6040516020818303038152906040525b949350505050565b60006103b2610e22565b6000610680610679610674610687565b610e2c565b8484610e5e565b9392505050565b60008061069330610f1d565b905061069f8160101b90565b91505090565b6000610392613a3160f11b837f4d65746164617461000000000000000000000000000000000000000000000000610fba565b60408051600080825260208201909252606091610652848383611032565b600080610701836110f9565b90506001600160a01b038116610392576040517f7e27328900000000000000000000000000000000000000000000000000000000815260048101849052602401610412565b600061039261075b610756610687565b611109565b8361113b565b6104c983838360016111bb565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c8061079d5750335b90565b6000806107ae610540610687565b905060006107bb856110f9565b90506001600160a01b038416156107d7576107d781858761134d565b6001600160a01b0381161561080b576107f46000866000806111bb565b61080b828260016108058686610a43565b036113e3565b6001600160a01b03861615610831576108318287610829858a610a43565b6001016113e3565b61084b61084461083f610687565b611480565b86886114b2565b61085361156f565b6001600160a01b03166366c93bdb7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610892846001600160a01b031690565b604080516000815260208101918290527fffffffff0000000000000000000000000000000000000000000000000000000060e086901b169091526108e89291906001600160a01b038c16908b906024810161286c565b600060405180830381600087803b15801561090257600080fd5b505af1158015610916573d6000803e3d6000fd5b509298975050505050505050565b61093d61093030610f1d565b6109386103e2565b61164a565b565b6001600160a01b03821661096957604051633250574960e11b815260006004820152602401610412565b6000610977838360006107a0565b90506001600160a01b038116156104c9576040517f73c6ac6e00000000000000000000000000000000000000000000000000000000815260006004820152602401610412565b60006109cc60008360006107a0565b90506001600160a01b0381166103de576040517f7e27328900000000000000000000000000000000000000000000000000000000815260048101839052602401610412565b6000610392613a3160f11b837f42616c616e636573000000000000000000000000000000000000000000000000610fba565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b81600081518110610a8857610a886128a2565b60209081029190910101526000610ac08583837e200100200000000000000000000000000000000000000000000000000000006116eb565b95945050505050565b610ad3838361093f565b6104c96000848484610c23565b6040805160008082526020820190925260609161065284836001611032565b6001600160a01b038216610b4a576040517f5b08ba180000000000000000000000000000000000000000000000000000000081526001600160a01b0383166004820152602401610412565b610b60610b58610674610687565b8484846117a8565b610b6861156f565b6001600160a01b031663c9a34acd7f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31610ba7866001600160a01b031690565b6001600160a01b038616604080518715156020820152016040516020818303038152906040526040518563ffffffff1660e01b8152600401610bec94939291906128b8565b600060405180830381600087803b158015610c0657600080fd5b505af1158015610c1a573d6000803e3d6000fd5b50505050505050565b6001600160a01b0383163b1561049657826001600160a01b031663150b7a02610c4a6103e2565b8685856040518563ffffffff1660e01b8152600401610c6c94939291906128dd565b6020604051808303816000875af1925050508015610ca7575060408051601f3d908101601f19168201909252610ca49181019061290f565b60015b610d10573d808015610cd5576040519150601f19603f3d011682016040523d82523d6000602084013e610cda565b606091505b508051600003610d0857604051633250574960e11b81526001600160a01b0385166004820152602401610412565b805181602001fd5b7fffffffff0000000000000000000000000000000000000000000000000000000081167f150b7a020000000000000000000000000000000000000000000000000000000014610d7d57604051633250574960e11b81526001600160a01b0385166004820152602401610412565b5050505050565b60606103b2610d946103a8610687565b611875565b6000610392613a3160f11b837f546f6b656e555249000000000000000000000000000000000000000000000000610fba565b60408051600180825281830190925260609160009190602080830190803683370190505090508260001b81600081518110610e0857610e086128a2565b6020026020010181815250506000610ac085836000611032565b60006103b2611894565b6000610392613a3160f11b837f4f70657261746f72417070726f76616c00000000000000000000000000000000610fba565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b81600081518110610ea357610ea36128a2565b602002602001018181525050826001600160a01b031660001b81600181518110610ecf57610ecf6128a2565b60209081029190910101526000610f078683837e010100010000000000000000000000000000000000000000000000000000006116eb565b9050610f138160f81c90565b9695505050505050565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b81600081518110610f6257610f626128a2565b602090810291909101015260006106527f7462776f726c6400000000000000000053797374656d5265676973747279000083837e200100200000000000000000000000000000000000000000000000000000006116eb565b6000610fc860706010612942565b7fffff00000000000000000000000000000000000000000000000000000000000085167dffffffffffffffffffffffffffff00000000000000000000000000000000601086901c16176fffffffffffffffffffffffffffffffff19841690911c1790509392505050565b6060600061103e611894565b9050306001600160a01b038216036110635761105b8585856118d3565b915050610680565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e788977906110ac90889088908890600401612991565b600060405180830381865afa1580156110c9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261105b91908101906129bd565b509392505050565b600061039261075b61083f610687565b6000610392613a3160f11b837f546f6b656e417070726f76616c00000000000000000000000000000000000000610fba565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b81600081518110611177576111776128a2565b602090810291909101015260006111af8583837e140100140000000000000000000000000000000000000000000000000000006116eb565b60601c95945050505050565b80806111cf57506001600160a01b03821615155b156113385760006111df846106f5565b90506001600160a01b0383161580159061120b5750826001600160a01b0316816001600160a01b031614155b801561121e575061121c8184610664565b155b15611260576040517fa9fbf51f0000000000000000000000000000000000000000000000000000000081526001600160a01b0384166004820152602401610412565b81156113365761126e61156f565b6001600160a01b03166366c93bdb7f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9256112ad846001600160a01b031690565b604080516000815260208101918290527fffffffff0000000000000000000000000000000000000000000000000000000060e086901b169091526113039291906001600160a01b038b16908a906024810161286c565b600060405180830381600087803b15801561131d57600080fd5b505af1158015611331573d6000803e3d6000fd5b505050505b505b610496611346610756610687565b84866114b2565b61135883838361190d565b6104c9576001600160a01b03831661139f576040517f7e27328900000000000000000000000000000000000000000000000000000000815260048101829052602401610412565b6040517f177e802f0000000000000000000000000000000000000000000000000000000081526001600160a01b038316600482015260248101829052604401610412565b60408051600180825281830190925260009160208083019080368337019050509050826001600160a01b031660001b81600081518110611425576114256128a2565b602002602001018181525050610496848260008560405160200161144b91815260200190565b60408051601f198184030181529190527e20010020000000000000000000000000000000000000000000000000000000611972565b6000610392613a3160f11b837f4f776e6572730000000000000000000000000000000000000000000000000000610fba565b604080516001808252818301909252600091602080830190803683370190505090508260001b816000815181106114eb576114eb6128a2565b602002602001018181525050610496848260008560405160200161153a919060609190911b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016815260140190565b60408051601f198184030181529190527e14010014000000000000000000000000000000000000000000000000000000611972565b60008061157b30610f1d565b60408051613a3160f11b60208201527f707570706574000000000000000000000000000000000000000000000000000060228201527f507570706574526567697374727900000000000000000000000000000000000060308201529192506000916115ff91016040516020818303038152906040526115f990612a2b565b83611a28565b90506001600160a01b038116610392576040517f9434f7e100000000000000000000000000000000000000000000000000000000815230600482015260248101839052604401610412565b6001600160a01b03811661169f7f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617611a61565b6001600160a01b0316146103de576116b682611afd565b816040517fd787b737000000000000000000000000000000000000000000000000000000008152600401610412929190612a52565b6000806116f6611894565b9050306001600160a01b0382160361171c5761171486868686611c2b565b915050610652565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990611767908990899089908990600401612a7d565b602060405180830381865afa158015611784573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117149190612aac565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b816000815181106117e9576117e96128a2565b602002602001018181525050826001600160a01b031660001b81600181518110611815576118156128a2565b602002602001018181525050610d7d858260008560405160200161184091151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611972565b6040805160008082526020820190925260609161065284836002611032565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b0316806118ce573391505090565b919050565b60606106526118e3858585611c58565b6000611908856118f38989611cd8565b9060ff166028026038011c64ffffffffff1690565b611ceb565b60006001600160a01b038316158015906106525750826001600160a01b0316846001600160a01b0316148061194757506119478484610664565b806106525750826001600160a01b031661196083610746565b6001600160a01b031614949350505050565b600061197c611894565b9050306001600160a01b038216036119a05761199b8686868686611d0e565b611a20565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae0906119ed9089908990899089908990600401612ac5565b600060405180830381600087803b158015611a0757600080fd5b505af1158015611a1b573d6000803e3d6000fd5b505050505b505050505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611177576111776128a2565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611a9a57611a9a6128a2565b60209081029190910101526000611af27f7462776f726c640000000000000000004e616d6573706163654f776e6572000083837e140100140000000000000000000000000000000000000000000000000000006116eb565b60601c949350505050565b606081601081901b6000611b1083611d23565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615611b6b57611b667fffffffffffffffffffffffffffff0000000000000000000000000000000000008416611d3a565b611ba2565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff19831615611bc957611bc483611d3a565b611c00565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001611c1293929190612b0c565b6040516020818303038152906040529350505050919050565b6000610ac0611c3a8686611dc0565b60ff858116601b0360080285901c16611c538587611e16565b611e47565b60008383604051602001611c6d929190612b9a565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b6000610680611ce78484611e98565b5490565b60405160208101601f19603f84840101166040528282526110f185858584611eee565b610d7d8585611d1d8487611e16565b85611fba565b6000611d3160706010612942565b9190911b919050565b606060005b6010811015611d90576fffffffffffffffffffffffffffffffff198316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615611d9057600101611d3f565b604080516fffffffffffffffffffffffffffffffff19851660208201528151603090910190915281815280610652565b60008282604051602001611dd5929190612b9a565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff168110156110f157611e3d60ff601b83900360080287901c1683612942565b9150600101611e1b565b600060208210611e6d57602082048401935060208281611e6957611e69612bd6565b0691505b508254600882021b6020829003808411156110f1576001850154600882021c82179150509392505050565b60008282604051602001611ead929190612b9a565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b8215611f755760208310611f1857602083048401935060208381611f1457611f14612bd6565b0692505b8215611f75576020839003600081841015611f3b5750600019600884021c611f45565b50600019600882021c5b8554600886021b818451168219821617845250818411611f66575050610496565b50600194909401939182900391015b5b60208210611f975783548152600190930192601f1990910190602001611f76565b8115610496576000600019600884021c8251865482191691161782525050505050565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361204457837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161203793929190612bec565b60405180910390a2610496565b60006120508585611dc0565b9050600061205d86612255565b905060005b815181101561213257600082828151811061207f5761207f6128a2565b602002602001015190506120ab6004826affffffffffffffffffffff19166122de90919063ffffffff16565b15612129576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d906120f6908b908b908b908b90600401612c1f565b600060405180830381600087803b15801561211057600080fd5b505af1158015612124573d6000803e3d6000fd5b505050505b50600101612062565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161216793929190612bec565b60405180910390a2612182828565ffffffffffff16856122fc565b60005b8151811015610c1a5760008282815181106121a2576121a26128a2565b602002602001015190506121ce6008826affffffffffffffffffffff19166122de90919063ffffffff16565b1561224c576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190612219908b908b908b908b90600401612c1f565b600060405180830381600087803b15801561223357600080fd5b505af1158015612247573d6000803e3d6000fd5b505050505b50600101612185565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061228f5761228f6128a2565b602090810291909101015260006122c77f746273746f726500000000000000000053746f7265486f6f6b7300000000000083836118d3565b90506106526122d98260008451612312565b6123a0565b60008160ff16826122ef8560581c90565b1660ff1614905092915050565b6104c98383835161230d8560200190565b6123b1565b6000818311806123225750835182115b1561235f578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161041293929190612c58565b6020840161236d8482612942565b9050600061237b8585612c7d565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b606060006106808360156000612470565b821561242b57602083106123db576020830484019350602083816123d7576123d7612bd6565b0692505b821561242b5760208390036000600019600885021c1990506008850281811c91508351811c905081198754168282161787555081841161241c575050610496565b50600194909401939182900391015b5b6020821061244d5780518455600190930192601f199091019060200161242c565b8115610496576000600019600884021c8554835182191691161785555050505050565b6060600061247e8560801c90565b90506fffffffffffffffffffffffffffffffff851660008582816124a4576124a4612bd6565b04905060405193506020840160208202810160405281855260005b828110156124df578451871c8252938701936020909101906001016124bf565b50505050509392505050565b7fffffffff00000000000000000000000000000000000000000000000000000000811681146104df57600080fd5b60006020828403121561252b57600080fd5b8135610680816124eb565b60005b83811015612551578181015183820152602001612539565b50506000910152565b60008151808452612572816020860160208601612536565b601f01601f19169290920160200192915050565b602081526000610680602083018461255a565b6000602082840312156125ab57600080fd5b5035919050565b80356001600160a01b03811681146118ce57600080fd5b600080604083850312156125dc57600080fd5b6125e5836125b2565b946020939093013593505050565b60008060006060848603121561260857600080fd5b612611846125b2565b925061261f602085016125b2565b9150604084013590509250925092565b60006020828403121561264157600080fd5b610680826125b2565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156126895761268961264a565b604052919050565b600067ffffffffffffffff8211156126ab576126ab61264a565b50601f01601f191660200190565b600082601f8301126126ca57600080fd5b81356126dd6126d882612691565b612660565b8181528460208386010111156126f257600080fd5b816020850160208301376000918101602001919091529392505050565b60008060006060848603121561272457600080fd5b61272d846125b2565b925060208401359150604084013567ffffffffffffffff81111561275057600080fd5b61275c868287016126b9565b9150509250925092565b6000806040838503121561277957600080fd5b612782836125b2565b91506020830135801515811461279757600080fd5b809150509250929050565b600080600080608085870312156127b857600080fd5b6127c1856125b2565b93506127cf602086016125b2565b925060408501359150606085013567ffffffffffffffff8111156127f257600080fd5b6127fe878288016126b9565b91505092959194509250565b6000806040838503121561281d57600080fd5b612826836125b2565b9150612834602084016125b2565b90509250929050565b6000835161284f818460208801612536565b835190830190612863818360208801612536565b01949350505050565b85815284602082015283604082015282606082015260a06080820152600061289760a083018461255a565b979650505050505050565b634e487b7160e01b600052603260045260246000fd5b848152836020820152826040820152608060608201526000610f13608083018461255a565b60006001600160a01b03808716835280861660208401525083604083015260806060830152610f13608083018461255a565b60006020828403121561292157600080fd5b8151610680816124eb565b634e487b7160e01b600052601160045260246000fd5b808201808211156103925761039261292c565b60008151808452602080850194506020840160005b838110156129865781518752958201959082019060010161296a565b509495945050505050565b8381526060602082015260006129aa6060830185612955565b905060ff83166040830152949350505050565b6000602082840312156129cf57600080fd5b815167ffffffffffffffff8111156129e657600080fd5b8201601f810184136129f757600080fd5b8051612a056126d882612691565b818152856020838501011115612a1a57600080fd5b610ac0826020830160208601612536565b80516020808301519190811015612a4c576000198160200360031b1b821691505b50919050565b604081526000612a65604083018561255a565b90506001600160a01b03831660208301529392505050565b848152608060208201526000612a966080830186612955565b60ff949094166040830152506060015292915050565b600060208284031215612abe57600080fd5b5051919050565b85815260a060208201526000612ade60a0830187612955565b60ff861660408401528281036060840152612af9818661255a565b9150508260808301529695505050505050565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a000000000000000000000000000000000000000000000000000000000000008060028401528451612b6d816003860160208901612536565b808401905081600382015284519150612b8d826004830160208801612536565b0160040195945050505050565b8281526000602080830184516020860160005b82811015612bc957815184529284019290840190600101612bad565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b606081526000612bff6060830186612955565b65ffffffffffff851660208401528281036040840152610f13818561255a565b848152608060208201526000612c386080830186612955565b65ffffffffffff851660408401528281036060840152612897818561255a565b606081526000612c6b606083018661255a565b60208301949094525060400152919050565b818103818111156103925761039261292c56fea164736f6c6343000818000aa164736f6c6343000818000a","sourceMap":"1456:1812:142:-:0;;;;;578:4:53;534:49;;1599:37:142;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1551:86:142;;;1456:1812;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100725760003560e01c806345ec93541161005057806345ec9354146100d45780637c5b0335146100e7578063e1af802c146100fa57600080fd5b806301ffc9a714610077578063119df25f1461009f57806313861fb5146100bf575b600080fd5b61008a610085366004612d4a565b610102565b60405190151581526020015b60405180910390f35b6100a76101e7565b6040516001600160a01b039091168152602001610096565b6100d26100cd366004612e24565b6101f6565b005b604051601f193601358152602001610096565b6100d26100f5366004612e24565b610749565b6100a761077b565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f6fdd1c8000000000000000000000000000000000000000000000000000000000148061019557507fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee12700000000000000000000000000000000000000000000000000000000145b806101e157507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101f1610785565b905090565b6102207f0000000000000000000000000000000000000000000000000000000000000000826107b7565b600080828060200190518101906102379190612f18565b90925090507f9a8d9cc8cdced28f8a8f8f9a8c0000000000000000000000000000000000000071ffffffffffffffffffffffffffffffffffff198316016102c6576040517f2ca07d8400000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff19831660048201526024015b60405180910390fd5b60006102d061077b565b90506000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316838660405160240161033b9291906001600160a01b0392909216825271ffffffffffffffffffffffffffffffffffff1916602082015260400190565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f472466c2000000000000000000000000000000000000000000000000000000001790525161039e9190612ffb565b600060405180830381855af49150503d80600081146103d9576040519150601f19603f3d011682016040523d82523d6000602084013e6103de565b606091505b5091509150816103f1576103f1816107fc565b6104036103fd86610804565b85610836565b600061040e86610893565b9050600061041c85836108e0565b90507f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000601089901c16176001600160a01b03861663ef5d6bbb8261047d6101e7565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815260048101929092526001600160a01b03166024820152604401600060405180830381600087803b1580156104dc57600080fd5b505af11580156104f0573d6000803e3d6000fd5b505060408051613a3160f11b60208201527f6572633732312d7075707065740000000000000000000000000000000000000060228201527f45524337323152656769737472790000000000000000000000000000000000006030820152610572935001905060405160208183030381529060405261056d90613017565b610bde565b6106bf576040517f6e7300000000000000000000000000000000000000000000000000000000000060208201527f6572633732312d7075707065740000000000000000000000000000000000000060228201526001600160a01b0387169063b29e4089906030016040516020818303038152906040526105f190613017565b6040518263ffffffff1660e01b815260040161060f91815260200190565b600060405180830381600087803b15801561062957600080fd5b505af115801561063d573d6000803e3d6000fd5b505060408051613a3160f11b60208201527f6572633732312d7075707065740000000000000000000000000000000000000060228201527f455243373231526567697374727900000000000000000000000000000000000060308201526106bf93500190506040516020818303038152906040526106ba90613017565b610c6b565b60408051613a3160f11b60208201527f6572633732312d7075707065740000000000000000000000000000000000000060228201527f4552433732315265676973747279000000000000000000000000000000000000603082015261073e910160405160208183030381529060405261073790613017565b8284610cb7565b505050505050505050565b6040517fb6622fc000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006101f1610d77565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806107b45750335b90565b6107c18282610d81565b156107f8576040517f1401206800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b805160208201fd5b60006101e1613a3160f11b837f4d65746164617461000000000000000000000000000000000000000000000000610d9b565b60606000610851836000015184602001518560400151610e21565b9050600061086c846000015185602001518660400151610e4a565b60408051600081526020810190915290915061088b8682868686610e79565b505050505050565b60006101e17f7379000000000000000000000000000000000000000000000000000000000000837f45524337323153797374656d0000000000000000000000000000000000000000610d9b565b604080517f737900000000000000000000000000000000000000000000000000000000000060208201527f707570706574000000000000000000000000000000000000000000000000000060228201527f466163746f72790000000000000000000000000000000000000000000000000060308201526000916001600160a01b03851691633ae7af08910160405160208183030381529060405261098390613017565b6040516024810186905260440160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb9eb8bfb00000000000000000000000000000000000000000000000000000000179052517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152610a20929190600401613067565b6000604051808303816000875af1158015610a3f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a679190810190613080565b806020019051810190610a7a91906130c9565b90506001600160a01b03831663bfdfaff77f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617604080517f737900000000000000000000000000000000000000000000000000000000000060208201527f707570706574000000000000000000000000000000000000000000000000000060228201527f44656c65676174696f6e00000000000000000000000000000000000000000000603082015201604051602081830303815290604052610b5d90613017565b604080516000815260208101918290527fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16909152610ba6929190602481016130f2565b600060405180830381600087803b158015610bc057600080fd5b505af1158015610bd4573d6000803e3d6000fd5b5050505092915050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610c1757610c17613111565b60209081029190910101526000610c577f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b610f2e565b9050610c638160f81c90565b949350505050565b610cb4817e14010014000000000000000000000000000000000000000000000000000000610c97610feb565b610c9f611063565b610ca761109d565b610caf611122565b611199565b50565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610ced57610ced613111565b602002602001018181525050610d718482600085604051602001610d3c919060609190911b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016815260140190565b60408051601f198184030181529190527e14010014000000000000000000000000000000000000000000000000000000611253565b50505050565b60006101f16112c9565b6000610d94838380519060200120611308565b9392505050565b6000610da96070601061313d565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316901c601084901c7dffffffffffffffffffffffffffff00000000000000000000000000000000167fffff0000000000000000000000000000000000000000000000000000000000008616171790509392505050565b6000610c63845184518451608881901b606083901b603885901b85850184011717179392505050565b6060838383604051602001610e6193929190613150565b60405160208183030381529060405290509392505050565b6000610e836112c9565b9050306001600160a01b03821603610ea757610ea286868686866113c2565b61088b565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb90610ef490899089908990899089906004016131cf565b600060405180830381600087803b158015610f0e57600080fd5b505af1158015610f22573d6000803e3d6000fd5b50505050505050505050565b600080610f396112c9565b9050306001600160a01b03821603610f5f57610f57868686866113df565b915050610c63565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990610faa908990899089908990600401613220565b602060405180830381865afa158015610fc7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f57919061324f565b60408051600180825281830190925260009182919060208083019080368337019050509050605f8160008151811061102557611025613111565b602002602001019060c581111561103e5761103e613268565b908160c581111561105157611051613268565b90525061105d8161140c565b91505090565b6040805160018082528183019092526000918291906020808301908036833701905050905060618160008151811061102557611025613111565b604080516001808252818301909252606091816020015b60608152602001906001900390816110b45790505090506040518060400160405280600b81526020017f6e616d65737061636549640000000000000000000000000000000000000000008152508160008151811061111457611114613111565b602002602001018190525090565b604080516001808252818301909252606091816020015b60608152602001906001900390816111395790505090506040518060400160405280600c81526020017f746f6b656e4164647265737300000000000000000000000000000000000000008152508160008151811061111457611114613111565b60006111a36112c9565b9050306001600160a01b038216036111c8576111c38787878787876115c7565b61124a565b6040517f0ba51f490000000000000000000000000000000000000000000000000000000081526001600160a01b03821690630ba51f4990611217908a908a908a908a908a908a906004016132d8565b600060405180830381600087803b15801561123157600080fd5b505af1158015611245573d6000803e3d6000fd5b505050505b50505050505050565b600061125d6112c9565b9050306001600160a01b0382160361127c57610ea28686868686611a1d565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090610ef49089908990899089908990600401613322565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680611303573391505090565b919050565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b8160008151811061134d5761134d613111565b602002602001018181525050828160018151811061136d5761136d613111565b602090810291909101015260006113ad7f7462776f726c64000000000000000000496e7374616c6c65644d6f64756c65738383630101000160d81b610f2e565b90506113b98160f81c90565b95945050505050565b6113d885858585856113d38b611a32565b611ab7565b5050505050565b60006113b96113ee8686611df0565b60ff858116601b0360080285901c166114078587611e46565b611e7f565b6000601c82511115611436578151604051635318beb960e01b81526004016102bd91815260200190565b60008080805b855181101561151157600061147a87838151811061145c5761145c613111565b602002602001015160c581111561147557611475613268565b611ed0565b90508060000361148f576001909201916114c7565b82156114c7576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80840193506008826004601f0303028783815181106114e8576114e8613111565b602002602001015160c581111561150157611501613268565b901b94909417935060010161143c565b50600581111561153757604051635318beb960e01b8152600481018290526024016102bd565b8451819003600861154a60026020613369565b611554919061337c565b83901b93909317926008600161156c60026020613369565b6115769190613369565b611580919061337c565b81901b9390931792600860018061159960026020613369565b6115a39190613369565b6115ad9190613369565b6115b7919061337c565b9190911b92909217949350505050565b613a3160f11b867fffff000000000000000000000000000000000000000000000000000000000000161480159061164057507f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001614155b156116a157613a3160f11b868760405160200161165f91815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526102bd939291600401613393565b6116aa85611f30565b6116b5846001612177565b6116c0836000612177565b60e084901c60e885901c0160ff168251146117205760e084901c60e885901c0160ff1682516040517f0f72cb98000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b60e085901c60e886901c0160ff168151146117805760e085901c60e886901c0160ff1681516040517f7dec4c00000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b60e085901c60e886901c0160ff1660e084901c60e885901c0160ff16146117f85760e085901c60e886901c0160ff1660e084901c60e885901c0160ff166040517ff29d4d88000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b61180185612313565b61180a84612313565b1461185c5761181885612313565b61182184612313565b6040517f65cc0adf000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b61186585612345565b61186e84612345565b146118c05761187c85612345565b61188584612345565b6040517fedea9587000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b60005b6118cc86612313565b811015611962576118f16118e08583612362565b60c581111561147557611475613268565b6008601b8390030287901c60ff161461195a576008601b8290030286901c60ff1661191f6118e08684612362565b6040517f254c7db4000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b6001016118c3565b5061196c86612383565b156119c657858660405160200161198591815260200190565b60408051601f19818403018152908290527fdfaaf9cf0000000000000000000000000000000000000000000000000000000082526102bd9291600401613067565b611a1286868686866040516020016119de91906133d4565b604051602081830303815290604052866040516020016119fe91906133d4565b6040516020818303038152906040526123fc565b61088b8660016124b7565b6113d88585611a2c8487611e46565b8561255d565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d000000000000000000008201611a8157507e60030220202000000000000000000000000000000000000000000000000000919050565b6101e1611aae7f746273746f72650000000000000000005461626c657300000000000000000000846127f8565b60206000611e7f565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001603611b4357857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a986868686604051611b3694939291906133e7565b60405180910390a261088b565b6000611b4e87612814565b905060005b8151811015611c27576000828281518110611b7057611b70613111565b60200260200101519050611b9c6001826affffffffffffffffffffff191661289d90919063ffffffff16565b15611c1e576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90611beb908c908c908c908c908c908c90600401613431565b600060405180830381600087803b158015611c0557600080fd5b505af1158015611c19573d6000803e3d6000fd5b505050505b50600101611b53565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a987878787604051611c5e94939291906133e7565b60405180910390a26000611c728888611df0565b90506000602087019050611c8a8260008951846128bb565b6000611c9585612345565b1115611d19576000611ca78a8a61297a565b878155905060208601915060008060005b611cc188612345565b8160ff161015611d1457611cd68d8d836129d0565b9250611cf18a8260ff166028026038011c64ffffffffff1690565b9150611d0083600084886128bb565b611d0a828661313d565b9450600101611cb8565b505050505b60005b8351811015610f22576000848281518110611d3957611d39613111565b60200260200101519050611d656002826affffffffffffffffffffff191661289d90919063ffffffff16565b15611de7576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90611db4908e908e908e908e908e908e90600401613431565b600060405180830381600087803b158015611dce57600080fd5b505af1158015611de2573d6000803e3d6000fd5b505050505b50600101611d1c565b60008282604051602001611e0592919061348a565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff16811015611e7757611e6d60ff601b83900360080287901c168361313d565b9150600101611e4b565b509392505050565b600060208210611ea557602082048401935060208281611ea157611ea16134c6565b0691505b508254600882021b602082900380841115611e77576001850154600882021c82179150509392505050565b6000808260c5811115611ee557611ee5613268565b60ff1690506061811015611eff57601f1660010192915050565b60618360c5811115611f1357611f13613268565b03611f215750601492915050565b50600092915050565b50919050565b80611f67576040517f220c0f6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611f7282612345565b90506005811115611fb9576040517f7f2372c300000000000000000000000000000000000000000000000000000000815260048101829052600560248201526044016102bd565b6000611fc483612313565b90506000611fd2838361313d565b9050601c811115612019576040517f4a8a06ad00000000000000000000000000000000000000000000000000000000815260048101829052601c60248201526044016102bd565b6000805b838110156120c45760ff601b82900360080287901c166000819003612071576040517f01f2a07c000000000000000000000000000000000000000000000000000000008152600481018390526024016102bd565b60208111156120af576040517f24c85d58000000000000000000000000000000000000000000000000000000008152600481018390526024016102bd565b6120b9818461313d565b92505060010161201d565b506120ce85612a50565b811461211a576120dd85612a50565b6040517f9365944a0000000000000000000000000000000000000000000000000000000081526004810191909152602481018290526044016102bd565b825b601c81101561088b5760ff601b82900360080287901c16801561216e576040517fbb68821a000000000000000000000000000000000000000000000000000000008152600481018390526024016102bd565b5060010161211c565b80158015612183575081155b156121a457604051635318beb960e01b8152600060048201526024016102bd565b60006121af83612345565b905060058111156121d657604051635318beb960e01b8152600481018290526024016102bd565b60006121e184612313565b905060006121ef838361313d565b9050601c81111561221657604051635318beb960e01b8152600481018290526024016102bd565b6000805b838110156122825760006122316118e08984612362565b90508060000361226d576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612277818461313d565b92505060010161221a565b5061228c86612a50565b81146122b75761229b86612a50565b604051635318beb960e01b81526004016102bd91815260200190565b825b8281101561124a5760006122d06118e08984612362565b9050801561230a576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001016122b9565b60006008600161232560026020613369565b61232f9190613369565b612339919061337c565b8260ff911c1692915050565b6000600860018061235860026020613369565b6123259190613369565b6000601b8290036008028360ff911c1660c5811115610d9457610d94613268565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106123bc576123bc613111565b60209081029190910101526000610c577f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b6113df565b6000612409868686612a73565b905060006124178484612a95565b905060006124258585612ab2565b6040805160018082528183019092529192506000919060208083019080368337019050509050898160008151811061245f5761245f613111565b6020908102919091010152610f227f746273746f72650000000000000000005461626c657300000000000000000000828686867e60030220202000000000000000000000000000000000000000000000000000611ab7565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106124ed576124ed613111565b6020026020010181815250506125587f746273746f72650000000000000000005265736f75726365496473000000000060001b8260008560405160200161253b91151560f81b815260010190565b60408051601f19818403018152919052630101000160d81b611a1d565b505050565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff00000000000000000000000000000000000000000000000000000000000016036125e757837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8484846040516125da939291906134dc565b60405180910390a2610d71565b60006125f38585611df0565b9050600061260086612814565b905060005b81518110156126d557600082828151811061262257612622613111565b6020026020010151905061264e6004826affffffffffffffffffffff191661289d90919063ffffffff16565b156126cc576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90612699908b908b908b908b90600401613519565b600060405180830381600087803b1580156126b357600080fd5b505af11580156126c7573d6000803e3d6000fd5b505050505b50600101612605565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161270a939291906134dc565b60405180910390a2612725828565ffffffffffff1685612ade565b60005b815181101561124a57600082828151811061274557612745613111565b602002602001015190506127716008826affffffffffffffffffffff191661289d90919063ffffffff16565b156127ef576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba8721906127bc908b908b908b908b90600401613519565b600060405180830381600087803b1580156127d657600080fd5b505af11580156127ea573d6000803e3d6000fd5b505050505b50600101612728565b6040805160208101849052908101829052600090606001611e05565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061284e5761284e613111565b602090810291909101015260006128867f746273746f726500000000000000000053746f7265486f6f6b730000000000008383612af4565b9050610c636128988260008451612b2e565b612bbc565b60008160ff16826128ae8560581c90565b1660ff1614905092915050565b821561293557602083106128e5576020830484019350602083816128e1576128e16134c6565b0692505b82156129355760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411612926575050610d71565b50600194909401939182900391015b5b602082106129575780518455600190930192601f1990910190602001612936565b8115610d71576000600019600884021c8554835182191691161785555050505050565b6000828260405160200161298f92919061348a565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b600083836040516020016129e592919061348a565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b60006008612a6060026020613369565b612a6a919061337c565b9190911c919050565b6040805160208101859052908101839052606081810183905290608001610e61565b8151815160009181810160389190911b1760609190911b17610d94565b60608282604051602001612ac7929190613552565b604051602081830303815290604052905092915050565b61255883838351612aef8560200190565b6128bb565b6060610c63612b048585856129d0565b6000612b2985612b148989612bcd565b9060ff166028026038011c64ffffffffff1690565b612be0565b600081831180612b3e5750835182115b15612b7b578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016102bd93929190613581565b60208401612b89848261313d565b90506000612b978585613369565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000610d948360156000612c03565b6000610d94612bdc848461297a565b5490565b60405160208101601f19603f8484010116604052828252611e7785858584612c7e565b60606000612c118560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281612c3757612c376134c6565b04905060405193506020840160208202810160405281855260005b82811015612c72578451871c825293870193602090910190600101612c52565b50505050509392505050565b8215612d055760208310612ca857602083048401935060208381612ca457612ca46134c6565b0692505b8215612d05576020839003600081841015612ccb5750600019600884021c612cd5565b50600019600882021c5b8554600886021b818451168219821617845250818411612cf6575050610d71565b50600194909401939182900391015b5b60208210612d275783548152600190930192601f1990910190602001612d06565b8115610d71576000600019600884021c8251865482191691161782525050505050565b600060208284031215612d5c57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610d9457600080fd5b634e487b7160e01b600052604160045260246000fd5b6040516060810167ffffffffffffffff81118282101715612dc557612dc5612d8c565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715612df457612df4612d8c565b604052919050565b600067ffffffffffffffff821115612e1657612e16612d8c565b50601f01601f191660200190565b600060208284031215612e3657600080fd5b813567ffffffffffffffff811115612e4d57600080fd5b8201601f81018413612e5e57600080fd5b8035612e71612e6c82612dfc565b612dcb565b818152856020838501011115612e8657600080fd5b81602084016020830137600091810160200191909152949350505050565b60005b83811015612ebf578181015183820152602001612ea7565b50506000910152565b6000612ed6612e6c84612dfc565b9050828152838383011115612eea57600080fd5b610d94836020830184612ea4565b600082601f830112612f0957600080fd5b610d9483835160208501612ec8565b60008060408385031215612f2b57600080fd5b825171ffffffffffffffffffffffffffffffffffff1981168114612f4e57600080fd5b602084015190925067ffffffffffffffff80821115612f6c57600080fd5b9084019060608287031215612f8057600080fd5b612f88612da2565b825182811115612f9757600080fd5b612fa388828601612ef8565b825250602083015182811115612fb857600080fd5b612fc488828601612ef8565b602083015250604083015182811115612fdc57600080fd5b612fe888828601612ef8565b6040830152508093505050509250929050565b6000825161300d818460208701612ea4565b9190910192915050565b80516020808301519190811015611f2a5760001960209190910360031b1b16919050565b60008151808452613053816020860160208601612ea4565b601f01601f19169290920160200192915050565b828152604060208201526000610c63604083018461303b565b60006020828403121561309257600080fd5b815167ffffffffffffffff8111156130a957600080fd5b8201601f810184136130ba57600080fd5b610c6384825160208401612ec8565b6000602082840312156130db57600080fd5b81516001600160a01b0381168114610d9457600080fd5b8381528260208201526060604082015260006113b9606083018461303b565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b808201808211156101e1576101e1613127565b60008451613162818460208901612ea4565b845190830190613176818360208901612ea4565b8451910190613189818360208801612ea4565b0195945050505050565b60008151808452602080850194506020840160005b838110156131c4578151875295820195908201906001016131a8565b509495945050505050565b85815260a0602082015260006131e860a0830187613193565b82810360408401526131fa818761303b565b90508460608401528281036080840152613214818561303b565b98975050505050505050565b8481526080602082015260006132396080830186613193565b60ff949094166040830152506060015292915050565b60006020828403121561326157600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b60008282518085526020808601955060208260051b8401016020860160005b848110156132cb57601f198684030189526132b983835161303b565b9884019892509083019060010161329d565b5090979650505050505050565b86815285602082015284604082015283606082015260c06080820152600061330360c083018561327e565b82810360a0840152613315818561327e565b9998505050505050505050565b85815260a06020820152600061333b60a0830187613193565b60ff861660408401528281036060840152613356818661303b565b9150508260808301529695505050505050565b818103818111156101e1576101e1613127565b80820281158282048414176101e1576101e1613127565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006113b9606083018461303b565b602081526000610d94602083018461327e565b6080815260006133fa6080830187613193565b828103602084015261340c818761303b565b90508460408401528281036060840152613426818561303b565b979650505050505050565b86815260c06020820152600061344a60c0830188613193565b828103604084015261345c818861303b565b90508560608401528281036080840152613476818661303b565b9150508260a0830152979650505050505050565b8281526000602080830184516020860160005b828110156134b95781518452928401929084019060010161349d565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b6060815260006134ef6060830186613193565b65ffffffffffff85166020840152828103604084015261350f818561303b565b9695505050505050565b8481526080602082015260006135326080830186613193565b65ffffffffffff851660408401528281036060840152613426818561303b565b60008351613564818460208801612ea4565b835190830190613578818360208801612ea4565b01949350505050565b606081526000613594606083018661303b565b6020830194909452506040015291905056fea164736f6c6343000818000a","sourceMap":"1456:1812:142:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;918:308:53;;;;;;:::i;:::-;;:::i;:::-;;;516:14:208;;509:22;491:41;;479:2;464:18;918:308:53;;;;;;;;1196:113:58;;;:::i;:::-;;;-1:-1:-1;;;;;707:55:208;;;689:74;;677:2;662:18;1196:113:58;543:226:208;1642:1523:142;;;;;;:::i;:::-;;:::i;:::-;;1550:110:58;;;-1:-1:-1;;3551:14:58;3547:25;3534:39;2632:25:208;;2620:2;2605:18;1550:110:58;2486:177:208;3169:97:142;;;;;;:::i;:::-;;:::i;1876:98:58:-;;;:::i;918:308:53:-;1042:4;1067:40;;;1082:25;1067:40;;:104;;-1:-1:-1;1117:54:53;;;1132:39;1117:54;1067:104;:154;;;-1:-1:-1;1181:40:53;;;1196:25;1181:40;1067:154;1054:167;918:308;-1:-1:-1;;918:308:53:o;1196:113:58:-;1239:14;1268:36;:34;:36::i;:::-;1261:43;;1196:113;:::o;1642:1523:142:-;1764:40;1784:6;1792:11;1764:19;:40::i;:::-;1831:17;1850:34;1899:11;1888:54;;;;;;;;;;;;:::i;:::-;1830:112;;-1:-1:-1;1830:112:142;-1:-1:-1;2015:29:142;-1:-1:-1;;2015:29:142;;;2011:97;;2061:40;;;;;-1:-1:-1;;4867:79:208;;2061:40:142;;;4849:98:208;4822:18;;2061:40:142;;;;;;;;2011:97;2159:16;2189:8;:6;:8::i;:::-;2159:39;;2205:12;2219:23;2246:19;-1:-1:-1;;;;;2246:32:142;2344:5;2351:9;2286:76;;;;;;;;-1:-1:-1;;;;;5170:55:208;;;;5152:74;;-1:-1:-1;;5262:79:208;5257:2;5242:18;;5235:107;5140:2;5125:18;;4958:390;2286:76:142;;;;-1:-1:-1;;2286:76:142;;;;;;;;;;;;;;;;;;;;2246:122;;;2286:76;2246:122;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2204:164;;;;2379:7;2374:41;;2388:27;2404:10;2388:15;:27::i;:::-;2453:57;2472:27;2489:9;2472:16;:27::i;:::-;2501:8;2453:18;:57::i;:::-;2563:25;2591:26;2607:9;2591:15;:26::i;:::-;2563:54;;2623:14;2640:35;2653:5;2660:14;2640:12;:35::i;:::-;2623:52;-1:-1:-1;1531:18:59;1554:33;385:5:16;1554:33:59;;;;1523:65;-1:-1:-1;;;;;2815:23:142;;;1523:65:59;2852:12:142;:10;:12::i;:::-;2815:50;;;;;;;;;;;;;5850:25:208;;;;-1:-1:-1;;;;;5911:55:208;5891:18;;;5884:83;5823:18;;2815:50:142;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;912:77:150;;;-1:-1:-1;;;912:77:150;;;6161:92:208;945:16:150;6269:11:208;;;6262:100;963:25:150;6378:12:208;;;6371:101;2925:47:142;;-1:-1:-1;6488:12:208;;-1:-1:-1;912:77:150;;;;;;;;;;;;904:86;;;:::i;:::-;2925:21:142;:47::i;:::-;2920:170;;427:54:150;;444:18;427:54;;;7028:92:208;464:16:150;7136:11:208;;;7129:100;-1:-1:-1;;;;;2982:23:142;;;;;7245:12:208;;427:54:150;;;;;;;;;;;;419:63;;;:::i;:::-;2982:44:142;;;;;;;;;;;;;2632:25:208;;2620:2;2605:18;;2486:177;2982:44:142;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;912:77:150;;;-1:-1:-1;;;912:77:150;;;6161:92:208;945:16:150;6269:11:208;;;6262:100;963:25:150;6378:12:208;;;6371:101;3034:49:142;;-1:-1:-1;6488:12:208;;-1:-1:-1;912:77:150;;;;;;;;;;;;904:86;;;:::i;:::-;3034:23:142;:49::i;:::-;912:77:150;;;-1:-1:-1;;;912:77:150;;;6161:92:208;945:16:150;6269:11:208;;;6262:100;963:25:150;6378:12:208;;;6371:101;3095:65:142;;6488:12:208;912:77:150;;;;;;;;;;;;904:86;;;:::i;:::-;3140:11:142;3153:6;3095:18;:65::i;:::-;1692:1473;;;;;;;;1642:1523;:::o;3169:97::-;3229:32;;;;;;;;;;;;;;1876:98:58;1915:7;1937:32;:30;:32::i;2743:383::-;3029:34;3033:14;3029:34;3016:48;3010:4;3006:59;;3076:45;;-1:-1:-1;3111:10:58;3076:45;2743:383;:::o;1924:194:53:-;2026:39;2038:13;2053:11;2026;:39::i;:::-;2022:92;;;2082:25;;;;;;;;;;;;;;2022:92;1924:194;;:::o;501:217:96:-;704:6;698:13;691:4;683:6;679:17;672:40;709:181:158;768:10;791:96;-1:-1:-1;;;854:9:158;871:13;791:25;:96::i;18300:443:152:-;18383:24;18413:29;18445:57;18459:6;:11;;;18472:6;:13;;;18487:6;:14;;;18445:13;:57::i;:::-;18413:89;;18508:25;18536:57;18550:6;:11;;;18563:6;:13;;;18578:6;:14;;;18536:13;:57::i;:::-;18629:16;;;18600:26;18629:16;;;;;;;;18508:85;;-1:-1:-1;18652:86:152;18674:8;18629:16;18695:11;18708:15;18508:85;18652:21;:86::i;:::-;18377:366;;;;18300:443;;:::o;1649:186:158:-;1707:10;1730:102;1766:15;1794:9;1811:18;1730:25;:102::i;799:322:179:-;740:64:178;;;757:15;740:64;;;6161:92:208;405:17:178;6269:11:208;;;6262:100;785:18:178;6378:12:208;;;6371:101;869:14:179;;-1:-1:-1;;;;;914:10:179;;;;;6488:12:208;740:64:178;;;;;;;;;;;;732:73;;;:::i;:::-;941:60:179;;;;;2632:25:208;;;2605:18;;941:60:179;;;-1:-1:-1;;941:60:179;;;;;;;;;;;;;;;;;;;;914:88;;941:60;914:88;;;;;;;;;941:60;914:88;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;914:88:179;;;;;;;;;;;;:::i;:::-;898:123;;;;;;;;;;;;:::i;:::-;889:132;-1:-1:-1;;;;;;1025:33:179;;;816:18:99;578:36:59;2820:46;;2819:74;603:67:178;;;620:15;603:67;;;6161:92:208;405:17:178;6269:11:208;;;6262:100;648:21:178;6378:12:208;;;6371:101;6488:12;603:67:178;;;;;;;;;;;;595:76;;;:::i;:::-;1105:12:179;;;1115:1;1105:12;;;;;;;;;1025:93;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;799:322;;;;:::o;3232:315:27:-;3345:16;;;3359:1;3345:16;;;;;;;;;3297:11;;;;3345:16;;;;;;;;;;;;-1:-1:-1;3345:16:27;3316:45;;3400:10;3367:9;3377:1;3367:12;;;;;;;;:::i;:::-;;;;;;;;;;:44;3418:13;3434:64;1076:66;3471:9;3418:13;-1:-1:-1;;;3434:26:27;:64::i;:::-;3418:80;;3512:29;3533:5;3520:20;;7897:5;7811:97;3512:29;3504:38;3232:315;-1:-1:-1;;;;3232:315:27:o;2724:174:153:-;2778:115;2804:8;1147:66;2828:14;:12;:14::i;:::-;2844:16;:14;:16::i;:::-;2862:13;:11;:13::i;:::-;2877:15;:13;:15::i;:::-;2778:25;:115::i;:::-;2724:174;:::o;5452:301::-;5576:16;;;5590:1;5576:16;;;;;;;;;5547:26;;5576:16;;;;;;;;;;;-1:-1:-1;5576:16:153;5547:45;;5631:11;5598:9;5608:1;5598:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5650:98;5677:8;5687:9;5698:1;5719:12;5701:32;;;;;;;9692:2:208;9688:15;;;;9705:66;9684:88;9672:101;;9798:2;9789:12;;9543:264;5701:32:153;;;;-1:-1:-1;;5701:32:153;;;;;;;;;1147:66;5650:26;:98::i;:::-;5541:212;5452:301;;;:::o;3799:97:58:-;3840:7;3862:29;:27;:29::i;1513:176:53:-;1606:4;1625:59;1646:13;1671:11;1661:22;;;;;;1625:20;:59::i;:::-;1618:66;1513:176;-1:-1:-1;;;1513:176:53:o;980:257:59:-;1067:10;1196:26;438:6;385:5:16;1196:26:59;:::i;:::-;1178:13;;;:45;;385:5:16;1142:31:59;;;;;1123:15;;;:51;:101;;-1:-1:-1;980:257:59;;;;;:::o;21174:384:152:-;21301:29;21461:86;21489:4;21483:18;21509:6;21503:20;21531:7;21525:21;3386:23:15;3371:39;;;3320:23;3305:39;;;834:16;3239:39;;;3204:5;;;:9;;3221:58;3287;3353;3052:425;;;;;;21723:225:152;21850:12;21901:4;21916:6;21933:7;21877:66;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;21870:73;;21723:225;;;;;:::o;6388:479:24:-;6574:21;6598:17;:15;:17::i;:::-;6574:41;-1:-1:-1;6650:4:24;-1:-1:-1;;;;;6625:30:24;;;6621:242;;6665:79;6685:7;6694:8;6704:10;6716:14;6732:11;6665:19;:79::i;:::-;6621:242;;;6765:91;;;;;-1:-1:-1;;;;;6765:31:24;;;;;:91;;6797:7;;6806:8;;6816:10;;6828:14;;6844:11;;6765:91;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6568:299;6388:479;;;;;:::o;17702:457::-;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;1567:200:153:-;1661:19;;;1678:1;1661:19;;;;;;;;;1614:6;;;;1661:19;;;;;;;;;;;;-1:-1:-1;1661:19:153;1628:52;;1702:18;1686:10;1697:1;1686:13;;;;;;;;:::i;:::-;;;;;;:34;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;1734:28:153;1751:10;1734:16;:28::i;:::-;1727:35;;;1567:200;:::o;1884:208::-;1982:19;;;1999:1;1982:19;;;;;;;;;1933:6;;;;1982:19;;;;;;;;;;;;-1:-1:-1;1982:19:153;1947:54;;2025:18;2007:12;2020:1;2007:15;;;;;;;;:::i;2226:142::-;2315:15;;;2328:1;2315:15;;;;;;;;;2272:24;;2315:15;;;;;;;;;;;;;;;;;;;;2304:26;;2336:27;;;;;;;;;;;;;;;;;:8;2345:1;2336:11;;;;;;;;:::i;:::-;;;;;;:27;;;;2226:142;:::o;2508:151::-;2603:15;;;2616:1;2603:15;;;;;;;;;2556:26;;2603:15;;;;;;;;;;;;;;;;;;;;2590:28;;2624:30;;;;;;;;;;;;;;;;;:10;2635:1;2624:13;;;;;;;;:::i;5574:520:24:-;5777:21;5801:17;:15;:17::i;:::-;5777:41;-1:-1:-1;5853:4:24;-1:-1:-1;;;;;5828:30:24;;;5824:266;;5868:91;5892:7;5901:11;5914:9;5925:11;5938:8;5948:10;5868:23;:91::i;:::-;5824:266;;;5980:103;;;;;-1:-1:-1;;;;;5980:35:24;;;;;:103;;6016:7;;6025:11;;6038:9;;6049:11;;6062:8;;6072:10;;5980:103;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5824:266;5771:323;5574:520;;;;;;:::o;10690:455::-;10862:21;10886:17;:15;:17::i;:::-;10862:41;-1:-1:-1;10938:4:24;-1:-1:-1;;;;;10913:30:24;;;10909:232;;10953:74;10978:7;10987:8;10997:10;11009:4;11015:11;10953:24;:74::i;10909:232::-;11048:86;;;;;-1:-1:-1;;;;;11048:36:24;;;;;:86;;11085:7;;11094:8;;11104:10;;11116:4;;11122:11;;11048:86;;;:::i;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;4313:382:72:-;4448:16;;;4462:1;4448:16;;;;;;;;4395;;;;4448;4462:1;4448:16;;;;;;;;;;-1:-1:-1;4448:16:72;4419:45;;4509:13;-1:-1:-1;;;;;4493:31:72;4485:40;;4470:9;4480:1;4470:12;;;;;;;;:::i;:::-;;;;;;:55;;;;;4546:13;4531:9;4541:1;4531:12;;;;;;;;:::i;:::-;;;;;;;;;;:28;4566:13;4582:64;1182:66;4619:9;4566:13;-1:-1:-1;;;4582:26:72;:64::i;:::-;4566:80;;4660:29;4681:5;4668:20;;7897:5:27;7811:97;4660:29:72;4652:38;4313:382;-1:-1:-1;;;;;4313:382:72:o;14200:285:20:-;14386:94;14396:7;14405:8;14415:10;14427:14;14443:11;14456:23;14471:7;14456:14;:23::i;:::-;14386:9;:94::i;:::-;14200:285;;;;;:::o;38240:541::-;38397:7;38534:242;38578:59;38619:7;38628:8;38578:40;:59::i;:::-;38655:31;;;;4479:19:3;:27;537:1:30;4478:44:3;4444:79;;;4431:93;38704:63:20;38743:11;38756:10;38704:38;:63::i;:::-;38534:17;:242::i;1247:2059:17:-;1315:6;647:2:30;1333:7:17;:14;:33;1329:85;;;1399:7;:14;1375:39;;-1:-1:-1;;;1375:39:17;;;;;;2632:25:208;;2620:2;2605:18;;2486:177;1329:85:17;1420:14;;;;1621:956;1645:7;:14;1641:1;:18;1621:956;;;1671:24;1698:32;:7;1706:1;1698:10;;;;;;;;:::i;:::-;;;;;;;:30;;;;;;;;:::i;:::-;;:32::i;:::-;1671:59;;1743:16;1763:1;1743:21;1739:404;;1928:15;;;;;1739:404;;;1972:17;;1968:175;;2096:38;;;;;;;;;;;;;;1968:175;2269:16;2254:31;;;;537:1:30;2531::17;2527;437:2:30;2509:19:17;:23;2508:40;2492:7;2500:1;2492:10;;;;;;;;:::i;:::-;;;;;;;2484:19;;;;;;;;:::i;:::-;:65;;2474:75;;;;;-1:-1:-1;2559:3:17;;1621:956;;;;902:1:30;2621:13:17;:34;2617:85;;;2664:38;;-1:-1:-1;;;2664:38:17;;;;;2632:25:208;;;2605:18;;2664:38:17;2486:177:208;2617:85:17;2802:14;;:30;;;537:1:30;1247:13;1259:1;334:2;1247:13;:::i;:::-;1246:30;;;;:::i;:::-;3090:41:17;;;3080:51;;;;;537:1:30;1425;1409:13;1421:1;334:2;1409:13;:::i;:::-;:17;;;;:::i;:::-;1408:34;;;;:::i;:::-;3147:47:17;;;3137:57;;;;;537:1:30;1597;;1577:13;1589:1;334:2;1577:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1576:38;;;;:::i;:::-;3210:49:17;;;;3200:59;;;;;1247:2059;-1:-1:-1;;;;1247:2059:17:o;9076:2614:20:-;-1:-1:-1;;;9336:7:20;:35;;;;;;:83;;-1:-1:-1;9396:23:20;9375:7;:44;;;;9336:83;9332:209;;;-1:-1:-1;;;9491:7:20;9524;9507:25;;;;;;15751:19:208;;15795:2;15786:12;;15591:213;9507:25:20;;;;-1:-1:-1;;9507:25:20;;;;;;;;;;9436:98;;;;;;;;;;:::i;9332:209::-;9587:22;:11;:20;:22::i;:::-;9650:40;:9;9683:4;9650:18;:40::i;:::-;9696:43;:11;9731:5;9696:20;:43::i;:::-;1576:38:30;5165:60:17;;;1408:34:30;5088:59:17;;;5082:144;5067:159;;9827:8:20;:15;:40;9823:148;;1576:38:30;5165:60:17;;;1408:34:30;5088:59:17;;;5082:144;5067:159;;9948:15:20;;9884:80;;;;;;;;16451:25:208;;;;16492:18;;;16485:34;16424:18;;9884:80:20;16277:248:208;9823:148:20;1576:38:30;5165:60:17;;;1408:34:30;5088:59:17;;;5082:144;5067:159;;10021:10:20;:17;:44;10017:158;;1576:38:30;5165:60:17;;;1408:34:30;5088:59:17;;;5082:144;5067:159;;10150:17:20;;10082:86;;;;;;;;16451:25:208;;;;16492:18;;;16485:34;16424:18;;10082:86:20;16277:248:208;10017: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;;10232:50:20;10228: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;;10299:93:20;;;;;;;;16451:25:208;;;;16492:18;;;16485:34;16424:18;;10299:93:20;16277:248:208;10228:171:20;10441:29;:11;:27;:29::i;:::-;10408;:11;:27;:29::i;:::-;:62;10404:225;;10546:29;:11;:27;:29::i;:::-;10585;:11;:27;:29::i;:::-;10487:135;;;;;;;;16451:25:208;;;;16492:18;;;16485:34;16424:18;;10487:135:20;16277:248:208;10404:225:20;10672:30;:11;:28;:30::i;:::-;10638;:11;:28;:30::i;:::-;:64;10634:230;;10779:30;:11;:28;:30::i;:::-;10819;:11;:28;:30::i;:::-;10719:138;;;;;;;;16451:25:208;;;;16492:18;;;16485:34;16424:18;;10719:138:20;16277:248:208;10634:230:20;10961:9;10956:314;10976:29;:11;:27;:29::i;:::-;10972:1;:33;10956:314;;;11050:44;:22;:11;11070:1;11050:19;:22::i;:::-;:42;;;;;;;;:::i;:44::-;537:1:30;4479:19:3;:27;;;4478:44;4444:79;;;4431:93;;11024:70:20;11020:244;;537:1:30;4479:19:3;:27;;;4478:44;4444:79;;;4431:93;;11201:44:20;:22;:11;11221:1;11201:19;:22::i;:44::-;11113:142;;;;;;;;16451:25:208;;;;16492:18;;;16485:34;16424:18;;11113:142:20;16277:248:208;11020:244:20;11007:3;;10956:314;;;;11332:31;11355:7;11332:22;:31::i;:::-;11328:140;;;11418:7;11451;11434:25;;;;;;15751:19:208;;15795:2;15786:12;;15591:213;11434:25:20;;;;-1:-1:-1;;11434:25:20;;;;;;;;;;11380:81;;;;;;;;;:::i;11328:140::-;11509:103;11521:7;11530:11;11543:9;11554:11;11578:8;11567:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;11600:10;11589:22;;;;;;;;:::i;:::-;;;;;;;;;;;;;11509:11;:103::i;:::-;11648:37;11671:7;11680:4;11648:22;:37::i;25207:355::-;25379:178;25413:7;25438:8;25468:63;25507:11;25520:10;25468:38;:63::i;:::-;25546:4;25379:16;:178::i;6455:651::-;6522:11;6758:62;;;6754:112;;-1:-1:-1;1343:66:29;;6455:651:20;-1:-1:-1;6455:651:20:o;6754:112::-;6910:183;6956:83;1171:66:29;7030:7:20;6956:40;:83::i;:::-;7059:2;7081:1;6910:17;:183::i;15345:3138::-;15639:23;15618:7;:44;;;15614:198;;15732:7;15716:75;15741:8;15751:10;15763:14;15779:11;15716:75;;;;;;;;;:::i;:::-;;;;;;;;15799:7;;15614:198;15950:22;15975:24;15991:7;15975:15;:24::i;:::-;15950:49;;16010:9;16005:340;16025:5;:12;16021:1;:16;16005:340;;;16052:9;16074:5;16080:1;16074:8;;;;;;;;:::i;:::-;;;;;;;16052:31;;16095:33;343:6:32;16095:4:20;:14;;;;;:33;;;;:::i;:::-;16091:248;;;16140:190;;;;;3404:35:4;;;;;16140:47:20;;:190;;16199:7;;16218:8;;16238:10;;16260:14;;16286:11;;16309;;16140:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16091:248;-1:-1:-1;16039:3:20;;16005:340;;;;16409:7;16393:75;16418:8;16428:10;16440:14;16456:11;16393:75;;;;;;;;;:::i;:::-;;;;;;;;16532:26;16561:59;16602:7;16611:8;16561:40;:59::i;:::-;16532:88;-1:-1:-1;16626:21:20;828:4:14;818:15;;16626:54:20;;16686:149;16724:18;16758:1;16775:10;:17;16815:13;16686;:149::i;:::-;16935:1;16902:30;:11;:28;:30::i;:::-;:34;16898:1174;;;17021:33;17057:66;17105:7;17114:8;17057:47;:66::i;:::-;629:28:19;;;17021:102:20;-1:-1:-1;828:4:14;818:15;;17297:47:20;;17453:27;17488:25;17526:7;17521:545;17539:30;:11;:28;:30::i;:::-;17535:1;:34;;;17521:545;;;17605:63;17647:7;17656:8;17666:1;17605:41;:63::i;:::-;17583:85;-1:-1:-1;17698:25:20;:14;17721:1;6801:16:15;;922;6801;834;6790:27;6750:68;6728:92;;;6613:218;17698:25:20;17678:45;;17733:170;17775:19;17814:1;17835:17;17879:13;17733;:170::i;:::-;17913:34;17930:17;17913:34;;:::i;:::-;;-1:-1:-1;18044:3:20;;17521:545;;;;16938:1134;;;16898:1174;18146:9;18141:338;18161:5;:12;18157:1;:16;18141:338;;;18188:9;18210:5;18216:1;18210:8;;;;;;;;:::i;:::-;;;;;;;18188:31;;18231:32;437:6:32;18231:4:20;:14;;;;;:32;;;;:::i;:::-;18227:246;;;18275:189;;;;;3404:35:4;;;;;18275:46:20;;:189;;18333:7;;18352:8;;18372:10;;18394:14;;18420:11;;18443;;18275:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18227:246;-1:-1:-1;18175:3:20;;18141:338;;52803:191;52905:7;52969;52978:8;52952:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;52952:35:20;;;;;;;;;52942:46;;52952:35;52942:46;;;;44363:22;52935:53;;52803:191;-1:-1:-1;;;52803:191:20:o;53820:242::-;53916:7;;;53955:84;53975:10;53971:14;;:1;:14;53955:84;;;54000:32;4431:93:3;4479:19;:27;;;537:1:30;4478:44:3;4444:79;;;4431:93;54000:32:20;;:::i;:::-;;-1:-1:-1;53987:3:20;;53955:84;;;-1:-1:-1;54051:6:20;53820:242;-1:-1:-1;;;53820:242: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;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;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;;;;;;;;16451:25:208;;;902:1:30;16492:18:208;;;16485:34;16424:18;;7052:89:3;16277: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;;;;;;;;16451:25:208;;;647:2:30;16492:18:208;;;16485:34;16424:18;;7339:78:3;16277: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;;;;;;;;2632:25:208;;;2605:18;;7646:51:3;2486:177:208;7602:232:3;334:2:30;7716:16:3;:28;7712:122;;;7763:62;;;;;;;;2632:25:208;;;2605:18;;7763:62:3;2486: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;;;;;;;;16451:25:208;;;;16492:18;;;16485:34;;;16424:18;;8038:104:3;16277: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;;;;;;;;2632:25:208;;;2605:18;;8359:54:3;2486: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;;;2632:25:208;2605:18;;5835:36:17;2486: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;;;;;2632:25:208;;;2605:18;;6044:52:17;2486: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;;;;;2632:25:208;;;2605:18;;6339:50:17;2486: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;;;;;;2632:25:208;;2620:2;2605:18;;2486: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;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;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;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;;;;;;19907:14:208;19900:22;19895:3;19891:32;19879:45;;19949:1;19940:11;;19756:201;5174:26:27;;;;-1:-1:-1;;5174:26:27;;;;;;;;;-1:-1:-1;;;5125:24:27;:90::i;:::-;5017:203;4952:268;;:::o;19119:1676:20:-;19319:23;19298:7;:44;;;19294:232;;19449:7;19405:100;19468:8;19485:5;19498:4;19405:100;;;;;;;;:::i;:::-;;;;;;;;19513:7;;19294:232;19532:16;19551:59;19592:7;19601:8;19551:40;:59::i;:::-;19532:78;;19756:22;19781:24;19797:7;19781:15;:24::i;:::-;19756:49;;19816:9;19811:328;19831:5;:12;19827:1;:16;19811:328;;;19858:9;19880:5;19886:1;19880:8;;;;;;;;:::i;:::-;;;;;;;19858:31;;19901:41;548:6:32;19901:4:20;:14;;;;;:41;;;;:::i;:::-;19897:236;;;19954:170;;;;;3404:35:4;;;;;19954:54:20;;:170;;20030:7;;20059:8;;20086:5;;20109:4;;19954:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19897:236;-1:-1:-1;19845:3:20;;19811:328;;;;20240:7;20196:100;20259:8;20276:5;20289:4;20196:100;;;;;;;;:::i;:::-;;;;;;;;20346:70;20378:8;20396:5;20346:70;;20409:4;20346:13;:70::i;:::-;20470:9;20465:326;20485:5;:12;20481:1;:16;20465:326;;;20512:9;20534:5;20540:1;20534:8;;;;;;;;:::i;:::-;;;;;;;20512:31;;20555:40;657:6:32;20555:4:20;:14;;;;;:40;;;;:::i;:::-;20551:234;;;20607:169;;;;;3404:35:4;;;;;20607:53:20;;:169;;20682:7;;20711:8;;20738:5;;20761:4;;20607:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20551:234;-1:-1:-1;20499:3:20;;20465:326;;53246:282;53491:30;;;;;;21286:19:208;;;21321:12;;;21314:28;;;53334:7:20;;21358:12:208;;53491:30:20;21098:278:208;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;:::-;4577:70;;4661:66;:44;4682:5;4689:1;4692:5;:12;4661:20;:44::i;:::-;:64;:66::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;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;55368:230:20:-;55489:7;55573;55582:8;55556:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;55556:35:20;;;;;;;;;55546:46;;55556:35;55546:46;;;;44526:40;55519:73;;55368:230;-1:-1:-1;;;55368:230:20:o;54739:274::-;54883:7;54988;54997:8;54971:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;54961:46;;;;;;54940:17;54933:25;;54913:45;;;44435:34;54913:45;:94;54905:103;;54898:110;;54739:274;;;;;:::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;;;;;;21651:19:208;;;21686:12;;;21679:28;;;25178:12:29;21723::208;;;21716:28;;;25178:12:29;21760::208;;25205:53:29;21381:397:208;25454:388:29;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;:::-;;;;;;;;;;;;;26153:83;;26007:234;;;;:::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;39249:522:20:-;39385:12;39509:257;39548:79;39590:7;39599:8;39609:17;39548:41;:79::i;:::-;39645:1;39664:93;39739:17;39664:66;39712:7;39721:8;39664:47;:66::i;:::-;:74;6801:16:15;;922;6801;834;6790:27;6750:68;6728:92;;;6613:218;39664:93:20;39509: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;55936:301:20:-;56057:13;56149:82;56180:48;56210:7;56219:8;56180:29;:48::i;:::-;4645:21:19;;4539:137;4976:669;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;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;14:332:208:-;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;230:66;223:5;219:78;212:5;209:89;199:117;;312:1;309;302:12;774:184;-1:-1:-1;;;823:1:208;816:88;923:4;920:1;913:15;947:4;944:1;937:15;963:253;1035:2;1029:9;1077:4;1065:17;;1112:18;1097:34;;1133:22;;;1094:62;1091:88;;;1159:18;;:::i;:::-;1195:2;1188:22;963:253;:::o;1221:334::-;1292:2;1286:9;1348:2;1338:13;;-1:-1:-1;;1334:86:208;1322:99;;1451:18;1436:34;;1472:22;;;1433:62;1430:88;;;1498:18;;:::i;:::-;1534:2;1527:22;1221:334;;-1:-1:-1;1221:334:208:o;1560:245::-;1608:4;1641:18;1633:6;1630:30;1627:56;;;1663:18;;:::i;:::-;-1:-1:-1;1720:2:208;1708:15;-1:-1:-1;;1704:88:208;1794:4;1700:99;;1560:245::o;1810:671::-;1878:6;1931:2;1919:9;1910:7;1906:23;1902:32;1899:52;;;1947:1;1944;1937:12;1899:52;1987:9;1974:23;2020:18;2012:6;2009:30;2006:50;;;2052:1;2049;2042:12;2006:50;2075:22;;2128:4;2120:13;;2116:27;-1:-1:-1;2106:55:208;;2157:1;2154;2147:12;2106:55;2193:2;2180:16;2218:48;2234:31;2262:2;2234:31;:::i;:::-;2218:48;:::i;:::-;2289:2;2282:5;2275:17;2329:7;2324:2;2319;2315;2311:11;2307:20;2304:33;2301:53;;;2350:1;2347;2340:12;2301:53;2405:2;2400;2396;2392:11;2387:2;2380:5;2376:14;2363:45;2449:1;2428:14;;;2444:2;2424:23;2417:34;;;;2432:5;1810:671;-1:-1:-1;;;;1810:671:208:o;2668:250::-;2753:1;2763:113;2777:6;2774:1;2771:13;2763:113;;;2853:11;;;2847:18;2834:11;;;2827:39;2799:2;2792:10;2763:113;;;-1:-1:-1;;2910:1:208;2892:16;;2885:27;2668:250::o;2923:321::-;2999:5;3028:52;3044:35;3072:6;3044:35;:::i;3028:52::-;3019:61;;3103:6;3096:5;3089:21;3143:3;3134:6;3129:3;3125:16;3122:25;3119:45;;;3160:1;3157;3150:12;3119:45;3173:65;3231:6;3224:4;3217:5;3213:16;3208:3;3173:65;:::i;3249:237::-;3303:5;3356:3;3349:4;3341:6;3337:17;3333:27;3323:55;;3374:1;3371;3364:12;3323:55;3396:84;3476:3;3467:6;3461:13;3454:4;3446:6;3442:17;3396:84;:::i;3491:1207::-;3607:6;3615;3668:2;3656:9;3647:7;3643:23;3639:32;3636:52;;;3684:1;3681;3674:12;3636:52;3716:9;3710:16;-1:-1:-1;;3759:5:208;3755:78;3748:5;3745:89;3735:117;;3848:1;3845;3838:12;3735:117;3920:2;3905:18;;3899:25;3871:5;;-1:-1:-1;3943:18:208;3973:14;;;3970:34;;;4000:1;3997;3990:12;3970:34;4023:22;;;;4079:4;4061:16;;;4057:27;4054:47;;;4097:1;4094;4087:12;4054:47;4125:22;;:::i;:::-;4178:2;4172:9;4206:2;4196:8;4193:16;4190:36;;;4222:1;4219;4212:12;4190:36;4251:56;4299:7;4288:8;4284:2;4280:17;4251:56;:::i;:::-;4242:7;4235:73;;4347:2;4343;4339:11;4333:18;4376:2;4366:8;4363:16;4360:36;;;4392:1;4389;4382:12;4360:36;4430:56;4478:7;4467:8;4463:2;4459:17;4430:56;:::i;:::-;4425:2;4416:7;4412:16;4405:82;;4526:2;4522;4518:11;4512:18;4555:2;4545:8;4542:16;4539:36;;;4571:1;4568;4561:12;4539:36;4609:56;4657:7;4646:8;4642:2;4638:17;4609:56;:::i;:::-;4604:2;4595:7;4591:16;4584:82;;4685:7;4675:17;;;;;3491:1207;;;;;:::o;5353:287::-;5482:3;5520:6;5514:13;5536:66;5595:6;5590:3;5583:4;5575:6;5571:17;5536:66;:::i;:::-;5618:16;;;;;5353:287;-1:-1:-1;;5353:287:208:o;6511:357::-;6629:12;;6676:4;6665:16;;;6659:23;;6629:12;6694:16;;6691:171;;;-1:-1:-1;;6768:4:208;6764:17;;;;6761:1;6757:25;6753:98;6742:110;;6511:357;-1:-1:-1;6511:357:208:o;7481:329::-;7522:3;7560:5;7554:12;7587:6;7582:3;7575:19;7603:76;7672:6;7665:4;7660:3;7656:14;7649:4;7642:5;7638:16;7603:76;:::i;:::-;7724:2;7712:15;-1:-1:-1;;7708:88:208;7699:98;;;;7799:4;7695:109;;7481:329;-1:-1:-1;;7481:329:208:o;7815:319::-;8021:6;8010:9;8003:25;8064:2;8059;8048:9;8044:18;8037:30;7984:4;8084:44;8124:2;8113:9;8109:18;8101:6;8084:44;:::i;8139:458::-;8218:6;8271:2;8259:9;8250:7;8246:23;8242:32;8239:52;;;8287:1;8284;8277:12;8239:52;8320:9;8314:16;8353:18;8345:6;8342:30;8339:50;;;8385:1;8382;8375:12;8339:50;8408:22;;8461:4;8453:13;;8449:27;-1:-1:-1;8439:55:208;;8490:1;8487;8480:12;8439:55;8513:78;8583:7;8578:2;8572:9;8567:2;8563;8559:11;8513:78;:::i;8602:321::-;8680:6;8733:2;8721:9;8712:7;8708:23;8704:32;8701:52;;;8749:1;8746;8739:12;8701:52;8781:9;8775:16;-1:-1:-1;;;;;8824:5:208;8820:54;8813:5;8810:65;8800:93;;8889:1;8886;8879:12;8928:421;9193:6;9182:9;9175:25;9236:6;9231:2;9220:9;9216:18;9209:34;9279:2;9274;9263:9;9259:18;9252:30;9156:4;9299:44;9339:2;9328:9;9324:18;9316:6;9299:44;:::i;9354:184::-;-1:-1:-1;;;9403:1:208;9396:88;9503:4;9500:1;9493:15;9527:4;9524:1;9517:15;9812:184;-1:-1:-1;;;9861:1:208;9854:88;9961:4;9958:1;9951:15;9985:4;9982:1;9975:15;10001:125;10066:9;;;10087:10;;;10084:36;;;10100:18;;:::i;10131:697::-;10352:3;10390:6;10384:13;10406:66;10465:6;10460:3;10453:4;10445:6;10441:17;10406:66;:::i;:::-;10535:13;;10494:16;;;;10557:70;10535:13;10494:16;10604:4;10592:17;;10557:70;:::i;:::-;10694:13;;10649:20;;;10716:70;10694:13;10649:20;10763:4;10751:17;;10716:70;:::i;:::-;10802:20;;10131:697;-1:-1:-1;;;;;10131:697:208:o;10833:439::-;10886:3;10924:5;10918:12;10951:6;10946:3;10939:19;10977:4;11006;11001:3;10997:14;10990:21;;11045:4;11038:5;11034:16;11068:1;11078:169;11092:6;11089:1;11086:13;11078:169;;;11153:13;;11141:26;;11187:12;;;;11222:15;;;;11114:1;11107:9;11078:169;;;-1:-1:-1;11263:3:208;;10833:439;-1:-1:-1;;;;;10833:439:208:o;11277:791::-;11669:6;11658:9;11651:25;11712:3;11707:2;11696:9;11692:18;11685:31;11632:4;11739:57;11791:3;11780:9;11776:19;11768:6;11739:57;:::i;:::-;11844:9;11836:6;11832:22;11827:2;11816:9;11812:18;11805:50;11878:32;11903:6;11895;11878:32;:::i;:::-;11864:46;;11946:6;11941:2;11930:9;11926:18;11919:34;12002:9;11994:6;11990:22;11984:3;11973:9;11969:19;11962:51;12030:32;12055:6;12047;12030:32;:::i;:::-;12022:40;11277:791;-1:-1:-1;;;;;;;;11277:791:208:o;12073:545::-;12394:6;12383:9;12376:25;12437:3;12432:2;12421:9;12417:18;12410:31;12357:4;12458:57;12510:3;12499:9;12495:19;12487:6;12458:57;:::i;:::-;12563:4;12551:17;;;;12546:2;12531:18;;12524:45;-1:-1:-1;12600:2:208;12585:18;12578:34;12450:65;12073:545;-1:-1:-1;;12073:545:208:o;12623:184::-;12693:6;12746:2;12734:9;12725:7;12721:23;12717:32;12714:52;;;12762:1;12759;12752:12;12714:52;-1:-1:-1;12785:16:208;;12623:184;-1:-1:-1;12623:184:208:o;12812:::-;-1:-1:-1;;;12861:1:208;12854:88;12961:4;12958:1;12951:15;12985:4;12982:1;12975:15;13001:656;13053:3;13084;13116:5;13110:12;13143:6;13138:3;13131:19;13169:4;13198;13193:3;13189:14;13182:21;;13256:4;13246:6;13243:1;13239:14;13232:5;13228:26;13224:37;13295:4;13288:5;13284:16;13318:1;13328:303;13342:6;13339:1;13336:13;13328:303;;;-1:-1:-1;;13417:5:208;13411:4;13407:16;13403:89;13398:3;13391:102;13514:37;13546:4;13537:6;13531:13;13514:37;:::i;:::-;13609:12;;;;13506:45;-1:-1:-1;13574:15:208;;;;13364:1;13357:9;13328:303;;;-1:-1:-1;13647:4:208;;13001:656;-1:-1:-1;;;;;;;13001:656:208:o;13662:907::-;14187:6;14176:9;14169:25;14230:6;14225:2;14214:9;14210:18;14203:34;14273:6;14268:2;14257:9;14253:18;14246:34;14316:6;14311:2;14300:9;14296:18;14289:34;14360:3;14354;14343:9;14339:19;14332:32;14150:4;14387:56;14438:3;14427:9;14423:19;14415:6;14387:56;:::i;:::-;14492:9;14484:6;14480:22;14474:3;14463:9;14459:19;14452:51;14520:43;14556:6;14548;14520:43;:::i;:::-;14512:51;13662:907;-1:-1:-1;;;;;;;;;13662:907:208:o;14574:706::-;14941:6;14930:9;14923:25;14984:3;14979:2;14968:9;14964:18;14957:31;14904:4;15011:57;15063:3;15052:9;15048:19;15040:6;15011:57;:::i;:::-;15116:4;15108:6;15104:17;15099:2;15088:9;15084:18;15077:45;15170:9;15162:6;15158:22;15153:2;15142:9;15138:18;15131:50;15198:32;15223:6;15215;15198:32;:::i;:::-;15190:40;;;15267:6;15261:3;15250:9;15246:19;15239:35;14574:706;;;;;;;;:::o;15285:128::-;15352:9;;;15373:11;;;15370:37;;;15387:18;;:::i;15418:168::-;15491:9;;;15522;;15539:15;;;15533:22;;15519:37;15509:71;;15560:18;;:::i;15809:463::-;16055:66;16047:6;16043:79;16032:9;16025:98;16159:6;16154:2;16143:9;16139:18;16132:34;16202:2;16197;16186:9;16182:18;16175:30;16006:4;16222:44;16262:2;16251:9;16247:18;16239:6;16222:44;:::i;16856:280::-;17055:2;17044:9;17037:21;17018:4;17075:55;17126:2;17115:9;17111:18;17103:6;17075:55;:::i;17141:688::-;17474:3;17463:9;17456:22;17437:4;17501:57;17553:3;17542:9;17538:19;17530:6;17501:57;:::i;:::-;17606:9;17598:6;17594:22;17589:2;17578:9;17574:18;17567:50;17640:32;17665:6;17657;17640:32;:::i;:::-;17626:46;;17708:6;17703:2;17692:9;17688:18;17681:34;17763:9;17755:6;17751:22;17746:2;17735:9;17731:18;17724:50;17791:32;17816:6;17808;17791:32;:::i;:::-;17783:40;17141:688;-1:-1:-1;;;;;;;17141:688:208:o;17834:894::-;18285:6;18274:9;18267:25;18328:3;18323:2;18312:9;18308:18;18301:31;18248:4;18355:57;18407:3;18396:9;18392:19;18384:6;18355:57;:::i;:::-;18460:9;18452:6;18448:22;18443:2;18432:9;18428:18;18421:50;18494:32;18519:6;18511;18494:32;:::i;:::-;18480:46;;18562:6;18557:2;18546:9;18542:18;18535:34;18618:9;18610:6;18606:22;18600:3;18589:9;18585:19;18578:51;18646:32;18671:6;18663;18646:32;:::i;:::-;18638:40;;;18715:6;18709:3;18698:9;18694:19;18687:35;17834:894;;;;;;;;;:::o;18733:639::-;18983:6;18978:3;18971:19;18953:3;19009:2;19042;19037:3;19033:12;19074:6;19068:13;19139:2;19131:6;19127:15;19160:1;19170:175;19184:6;19181:1;19178:13;19170:175;;;19247:13;;19233:28;;19283:14;;;;19320:15;;;;19206:1;19199:9;19170:175;;;-1:-1:-1;19361:5:208;;18733:639;-1:-1:-1;;;;;;;18733:639:208:o;19377:184::-;-1:-1:-1;;;19426:1:208;19419:88;19526:4;19523:1;19516:15;19550:4;19547:1;19540:15;19962:511;20213:2;20202:9;20195:21;20176:4;20239:56;20291:2;20280:9;20276:18;20268:6;20239:56;:::i;:::-;20343:14;20335:6;20331:27;20326:2;20315:9;20311:18;20304:55;20407:9;20399:6;20395:22;20390:2;20379:9;20375:18;20368:50;20435:32;20460:6;20452;20435:32;:::i;:::-;20427:40;19962:511;-1:-1:-1;;;;;;19962:511:208:o;20478:615::-;20788:6;20777:9;20770:25;20831:3;20826:2;20815:9;20811:18;20804:31;20751:4;20858:57;20910:3;20899:9;20895:19;20887:6;20858:57;:::i;:::-;20963:14;20955:6;20951:27;20946:2;20935:9;20931:18;20924:55;21027:9;21019:6;21015:22;21010:2;20999:9;20995:18;20988:50;21055:32;21080:6;21072;21055:32;:::i;21783:492::-;21958:3;21996:6;21990:13;22012:66;22071:6;22066:3;22059:4;22051:6;22047:17;22012:66;:::i;:::-;22141:13;;22100:16;;;;22163:70;22141:13;22100:16;22210:4;22198:17;;22163:70;:::i;:::-;22249:20;;21783:492;-1:-1:-1;;;;21783:492:208:o;22280:359::-;22483:2;22472:9;22465:21;22446:4;22503:44;22543:2;22532:9;22528:18;22520:6;22503:44;:::i;:::-;22578:2;22563:18;;22556:34;;;;-1:-1:-1;22621:2:208;22606:18;22599:34;22495:52;22280:359;-1:-1:-1;22280:359:208:o","linkReferences":{},"immutableReferences":{"22653":[{"start":507,"length":32}],"97468":[{"start":727,"length":32}]}},"methodIdentifiers":{"_msgSender()":"119df25f","_msgValue()":"45ec9354","_world()":"e1af802c","install(bytes)":"13861fb5","installRoot(bytes)":"7c5b0335","supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes14\",\"name\":\"namespace\",\"type\":\"bytes14\"}],\"name\":\"ERC721Module_InvalidNamespace\",\"type\":\"error\"},{\"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\":[],\"name\":\"Module_AlreadyInstalled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"dependency\",\"type\":\"address\"}],\"name\":\"Module_MissingDependency\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_NonRootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_RootInstallNotSupported\",\"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\":\"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\":\"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\"},{\"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\":\"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\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"install\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"installRoot\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"Module_RootInstallNotSupported()\":[{\"details\":\"Errors to represent non-support of specific installation types.\"}],\"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.\"}]},\"events\":{\"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_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.\"}},\"install(bytes)\":{\"details\":\"This function is invoked by the World contract during `installModule` process. The module expects to be called via the World contract and thus installs itself on the `msg.sender`. Logic might differ from `installRoot`, for example, this might accept namespace parameters.\",\"params\":{\"encodedArgs\":\"The ABI encoded arguments that may be needed during the installation process.\"}},\"supportsInterface(bytes4)\":{\"details\":\"Overrides the functionality from IERC165 and WorldContextConsumer to check for supported interfaces.\",\"params\":{\"interfaceId\":\"The bytes4 identifier for the interface.\"},\"returns\":{\"_0\":\"true if the interface is supported, false otherwise.\"}}},\"version\":1},\"userdoc\":{\"events\":{\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"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.\"},\"install(bytes)\":{\"notice\":\"Installs the module.\"},\"supportsInterface(bytes4)\":{\"notice\":\"Checks if the given interfaceId is supported by this contract.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/modules/erc721-puppet/ERC721Module.sol\":\"ERC721Module\"},\"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\":\"0xee86f5ddd78b35ce6fdad7c9268e2cf4b523e70beffa5780114cf839d6e7c25c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d3f50e9b7b1281eb251abd2681df787d739422a29300947ceaf81f69099d894b\",\"dweb:/ipfs/QmUbxyhUoyW9n5tYLcddafF8vCfTv2hvEpRadN51FhLmJs\"]},\"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\":\"0x9df5c4d9fd5b50ddff73b87d28bd94f140ca9366b6a6e82559c6f65c77ad4b7e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b4055dd3702a5c37d8de0290157a95c34891bd5ed3d56cb6878d90d7c2f4a37\",\"dweb:/ipfs/QmVkNpgRcLhdGYpH6ide8yQNF16uDBPyXU7winHpq4GaHU\"]},\"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/DelegationControl.sol\":{\"keccak256\":\"0x8cb98a092891f05e855c9bc4705f0c6ad5d5c82be731afd3591c091ef91530a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66e589610bcf3a79d5a158a3ce6d4a894b96575826a16fd817bd80721625e3d6\",\"dweb:/ipfs/QmTDFR47F5Cq82LRXMxBt6j8omobm9cZtmBBnWycBnmjPx\"]},\"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\":\"0xd3645ee90c73dd991659a140c0132c5a2aaf27a296c457737b212d87b2f66402\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://519d81e2bc7233b1488339eaf9220f7eb57086dd3ee8e1831708ebc6e87f00db\",\"dweb:/ipfs/Qmf8RjMxuPXbteMeEB3vstjutsCrmveyBFCjVFt7nSYgtc\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x149d3c2b4bbea21047fc8cf79236488764dd8dde6e440dbc37067a8ce8831bbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d2f340a5616cafd1d80e6ef79f1620102d3d64730c6aa19ecdbb4ca86aaa59b2\",\"dweb:/ipfs/QmWoXP1BKj8U3ZXXoiTRENCxVaaCxrKAenwCZbCVbyfaZ7\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xf15243b03fdc6e5222aefdaad74fffc909f9058f9d8d6ba06acb797197f74635\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c3f4ecb21499e677697dbe71002a5e96651fb0d8c279c4065e6441f13a9c75b3\",\"dweb:/ipfs/QmZ7oEHWK85aetzt9uJ3bmJJKLZkK5PoaakxiEDq4xEEww\"]},\"node_modules/@latticexyz/world/src/Module.sol\":{\"keccak256\":\"0xfdfdbdb1373ff83d8529865e21bbe796025861140a0a96c7183bcc6999ba63dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c1d003f9a28bc9098cc669406f569905a7726fc17cb07a6a6027531aebe5020\",\"dweb:/ipfs/QmPrEP9SRfKRouAQmVn6dq4MgguBPboMdMPg88WqBjsjgn\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0x1d380574763b720a8950dc0a14d519c2532f9f27c8115116f0a6f7916c9606b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a395df820ee46be3dcdb36682183811a86cdc848dbd56ecc2a21785a42785cf9\",\"dweb:/ipfs/QmeiuzuHjQuv4GHXXiRkBkxhyN7e9Vy19TYfAccnxWej91\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x4b83d5791209b8f39773b07e5f162dfd0617f5f9b5b4bd371c087412e5ad01cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://033a3777136e6d5c581efc8bf2535403abe44874409c85d17a353fae6dc56006\",\"dweb:/ipfs/QmaXepBDVnmnMdVzuxbGT2qo5vqWnjB75KNCCdxRehrBMX\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xf668eeaecd294a2b8b9e1a771161373af84abe42b8a9820cf9d3092a9a1e64bd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://01f2939361e51497304e66bdcd9cb33bfea95737fce41ca731f20d3b5dbd5f74\",\"dweb:/ipfs/QmayLveLBSq8axMgbouD411V5BTiYXKbg9ddEpxjcMU4ez\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0xea5256f37d5f373dc0d008b30a44f46f85d5aa4826c9c9702e3a62cafe4fc00d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5f34c70731153f300c4d89b4ddcfd0b02834abf208fcd2ec5863fb1dc5bde74f\",\"dweb:/ipfs/QmdmCzFDr6WmSQ23b2T3aaJhJ6Qvzhc9UaE5z33adciAd4\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xd9ead56302e6ce3f7958983f6652c2712df74ce83cd002248b235769bd5f87d4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a925eab29746fdcff87662142f61565d64bfa108ee14a9a5d496413c150533c4\",\"dweb:/ipfs/QmaFXKnfuMbkaZCEz3e2J3Nx49keqvmaGa7QLBvbj1ntYt\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0x7451726394ea4c39dcca268895499a7d908bd868092cf9b133772077ad5c6a6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c102f036a0ce081255c1088c75e823e5eb5dfdf36ade55d45a6c3914e2a4a5e5\",\"dweb:/ipfs/QmUWEstc4kRhqvUc5sbPyCvy3kvH3hzmH1GrP8MjyQYy3v\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0xd71d9a5a1ee5969cbfc548ddcd01814293d57b5c7f40df0a8ff926df43ec9d9b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6377994ebe168759b1f8ed17d4621720d66259c3ebff77acc2f7cc7dd9fec45\",\"dweb:/ipfs/QmeNaatg7JTe6tLc2RbC28SLEQTJFddXy5xZHmqi9zQ9Jx\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0xba969b5b252d1eb26f22908e4581456a6791e02e693cb14f48de35feb31b56f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34fcc11f5a70bcb51ea1ca76587e7dea7dfb940f522c820988212573a9ca32b6\",\"dweb:/ipfs/QmQSgQdJiXMVVSU5woFMC1mAGJBicBeoQUZ5UVX94UjJbX\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0x90d05ad5b6ce321f2d15d93cc6d126c0332afd161cebd008ea115a552bb0e772\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a6bd7a337b1a8ca9ce2c853db9003352895697d43bdf8c49da850ee19990aa8\",\"dweb:/ipfs/QmbvpN53672EQZMAfmDEC8bP6MRYUnAqLDRUmkkv6DMrAT\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0xfe79af16bea789b894c322b3796b7a5fd3042d2da0ea808768e1588bff53056c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15a2c7d26d21773fa41dd3891553ad57520f0c401627da8f79c11751b0fca478\",\"dweb:/ipfs/QmZYpNkSXqqz5tUeqNwppY7Q75ec9gGPv7BkjUJc87AZFE\"]},\"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/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/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/constants.sol\":{\"keccak256\":\"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22\",\"dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV\"]},\"node_modules/@latticexyz/world/src/modules/init/types.sol\":{\"keccak256\":\"0x1876630a009a39e1a771e5d05d420731b85523b4fe091ce04a72f6f283f5e9b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1166a3d9f7db80d2e041def918fa54baa0f4d51edb35731a8b2bf6ee76810411\",\"dweb:/ipfs/Qmf5VmgLsWJy3Tea5JM9mzCKJ49NJC1fRcgWGVFruusBgJ\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0x0e18f180961360de71b9374363cf31bf97e489fc895ff900946b515eeb7ecb3a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e85a5e2c0e79ef39a6e367b3b653d475f702fb8f4e14f5817ca3091480e21eb8\",\"dweb:/ipfs/QmeoYVTLo3LncJRD3mqc5bMSHY3Rc9N3yveu6pH2uRVCGW\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0x3478328afa3363bcb25271cdcd4c23355f53be785ae0aab5159490122831b8ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5192c5d7dbe1e5521fc9af4830c991be7209652080c507ee6860cc3746dce96d\",\"dweb:/ipfs/Qmbf6ge8pEwaGhjei7MKFCNk9UbCb55AvUadbbeqyNKJ12\"]},\"src/modules/erc721-puppet/ERC721Module.sol\":{\"keccak256\":\"0x2291b83a76fab3263b9385e880f607f05246e50652f004f7653c3b3536d16e37\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://855c97565a34c412a5c1da63bd5548a8274c3d2aeb0ef364193044ad4e5cb2de\",\"dweb:/ipfs/Qmdj25kqiZDbAw1q4cvVFoqjFa4LNcG3HabcS8kZyj7neE\"]},\"src/modules/erc721-puppet/ERC721System.sol\":{\"keccak256\":\"0x293bc28b56c49abc6f7238482bf81da2d23e8f2faf9020a1a413b6fcf5d3322f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf6c50fa383088288d5dc0a8d2977a022cce19c5f4b71baec113fad25722b752\",\"dweb:/ipfs/QmXLSng3w6KFDL5YyuoYStKoyCUgS5TfwioZRmYzUonPhT\"]},\"src/modules/erc721-puppet/IERC721.sol\":{\"keccak256\":\"0x87b18a3fe819a06930749c60912e28d3add40de2881d976d4d7565858468ac8e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://90d6f52696977e65bbc4a3d937ac4be843e2d1006591b861b2b3038c7a7e1d16\",\"dweb:/ipfs/QmS2vsjycwSgGPgWrPEDdFK5WTvE6ixhzYQLL57xHJAXNv\"]},\"src/modules/erc721-puppet/IERC721Errors.sol\":{\"keccak256\":\"0xc408b8c878980829678cf94ca6d83c71c0587e802221d226c84b66c60a198903\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a04ce4eafe37b18476b4dbbd207eff2e33b1ea073a06d5ff8df8e08aa69ac47\",\"dweb:/ipfs/QmTqKcfCXBntqtEcGobHMTJyy37xv93t1342RvqtpgnDQx\"]},\"src/modules/erc721-puppet/IERC721Events.sol\":{\"keccak256\":\"0x4ea76f18fbb68319807fe1fa39d3035b8177bd30c3977c40ed41e9810ffebb13\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f0508d70a34ce0661e52b4201996bea5e61e0108a4a218acc3728be5d51fbc2\",\"dweb:/ipfs/QmQx9bX9cYUENRvXV55NhHL3TFiNXGqvVyy8aYDA1KCagn\"]},\"src/modules/erc721-puppet/IERC721Mintable.sol\":{\"keccak256\":\"0xa647391a56ac17e6e73a5fb04d641c8a97abde19a7da80a8fc80902d7cce36aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://862f638b4e4b300067f6a485580ec904d428281de46e3a186b558ff3e15e4733\",\"dweb:/ipfs/QmUkgdfZJtwyBSrCyckw9GVFrZsD1rUAK2Nd3GBH12duLo\"]},\"src/modules/erc721-puppet/IERC721Receiver.sol\":{\"keccak256\":\"0xa831e4590058e4424b7b7e859bef0eea8de3f2a036a100f81a2ac5f1117258d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9ccc8731758952f21049142b6f8c5b9a64389367b8ebe6a79953c2e92c7393e5\",\"dweb:/ipfs/Qmf9o5qgENkreeUMga4DJfoqk6ocwGqMcCLpjJojthDM9t\"]},\"src/modules/erc721-puppet/constants.sol\":{\"keccak256\":\"0xf8a29616bcb176258295bae6dcb8c9eada8e18812c823c3490ff238370f3a64d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f800f102f773e4c5b2281b44a9f477d7a4d7dca13ddb369fa0d4479cddbfb04c\",\"dweb:/ipfs/QmSiqQuHY8cPTXkpnK3NyZCkeATzjYNpoR8vrijrfLdwqn\"]},\"src/modules/erc721-puppet/tables/ERC721Metadata.sol\":{\"keccak256\":\"0x23b0f62cec1cb1ca59342f273f6fa237e174573d9b37b0a564dd7ae400d63c2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://60418a4d729e56cb17f2888dfa41964a8e29ddbe1b32239dba97cd9b90a2bfad\",\"dweb:/ipfs/QmSeEUxh2zX6gKRzovN4eSgb2VYCohVUwpbPiXAA54up1W\"]},\"src/modules/erc721-puppet/tables/ERC721Registry.sol\":{\"keccak256\":\"0x0ebefc2dd5f88b83442ce474d2b8bc6e3bd30325ac75bf3af6195640f04b2118\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c617cb37e88ea3b19fffb930078bea50a86c33273fd218cb47ad967434160995\",\"dweb:/ipfs/QmZZEYD5QkBEyJzrSByAoVsP2sFwvp3r8QMHcsvLibHGax\"]},\"src/modules/erc721-puppet/tables/OperatorApproval.sol\":{\"keccak256\":\"0x258d17e5897f5278845ac031a56605f1baa1d1bd531e17331f39ea83f2307da3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d88b315ed46f3aadc64d01970cb4bf9d51655b9350f70dbe847799e3da2243d5\",\"dweb:/ipfs/Qma3hWeWAsRxjX2quDV2dooDNQUX1xSihoa2HL2cr2j4rN\"]},\"src/modules/erc721-puppet/tables/Owners.sol\":{\"keccak256\":\"0x1b923dc566774e48cbd6a40d071b93c22ddd4c0c17d142b2825031b731e20f61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8383531c8d680b898882d0afcce627884ddb8de1b02b97788d1da425940b1b2b\",\"dweb:/ipfs/QmPDFdLaYUnEoUhSeFjKctvPPw6vDHFjoM3C173ww9TPTZ\"]},\"src/modules/erc721-puppet/tables/TokenApproval.sol\":{\"keccak256\":\"0xc6eef4dad94ed16b7b2c480912f9ae0fd3dd9a1e1e96f1a0166eaf3b96937f73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://747c07a427e4b3f5f02665fdd676716923b6b9aa06109e523560b5007fb5e0f4\",\"dweb:/ipfs/QmUrnBFHorUEa1nzaHnHnvLq4G4S3pY6EgrsAN66R35b8B\"]},\"src/modules/erc721-puppet/tables/TokenURI.sol\":{\"keccak256\":\"0x10b10937ee5a470ef746b2d20860f7c44dae4f3b4c39252d227054c81338a202\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://26de8741012adf60050dd199e22b5ced8cf97e96c5e7e95642dece2993bfb198\",\"dweb:/ipfs/QmSQJDtCXKNg9zgu72LTTMvXcGtDxMuoD9tjqyW4macxRX\"]},\"src/modules/erc721-puppet/utils.sol\":{\"keccak256\":\"0xd497c2610d37ef3b800e3aef80d36661c60b5e36325565c3bc5c3ce986b641a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7406b572bdef593e1a8d0faaa94e9869108fc2cc7955da3aa3a62a56428c9a0c\",\"dweb:/ipfs/QmPKnuzAkPVyhpJz25fNCfGcvyPPZZWgsm5QbKZva82EWS\"]},\"src/modules/puppet/Puppet.sol\":{\"keccak256\":\"0x0793dc274d0e27b9a00369935693952f2b15e85b243ebed5994cc0c5fd806bc9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d94877420ab98c06013f327ce43e18a7dd3f9a42a33f76a5291ae8424b2699a6\",\"dweb:/ipfs/QmcpKAzLV2eKSU7Pfbb7wgkidNeWSUyUD5J2Scgio16RS8\"]},\"src/modules/puppet/PuppetDelegationControl.sol\":{\"keccak256\":\"0xef771bb0ed12e5fbb010839842bad2f323930d37bf5f2f32cea911730a180fa3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://94f6a1e408d554cefe37785e0cdf58ac27760ced06be39cc4fa6b45b1484812d\",\"dweb:/ipfs/QmeWhCxsS3ewKciW5FYP2wgZxT9N8xdC95oFpCvnpRyXrS\"]},\"src/modules/puppet/PuppetFactorySystem.sol\":{\"keccak256\":\"0xa439fa70dafaf5c491ecc145b594fe3a269f00b8d97036b305ed99d761e2aefe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://014fd8fd174420aa76cde8c6afb84df019579550c1540e7c4f79f6f24de12ae9\",\"dweb:/ipfs/QmS2Nba81LDzK3sxa7HHkAvSFdxPL5v5Ri5p41k5MCNYAv\"]},\"src/modules/puppet/PuppetMaster.sol\":{\"keccak256\":\"0xc83209af82eba3b3452a5c62531d52edb13d69db67c768ec12989cfaf9191c72\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f1d83a60ed2e3a15cde57d6fc859ee7c76e6d089010f41189151e799eb90525c\",\"dweb:/ipfs/QmfZLVNQ9G3kkMBxu3koZbMVPqhtxGTw2iziZQbob4AFhm\"]},\"src/modules/puppet/constants.sol\":{\"keccak256\":\"0x55dc370e83d22bd3ddb79172658731deb725c7609c1966d58cfdc5276bc20a7e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6bc27074a755a64d238f32cfd07b4226cfd47fd157f4f0829c13d8d5406d5f9d\",\"dweb:/ipfs/QmZesmQK815TdF6AuZpKZ249NXP2Qqnzmy9k3WpNRc5Cyq\"]},\"src/modules/puppet/createPuppet.sol\":{\"keccak256\":\"0x775c337cda5ffb3ea7f6e105d3804eebcf8bb58d4278d2925f43678f772caae1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b458c3b5e40fadcde03b9f3aabee02904a5f0ac289eafa92aa7d370416b39398\",\"dweb:/ipfs/QmSBzbevgeyNECE2gej5GWKGyY7CQV2NNtxPxDbamsm2uc\"]},\"src/modules/puppet/tables/PuppetRegistry.sol\":{\"keccak256\":\"0x7599140542e17339a785741ca6057d2b5ca5529a816b4609940e43e154bf179d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b251df5ef3be9a7cca661d861ba8802181fe55607cf119313ad6db0bcd73be9\",\"dweb:/ipfs/QmaVjFTBdqasneWm1EakzBgBU9n7i4vV1YdrGiqYT5pobk\"]},\"src/modules/puppet/utils.sol\":{\"keccak256\":\"0x0c07e1daf167a9ebcf81d1b176e4aef23d12b0bc01333c572c0482b699fd199d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f2ec0928e530ae3b75aadfe224a5c1654d0c26b8f10e06e490274fff3871489\",\"dweb:/ipfs/QmPLfak2kwefQ5tcNFxuE9TXsQ4PVkvTraHWZU8PK9GkR4\"]},\"src/modules/tokens/tables/Balances.sol\":{\"keccak256\":\"0x323871032273e403a04e1b27c36dda8ec5cc7ae116c96af6843ad9b9585327db\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd555e72a6b5c42e27aaeda796e93b50a9e4a0f9253dba806a484ff8559c4fd7\",\"dweb:/ipfs/QmQ3hJxyoWVj4Cx7w2Yb9DW18htPeN2z8drkz2Sq3emEyB\"]},\"src/utils/AccessControlLib.sol\":{\"keccak256\":\"0xc14746b7e25f7d3340b9585c170f2120a46639f3c6ebb8ba88ca81311f475df2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fba240838bc55220b4c9efdcd389df4ec028d43ea9f682cf583d7879280a7bb8\",\"dweb:/ipfs/QmV5fyNXfFgdTxYRYB1NzNQKkypnQH8SJ5C6BZpjhieiUS\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"bytes14","name":"namespace","type":"bytes14"}],"type":"error","name":"ERC721Module_InvalidNamespace"},{"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":[],"type":"error","name":"Module_AlreadyInstalled"},{"inputs":[{"internalType":"address","name":"dependency","type":"address"}],"type":"error","name":"Module_MissingDependency"},{"inputs":[],"type":"error","name":"Module_NonRootInstallNotSupported"},{"inputs":[],"type":"error","name":"Module_RootInstallNotSupported"},{"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":"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":"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","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":"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":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"install"},{"inputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"pure","type":"function","name":"installRoot"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"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."}},"install(bytes)":{"details":"This function is invoked by the World contract during `installModule` process. The module expects to be called via the World contract and thus installs itself on the `msg.sender`. Logic might differ from `installRoot`, for example, this might accept namespace parameters.","params":{"encodedArgs":"The ABI encoded arguments that may be needed during the installation process."}},"supportsInterface(bytes4)":{"details":"Overrides the functionality from IERC165 and WorldContextConsumer to check for supported interfaces.","params":{"interfaceId":"The bytes4 identifier for the interface."},"returns":{"_0":"true if the interface is supported, false otherwise."}}},"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."},"install(bytes)":{"notice":"Installs the module."},"supportsInterface(bytes4)":{"notice":"Checks if the given interfaceId is supported by this contract."}},"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":{"src/modules/erc721-puppet/ERC721Module.sol":"ERC721Module"},"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":"0xee86f5ddd78b35ce6fdad7c9268e2cf4b523e70beffa5780114cf839d6e7c25c","urls":["bzz-raw://d3f50e9b7b1281eb251abd2681df787d739422a29300947ceaf81f69099d894b","dweb:/ipfs/QmUbxyhUoyW9n5tYLcddafF8vCfTv2hvEpRadN51FhLmJs"],"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":"0x9df5c4d9fd5b50ddff73b87d28bd94f140ca9366b6a6e82559c6f65c77ad4b7e","urls":["bzz-raw://7b4055dd3702a5c37d8de0290157a95c34891bd5ed3d56cb6878d90d7c2f4a37","dweb:/ipfs/QmVkNpgRcLhdGYpH6ide8yQNF16uDBPyXU7winHpq4GaHU"],"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/DelegationControl.sol":{"keccak256":"0x8cb98a092891f05e855c9bc4705f0c6ad5d5c82be731afd3591c091ef91530a3","urls":["bzz-raw://66e589610bcf3a79d5a158a3ce6d4a894b96575826a16fd817bd80721625e3d6","dweb:/ipfs/QmTDFR47F5Cq82LRXMxBt6j8omobm9cZtmBBnWycBnmjPx"],"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":"0xd3645ee90c73dd991659a140c0132c5a2aaf27a296c457737b212d87b2f66402","urls":["bzz-raw://519d81e2bc7233b1488339eaf9220f7eb57086dd3ee8e1831708ebc6e87f00db","dweb:/ipfs/Qmf8RjMxuPXbteMeEB3vstjutsCrmveyBFCjVFt7nSYgtc"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x149d3c2b4bbea21047fc8cf79236488764dd8dde6e440dbc37067a8ce8831bbd","urls":["bzz-raw://d2f340a5616cafd1d80e6ef79f1620102d3d64730c6aa19ecdbb4ca86aaa59b2","dweb:/ipfs/QmWoXP1BKj8U3ZXXoiTRENCxVaaCxrKAenwCZbCVbyfaZ7"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xf15243b03fdc6e5222aefdaad74fffc909f9058f9d8d6ba06acb797197f74635","urls":["bzz-raw://c3f4ecb21499e677697dbe71002a5e96651fb0d8c279c4065e6441f13a9c75b3","dweb:/ipfs/QmZ7oEHWK85aetzt9uJ3bmJJKLZkK5PoaakxiEDq4xEEww"],"license":"MIT"},"node_modules/@latticexyz/world/src/Module.sol":{"keccak256":"0xfdfdbdb1373ff83d8529865e21bbe796025861140a0a96c7183bcc6999ba63dd","urls":["bzz-raw://1c1d003f9a28bc9098cc669406f569905a7726fc17cb07a6a6027531aebe5020","dweb:/ipfs/QmPrEP9SRfKRouAQmVn6dq4MgguBPboMdMPg88WqBjsjgn"],"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/WorldContext.sol":{"keccak256":"0x4b83d5791209b8f39773b07e5f162dfd0617f5f9b5b4bd371c087412e5ad01cf","urls":["bzz-raw://033a3777136e6d5c581efc8bf2535403abe44874409c85d17a353fae6dc56006","dweb:/ipfs/QmaXepBDVnmnMdVzuxbGT2qo5vqWnjB75KNCCdxRehrBMX"],"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/interfaces/IAccessManagementSystem.sol":{"keccak256":"0xea5256f37d5f373dc0d008b30a44f46f85d5aa4826c9c9702e3a62cafe4fc00d","urls":["bzz-raw://5f34c70731153f300c4d89b4ddcfd0b02834abf208fcd2ec5863fb1dc5bde74f","dweb:/ipfs/QmdmCzFDr6WmSQ23b2T3aaJhJ6Qvzhc9UaE5z33adciAd4"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xd9ead56302e6ce3f7958983f6652c2712df74ce83cd002248b235769bd5f87d4","urls":["bzz-raw://a925eab29746fdcff87662142f61565d64bfa108ee14a9a5d496413c150533c4","dweb:/ipfs/QmaFXKnfuMbkaZCEz3e2J3Nx49keqvmaGa7QLBvbj1ntYt"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0x7451726394ea4c39dcca268895499a7d908bd868092cf9b133772077ad5c6a6a","urls":["bzz-raw://c102f036a0ce081255c1088c75e823e5eb5dfdf36ade55d45a6c3914e2a4a5e5","dweb:/ipfs/QmUWEstc4kRhqvUc5sbPyCvy3kvH3hzmH1GrP8MjyQYy3v"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0xd71d9a5a1ee5969cbfc548ddcd01814293d57b5c7f40df0a8ff926df43ec9d9b","urls":["bzz-raw://c6377994ebe168759b1f8ed17d4621720d66259c3ebff77acc2f7cc7dd9fec45","dweb:/ipfs/QmeNaatg7JTe6tLc2RbC28SLEQTJFddXy5xZHmqi9zQ9Jx"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0xba969b5b252d1eb26f22908e4581456a6791e02e693cb14f48de35feb31b56f4","urls":["bzz-raw://34fcc11f5a70bcb51ea1ca76587e7dea7dfb940f522c820988212573a9ca32b6","dweb:/ipfs/QmQSgQdJiXMVVSU5woFMC1mAGJBicBeoQUZ5UVX94UjJbX"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0x90d05ad5b6ce321f2d15d93cc6d126c0332afd161cebd008ea115a552bb0e772","urls":["bzz-raw://9a6bd7a337b1a8ca9ce2c853db9003352895697d43bdf8c49da850ee19990aa8","dweb:/ipfs/QmbvpN53672EQZMAfmDEC8bP6MRYUnAqLDRUmkkv6DMrAT"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0xfe79af16bea789b894c322b3796b7a5fd3042d2da0ea808768e1588bff53056c","urls":["bzz-raw://15a2c7d26d21773fa41dd3891553ad57520f0c401627da8f79c11751b0fca478","dweb:/ipfs/QmZYpNkSXqqz5tUeqNwppY7Q75ec9gGPv7BkjUJc87AZFE"],"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/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/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/constants.sol":{"keccak256":"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5","urls":["bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22","dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/types.sol":{"keccak256":"0x1876630a009a39e1a771e5d05d420731b85523b4fe091ce04a72f6f283f5e9b3","urls":["bzz-raw://1166a3d9f7db80d2e041def918fa54baa0f4d51edb35731a8b2bf6ee76810411","dweb:/ipfs/Qmf5VmgLsWJy3Tea5JM9mzCKJ49NJC1fRcgWGVFruusBgJ"],"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/worldResourceTypes.sol":{"keccak256":"0x3478328afa3363bcb25271cdcd4c23355f53be785ae0aab5159490122831b8ed","urls":["bzz-raw://5192c5d7dbe1e5521fc9af4830c991be7209652080c507ee6860cc3746dce96d","dweb:/ipfs/Qmbf6ge8pEwaGhjei7MKFCNk9UbCb55AvUadbbeqyNKJ12"],"license":"MIT"},"src/modules/erc721-puppet/ERC721Module.sol":{"keccak256":"0x2291b83a76fab3263b9385e880f607f05246e50652f004f7653c3b3536d16e37","urls":["bzz-raw://855c97565a34c412a5c1da63bd5548a8274c3d2aeb0ef364193044ad4e5cb2de","dweb:/ipfs/Qmdj25kqiZDbAw1q4cvVFoqjFa4LNcG3HabcS8kZyj7neE"],"license":"MIT"},"src/modules/erc721-puppet/ERC721System.sol":{"keccak256":"0x293bc28b56c49abc6f7238482bf81da2d23e8f2faf9020a1a413b6fcf5d3322f","urls":["bzz-raw://bf6c50fa383088288d5dc0a8d2977a022cce19c5f4b71baec113fad25722b752","dweb:/ipfs/QmXLSng3w6KFDL5YyuoYStKoyCUgS5TfwioZRmYzUonPhT"],"license":"MIT"},"src/modules/erc721-puppet/IERC721.sol":{"keccak256":"0x87b18a3fe819a06930749c60912e28d3add40de2881d976d4d7565858468ac8e","urls":["bzz-raw://90d6f52696977e65bbc4a3d937ac4be843e2d1006591b861b2b3038c7a7e1d16","dweb:/ipfs/QmS2vsjycwSgGPgWrPEDdFK5WTvE6ixhzYQLL57xHJAXNv"],"license":"MIT"},"src/modules/erc721-puppet/IERC721Errors.sol":{"keccak256":"0xc408b8c878980829678cf94ca6d83c71c0587e802221d226c84b66c60a198903","urls":["bzz-raw://9a04ce4eafe37b18476b4dbbd207eff2e33b1ea073a06d5ff8df8e08aa69ac47","dweb:/ipfs/QmTqKcfCXBntqtEcGobHMTJyy37xv93t1342RvqtpgnDQx"],"license":"MIT"},"src/modules/erc721-puppet/IERC721Events.sol":{"keccak256":"0x4ea76f18fbb68319807fe1fa39d3035b8177bd30c3977c40ed41e9810ffebb13","urls":["bzz-raw://2f0508d70a34ce0661e52b4201996bea5e61e0108a4a218acc3728be5d51fbc2","dweb:/ipfs/QmQx9bX9cYUENRvXV55NhHL3TFiNXGqvVyy8aYDA1KCagn"],"license":"MIT"},"src/modules/erc721-puppet/IERC721Mintable.sol":{"keccak256":"0xa647391a56ac17e6e73a5fb04d641c8a97abde19a7da80a8fc80902d7cce36aa","urls":["bzz-raw://862f638b4e4b300067f6a485580ec904d428281de46e3a186b558ff3e15e4733","dweb:/ipfs/QmUkgdfZJtwyBSrCyckw9GVFrZsD1rUAK2Nd3GBH12duLo"],"license":"MIT"},"src/modules/erc721-puppet/IERC721Receiver.sol":{"keccak256":"0xa831e4590058e4424b7b7e859bef0eea8de3f2a036a100f81a2ac5f1117258d7","urls":["bzz-raw://9ccc8731758952f21049142b6f8c5b9a64389367b8ebe6a79953c2e92c7393e5","dweb:/ipfs/Qmf9o5qgENkreeUMga4DJfoqk6ocwGqMcCLpjJojthDM9t"],"license":"MIT"},"src/modules/erc721-puppet/constants.sol":{"keccak256":"0xf8a29616bcb176258295bae6dcb8c9eada8e18812c823c3490ff238370f3a64d","urls":["bzz-raw://f800f102f773e4c5b2281b44a9f477d7a4d7dca13ddb369fa0d4479cddbfb04c","dweb:/ipfs/QmSiqQuHY8cPTXkpnK3NyZCkeATzjYNpoR8vrijrfLdwqn"],"license":"MIT"},"src/modules/erc721-puppet/tables/ERC721Metadata.sol":{"keccak256":"0x23b0f62cec1cb1ca59342f273f6fa237e174573d9b37b0a564dd7ae400d63c2a","urls":["bzz-raw://60418a4d729e56cb17f2888dfa41964a8e29ddbe1b32239dba97cd9b90a2bfad","dweb:/ipfs/QmSeEUxh2zX6gKRzovN4eSgb2VYCohVUwpbPiXAA54up1W"],"license":"MIT"},"src/modules/erc721-puppet/tables/ERC721Registry.sol":{"keccak256":"0x0ebefc2dd5f88b83442ce474d2b8bc6e3bd30325ac75bf3af6195640f04b2118","urls":["bzz-raw://c617cb37e88ea3b19fffb930078bea50a86c33273fd218cb47ad967434160995","dweb:/ipfs/QmZZEYD5QkBEyJzrSByAoVsP2sFwvp3r8QMHcsvLibHGax"],"license":"MIT"},"src/modules/erc721-puppet/tables/OperatorApproval.sol":{"keccak256":"0x258d17e5897f5278845ac031a56605f1baa1d1bd531e17331f39ea83f2307da3","urls":["bzz-raw://d88b315ed46f3aadc64d01970cb4bf9d51655b9350f70dbe847799e3da2243d5","dweb:/ipfs/Qma3hWeWAsRxjX2quDV2dooDNQUX1xSihoa2HL2cr2j4rN"],"license":"MIT"},"src/modules/erc721-puppet/tables/Owners.sol":{"keccak256":"0x1b923dc566774e48cbd6a40d071b93c22ddd4c0c17d142b2825031b731e20f61","urls":["bzz-raw://8383531c8d680b898882d0afcce627884ddb8de1b02b97788d1da425940b1b2b","dweb:/ipfs/QmPDFdLaYUnEoUhSeFjKctvPPw6vDHFjoM3C173ww9TPTZ"],"license":"MIT"},"src/modules/erc721-puppet/tables/TokenApproval.sol":{"keccak256":"0xc6eef4dad94ed16b7b2c480912f9ae0fd3dd9a1e1e96f1a0166eaf3b96937f73","urls":["bzz-raw://747c07a427e4b3f5f02665fdd676716923b6b9aa06109e523560b5007fb5e0f4","dweb:/ipfs/QmUrnBFHorUEa1nzaHnHnvLq4G4S3pY6EgrsAN66R35b8B"],"license":"MIT"},"src/modules/erc721-puppet/tables/TokenURI.sol":{"keccak256":"0x10b10937ee5a470ef746b2d20860f7c44dae4f3b4c39252d227054c81338a202","urls":["bzz-raw://26de8741012adf60050dd199e22b5ced8cf97e96c5e7e95642dece2993bfb198","dweb:/ipfs/QmSQJDtCXKNg9zgu72LTTMvXcGtDxMuoD9tjqyW4macxRX"],"license":"MIT"},"src/modules/erc721-puppet/utils.sol":{"keccak256":"0xd497c2610d37ef3b800e3aef80d36661c60b5e36325565c3bc5c3ce986b641a5","urls":["bzz-raw://7406b572bdef593e1a8d0faaa94e9869108fc2cc7955da3aa3a62a56428c9a0c","dweb:/ipfs/QmPKnuzAkPVyhpJz25fNCfGcvyPPZZWgsm5QbKZva82EWS"],"license":"MIT"},"src/modules/puppet/Puppet.sol":{"keccak256":"0x0793dc274d0e27b9a00369935693952f2b15e85b243ebed5994cc0c5fd806bc9","urls":["bzz-raw://d94877420ab98c06013f327ce43e18a7dd3f9a42a33f76a5291ae8424b2699a6","dweb:/ipfs/QmcpKAzLV2eKSU7Pfbb7wgkidNeWSUyUD5J2Scgio16RS8"],"license":"MIT"},"src/modules/puppet/PuppetDelegationControl.sol":{"keccak256":"0xef771bb0ed12e5fbb010839842bad2f323930d37bf5f2f32cea911730a180fa3","urls":["bzz-raw://94f6a1e408d554cefe37785e0cdf58ac27760ced06be39cc4fa6b45b1484812d","dweb:/ipfs/QmeWhCxsS3ewKciW5FYP2wgZxT9N8xdC95oFpCvnpRyXrS"],"license":"MIT"},"src/modules/puppet/PuppetFactorySystem.sol":{"keccak256":"0xa439fa70dafaf5c491ecc145b594fe3a269f00b8d97036b305ed99d761e2aefe","urls":["bzz-raw://014fd8fd174420aa76cde8c6afb84df019579550c1540e7c4f79f6f24de12ae9","dweb:/ipfs/QmS2Nba81LDzK3sxa7HHkAvSFdxPL5v5Ri5p41k5MCNYAv"],"license":"MIT"},"src/modules/puppet/PuppetMaster.sol":{"keccak256":"0xc83209af82eba3b3452a5c62531d52edb13d69db67c768ec12989cfaf9191c72","urls":["bzz-raw://f1d83a60ed2e3a15cde57d6fc859ee7c76e6d089010f41189151e799eb90525c","dweb:/ipfs/QmfZLVNQ9G3kkMBxu3koZbMVPqhtxGTw2iziZQbob4AFhm"],"license":"MIT"},"src/modules/puppet/constants.sol":{"keccak256":"0x55dc370e83d22bd3ddb79172658731deb725c7609c1966d58cfdc5276bc20a7e","urls":["bzz-raw://6bc27074a755a64d238f32cfd07b4226cfd47fd157f4f0829c13d8d5406d5f9d","dweb:/ipfs/QmZesmQK815TdF6AuZpKZ249NXP2Qqnzmy9k3WpNRc5Cyq"],"license":"MIT"},"src/modules/puppet/createPuppet.sol":{"keccak256":"0x775c337cda5ffb3ea7f6e105d3804eebcf8bb58d4278d2925f43678f772caae1","urls":["bzz-raw://b458c3b5e40fadcde03b9f3aabee02904a5f0ac289eafa92aa7d370416b39398","dweb:/ipfs/QmSBzbevgeyNECE2gej5GWKGyY7CQV2NNtxPxDbamsm2uc"],"license":"MIT"},"src/modules/puppet/tables/PuppetRegistry.sol":{"keccak256":"0x7599140542e17339a785741ca6057d2b5ca5529a816b4609940e43e154bf179d","urls":["bzz-raw://2b251df5ef3be9a7cca661d861ba8802181fe55607cf119313ad6db0bcd73be9","dweb:/ipfs/QmaVjFTBdqasneWm1EakzBgBU9n7i4vV1YdrGiqYT5pobk"],"license":"MIT"},"src/modules/puppet/utils.sol":{"keccak256":"0x0c07e1daf167a9ebcf81d1b176e4aef23d12b0bc01333c572c0482b699fd199d","urls":["bzz-raw://7f2ec0928e530ae3b75aadfe224a5c1654d0c26b8f10e06e490274fff3871489","dweb:/ipfs/QmPLfak2kwefQ5tcNFxuE9TXsQ4PVkvTraHWZU8PK9GkR4"],"license":"MIT"},"src/modules/tokens/tables/Balances.sol":{"keccak256":"0x323871032273e403a04e1b27c36dda8ec5cc7ae116c96af6843ad9b9585327db","urls":["bzz-raw://bd555e72a6b5c42e27aaeda796e93b50a9e4a0f9253dba806a484ff8559c4fd7","dweb:/ipfs/QmQ3hJxyoWVj4Cx7w2Yb9DW18htPeN2z8drkz2Sq3emEyB"],"license":"MIT"},"src/utils/AccessControlLib.sol":{"keccak256":"0xc14746b7e25f7d3340b9585c170f2120a46639f3c6ebb8ba88ca81311f475df2","urls":["bzz-raw://fba240838bc55220b4c9efdcd389df4ec028d43ea9f682cf583d7879280a7bb8","dweb:/ipfs/QmV5fyNXfFgdTxYRYB1NzNQKkypnQH8SJ5C6BZpjhieiUS"],"license":"MIT"}},"version":1},"id":142}
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":"install","inputs":[{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installRoot","inputs":[{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"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_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":"ERC721Module_InvalidNamespace","inputs":[{"name":"namespace","type":"bytes14","internalType":"bytes14"}]},{"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":"Module_AlreadyInstalled","inputs":[]},{"type":"error","name":"Module_MissingDependency","inputs":[{"name":"dependency","type":"address","internalType":"address"}]},{"type":"error","name":"Module_NonRootInstallNotSupported","inputs":[]},{"type":"error","name":"Module_RootInstallNotSupported","inputs":[]},{"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_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_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"}]}],"bytecode":{"object":"0x60c0604081905230608052620000159062000053565b604051809103906000f08015801562000032573d6000803e3d6000fd5b506001600160a01b031660a0523480156200004c57600080fd5b5062000061565b615a65806200363a83390190565b60805160a0516135b36200008760003960006102d7015260006101fb01526135b36000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c806345ec93541161005057806345ec9354146100d45780637c5b0335146100e7578063e1af802c146100fa57600080fd5b806301ffc9a714610077578063119df25f1461009f57806313861fb5146100bf575b600080fd5b61008a610085366004612d4a565b610102565b60405190151581526020015b60405180910390f35b6100a76101e7565b6040516001600160a01b039091168152602001610096565b6100d26100cd366004612e24565b6101f6565b005b604051601f193601358152602001610096565b6100d26100f5366004612e24565b610749565b6100a761077b565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f6fdd1c8000000000000000000000000000000000000000000000000000000000148061019557507fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee12700000000000000000000000000000000000000000000000000000000145b806101e157507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101f1610785565b905090565b6102207f0000000000000000000000000000000000000000000000000000000000000000826107b7565b600080828060200190518101906102379190612f18565b90925090507f9a8d9cc8cdced28f8a8f8f9a8c0000000000000000000000000000000000000071ffffffffffffffffffffffffffffffffffff198316016102c6576040517f2ca07d8400000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff19831660048201526024015b60405180910390fd5b60006102d061077b565b90506000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316838660405160240161033b9291906001600160a01b0392909216825271ffffffffffffffffffffffffffffffffffff1916602082015260400190565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f472466c2000000000000000000000000000000000000000000000000000000001790525161039e9190612ffb565b600060405180830381855af49150503d80600081146103d9576040519150601f19603f3d011682016040523d82523d6000602084013e6103de565b606091505b5091509150816103f1576103f1816107fc565b6104036103fd86610804565b85610836565b600061040e86610893565b9050600061041c85836108e0565b90507f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000601089901c16176001600160a01b03861663ef5d6bbb8261047d6101e7565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815260048101929092526001600160a01b03166024820152604401600060405180830381600087803b1580156104dc57600080fd5b505af11580156104f0573d6000803e3d6000fd5b505060408051613a3160f11b60208201527f6572633732312d7075707065740000000000000000000000000000000000000060228201527f45524337323152656769737472790000000000000000000000000000000000006030820152610572935001905060405160208183030381529060405261056d90613017565b610bde565b6106bf576040517f6e7300000000000000000000000000000000000000000000000000000000000060208201527f6572633732312d7075707065740000000000000000000000000000000000000060228201526001600160a01b0387169063b29e4089906030016040516020818303038152906040526105f190613017565b6040518263ffffffff1660e01b815260040161060f91815260200190565b600060405180830381600087803b15801561062957600080fd5b505af115801561063d573d6000803e3d6000fd5b505060408051613a3160f11b60208201527f6572633732312d7075707065740000000000000000000000000000000000000060228201527f455243373231526567697374727900000000000000000000000000000000000060308201526106bf93500190506040516020818303038152906040526106ba90613017565b610c6b565b60408051613a3160f11b60208201527f6572633732312d7075707065740000000000000000000000000000000000000060228201527f4552433732315265676973747279000000000000000000000000000000000000603082015261073e910160405160208183030381529060405261073790613017565b8284610cb7565b505050505050505050565b6040517fb6622fc000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006101f1610d77565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806107b45750335b90565b6107c18282610d81565b156107f8576040517f1401206800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b805160208201fd5b60006101e1613a3160f11b837f4d65746164617461000000000000000000000000000000000000000000000000610d9b565b60606000610851836000015184602001518560400151610e21565b9050600061086c846000015185602001518660400151610e4a565b60408051600081526020810190915290915061088b8682868686610e79565b505050505050565b60006101e17f7379000000000000000000000000000000000000000000000000000000000000837f45524337323153797374656d0000000000000000000000000000000000000000610d9b565b604080517f737900000000000000000000000000000000000000000000000000000000000060208201527f707570706574000000000000000000000000000000000000000000000000000060228201527f466163746f72790000000000000000000000000000000000000000000000000060308201526000916001600160a01b03851691633ae7af08910160405160208183030381529060405261098390613017565b6040516024810186905260440160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb9eb8bfb00000000000000000000000000000000000000000000000000000000179052517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152610a20929190600401613067565b6000604051808303816000875af1158015610a3f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a679190810190613080565b806020019051810190610a7a91906130c9565b90506001600160a01b03831663bfdfaff77f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617604080517f737900000000000000000000000000000000000000000000000000000000000060208201527f707570706574000000000000000000000000000000000000000000000000000060228201527f44656c65676174696f6e00000000000000000000000000000000000000000000603082015201604051602081830303815290604052610b5d90613017565b604080516000815260208101918290527fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16909152610ba6929190602481016130f2565b600060405180830381600087803b158015610bc057600080fd5b505af1158015610bd4573d6000803e3d6000fd5b5050505092915050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610c1757610c17613111565b60209081029190910101526000610c577f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b610f2e565b9050610c638160f81c90565b949350505050565b610cb4817e14010014000000000000000000000000000000000000000000000000000000610c97610feb565b610c9f611063565b610ca761109d565b610caf611122565b611199565b50565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610ced57610ced613111565b602002602001018181525050610d718482600085604051602001610d3c919060609190911b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016815260140190565b60408051601f198184030181529190527e14010014000000000000000000000000000000000000000000000000000000611253565b50505050565b60006101f16112c9565b6000610d94838380519060200120611308565b9392505050565b6000610da96070601061313d565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316901c601084901c7dffffffffffffffffffffffffffff00000000000000000000000000000000167fffff0000000000000000000000000000000000000000000000000000000000008616171790509392505050565b6000610c63845184518451608881901b606083901b603885901b85850184011717179392505050565b6060838383604051602001610e6193929190613150565b60405160208183030381529060405290509392505050565b6000610e836112c9565b9050306001600160a01b03821603610ea757610ea286868686866113c2565b61088b565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb90610ef490899089908990899089906004016131cf565b600060405180830381600087803b158015610f0e57600080fd5b505af1158015610f22573d6000803e3d6000fd5b50505050505050505050565b600080610f396112c9565b9050306001600160a01b03821603610f5f57610f57868686866113df565b915050610c63565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990610faa908990899089908990600401613220565b602060405180830381865afa158015610fc7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f57919061324f565b60408051600180825281830190925260009182919060208083019080368337019050509050605f8160008151811061102557611025613111565b602002602001019060c581111561103e5761103e613268565b908160c581111561105157611051613268565b90525061105d8161140c565b91505090565b6040805160018082528183019092526000918291906020808301908036833701905050905060618160008151811061102557611025613111565b604080516001808252818301909252606091816020015b60608152602001906001900390816110b45790505090506040518060400160405280600b81526020017f6e616d65737061636549640000000000000000000000000000000000000000008152508160008151811061111457611114613111565b602002602001018190525090565b604080516001808252818301909252606091816020015b60608152602001906001900390816111395790505090506040518060400160405280600c81526020017f746f6b656e4164647265737300000000000000000000000000000000000000008152508160008151811061111457611114613111565b60006111a36112c9565b9050306001600160a01b038216036111c8576111c38787878787876115c7565b61124a565b6040517f0ba51f490000000000000000000000000000000000000000000000000000000081526001600160a01b03821690630ba51f4990611217908a908a908a908a908a908a906004016132d8565b600060405180830381600087803b15801561123157600080fd5b505af1158015611245573d6000803e3d6000fd5b505050505b50505050505050565b600061125d6112c9565b9050306001600160a01b0382160361127c57610ea28686868686611a1d565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090610ef49089908990899089908990600401613322565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680611303573391505090565b919050565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b8160008151811061134d5761134d613111565b602002602001018181525050828160018151811061136d5761136d613111565b602090810291909101015260006113ad7f7462776f726c64000000000000000000496e7374616c6c65644d6f64756c65738383630101000160d81b610f2e565b90506113b98160f81c90565b95945050505050565b6113d885858585856113d38b611a32565b611ab7565b5050505050565b60006113b96113ee8686611df0565b60ff858116601b0360080285901c166114078587611e46565b611e7f565b6000601c82511115611436578151604051635318beb960e01b81526004016102bd91815260200190565b60008080805b855181101561151157600061147a87838151811061145c5761145c613111565b602002602001015160c581111561147557611475613268565b611ed0565b90508060000361148f576001909201916114c7565b82156114c7576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80840193506008826004601f0303028783815181106114e8576114e8613111565b602002602001015160c581111561150157611501613268565b901b94909417935060010161143c565b50600581111561153757604051635318beb960e01b8152600481018290526024016102bd565b8451819003600861154a60026020613369565b611554919061337c565b83901b93909317926008600161156c60026020613369565b6115769190613369565b611580919061337c565b81901b9390931792600860018061159960026020613369565b6115a39190613369565b6115ad9190613369565b6115b7919061337c565b9190911b92909217949350505050565b613a3160f11b867fffff000000000000000000000000000000000000000000000000000000000000161480159061164057507f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001614155b156116a157613a3160f11b868760405160200161165f91815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526102bd939291600401613393565b6116aa85611f30565b6116b5846001612177565b6116c0836000612177565b60e084901c60e885901c0160ff168251146117205760e084901c60e885901c0160ff1682516040517f0f72cb98000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b60e085901c60e886901c0160ff168151146117805760e085901c60e886901c0160ff1681516040517f7dec4c00000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b60e085901c60e886901c0160ff1660e084901c60e885901c0160ff16146117f85760e085901c60e886901c0160ff1660e084901c60e885901c0160ff166040517ff29d4d88000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b61180185612313565b61180a84612313565b1461185c5761181885612313565b61182184612313565b6040517f65cc0adf000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b61186585612345565b61186e84612345565b146118c05761187c85612345565b61188584612345565b6040517fedea9587000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b60005b6118cc86612313565b811015611962576118f16118e08583612362565b60c581111561147557611475613268565b6008601b8390030287901c60ff161461195a576008601b8290030286901c60ff1661191f6118e08684612362565b6040517f254c7db4000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b6001016118c3565b5061196c86612383565b156119c657858660405160200161198591815260200190565b60408051601f19818403018152908290527fdfaaf9cf0000000000000000000000000000000000000000000000000000000082526102bd9291600401613067565b611a1286868686866040516020016119de91906133d4565b604051602081830303815290604052866040516020016119fe91906133d4565b6040516020818303038152906040526123fc565b61088b8660016124b7565b6113d88585611a2c8487611e46565b8561255d565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d000000000000000000008201611a8157507e60030220202000000000000000000000000000000000000000000000000000919050565b6101e1611aae7f746273746f72650000000000000000005461626c657300000000000000000000846127f8565b60206000611e7f565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001603611b4357857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a986868686604051611b3694939291906133e7565b60405180910390a261088b565b6000611b4e87612814565b905060005b8151811015611c27576000828281518110611b7057611b70613111565b60200260200101519050611b9c6001826affffffffffffffffffffff191661289d90919063ffffffff16565b15611c1e576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90611beb908c908c908c908c908c908c90600401613431565b600060405180830381600087803b158015611c0557600080fd5b505af1158015611c19573d6000803e3d6000fd5b505050505b50600101611b53565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a987878787604051611c5e94939291906133e7565b60405180910390a26000611c728888611df0565b90506000602087019050611c8a8260008951846128bb565b6000611c9585612345565b1115611d19576000611ca78a8a61297a565b878155905060208601915060008060005b611cc188612345565b8160ff161015611d1457611cd68d8d836129d0565b9250611cf18a8260ff166028026038011c64ffffffffff1690565b9150611d0083600084886128bb565b611d0a828661313d565b9450600101611cb8565b505050505b60005b8351811015610f22576000848281518110611d3957611d39613111565b60200260200101519050611d656002826affffffffffffffffffffff191661289d90919063ffffffff16565b15611de7576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90611db4908e908e908e908e908e908e90600401613431565b600060405180830381600087803b158015611dce57600080fd5b505af1158015611de2573d6000803e3d6000fd5b505050505b50600101611d1c565b60008282604051602001611e0592919061348a565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff16811015611e7757611e6d60ff601b83900360080287901c168361313d565b9150600101611e4b565b509392505050565b600060208210611ea557602082048401935060208281611ea157611ea16134c6565b0691505b508254600882021b602082900380841115611e77576001850154600882021c82179150509392505050565b6000808260c5811115611ee557611ee5613268565b60ff1690506061811015611eff57601f1660010192915050565b60618360c5811115611f1357611f13613268565b03611f215750601492915050565b50600092915050565b50919050565b80611f67576040517f220c0f6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611f7282612345565b90506005811115611fb9576040517f7f2372c300000000000000000000000000000000000000000000000000000000815260048101829052600560248201526044016102bd565b6000611fc483612313565b90506000611fd2838361313d565b9050601c811115612019576040517f4a8a06ad00000000000000000000000000000000000000000000000000000000815260048101829052601c60248201526044016102bd565b6000805b838110156120c45760ff601b82900360080287901c166000819003612071576040517f01f2a07c000000000000000000000000000000000000000000000000000000008152600481018390526024016102bd565b60208111156120af576040517f24c85d58000000000000000000000000000000000000000000000000000000008152600481018390526024016102bd565b6120b9818461313d565b92505060010161201d565b506120ce85612a50565b811461211a576120dd85612a50565b6040517f9365944a0000000000000000000000000000000000000000000000000000000081526004810191909152602481018290526044016102bd565b825b601c81101561088b5760ff601b82900360080287901c16801561216e576040517fbb68821a000000000000000000000000000000000000000000000000000000008152600481018390526024016102bd565b5060010161211c565b80158015612183575081155b156121a457604051635318beb960e01b8152600060048201526024016102bd565b60006121af83612345565b905060058111156121d657604051635318beb960e01b8152600481018290526024016102bd565b60006121e184612313565b905060006121ef838361313d565b9050601c81111561221657604051635318beb960e01b8152600481018290526024016102bd565b6000805b838110156122825760006122316118e08984612362565b90508060000361226d576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612277818461313d565b92505060010161221a565b5061228c86612a50565b81146122b75761229b86612a50565b604051635318beb960e01b81526004016102bd91815260200190565b825b8281101561124a5760006122d06118e08984612362565b9050801561230a576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001016122b9565b60006008600161232560026020613369565b61232f9190613369565b612339919061337c565b8260ff911c1692915050565b6000600860018061235860026020613369565b6123259190613369565b6000601b8290036008028360ff911c1660c5811115610d9457610d94613268565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106123bc576123bc613111565b60209081029190910101526000610c577f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b6113df565b6000612409868686612a73565b905060006124178484612a95565b905060006124258585612ab2565b6040805160018082528183019092529192506000919060208083019080368337019050509050898160008151811061245f5761245f613111565b6020908102919091010152610f227f746273746f72650000000000000000005461626c657300000000000000000000828686867e60030220202000000000000000000000000000000000000000000000000000611ab7565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106124ed576124ed613111565b6020026020010181815250506125587f746273746f72650000000000000000005265736f75726365496473000000000060001b8260008560405160200161253b91151560f81b815260010190565b60408051601f19818403018152919052630101000160d81b611a1d565b505050565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff00000000000000000000000000000000000000000000000000000000000016036125e757837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8484846040516125da939291906134dc565b60405180910390a2610d71565b60006125f38585611df0565b9050600061260086612814565b905060005b81518110156126d557600082828151811061262257612622613111565b6020026020010151905061264e6004826affffffffffffffffffffff191661289d90919063ffffffff16565b156126cc576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90612699908b908b908b908b90600401613519565b600060405180830381600087803b1580156126b357600080fd5b505af11580156126c7573d6000803e3d6000fd5b505050505b50600101612605565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161270a939291906134dc565b60405180910390a2612725828565ffffffffffff1685612ade565b60005b815181101561124a57600082828151811061274557612745613111565b602002602001015190506127716008826affffffffffffffffffffff191661289d90919063ffffffff16565b156127ef576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba8721906127bc908b908b908b908b90600401613519565b600060405180830381600087803b1580156127d657600080fd5b505af11580156127ea573d6000803e3d6000fd5b505050505b50600101612728565b6040805160208101849052908101829052600090606001611e05565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061284e5761284e613111565b602090810291909101015260006128867f746273746f726500000000000000000053746f7265486f6f6b730000000000008383612af4565b9050610c636128988260008451612b2e565b612bbc565b60008160ff16826128ae8560581c90565b1660ff1614905092915050565b821561293557602083106128e5576020830484019350602083816128e1576128e16134c6565b0692505b82156129355760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411612926575050610d71565b50600194909401939182900391015b5b602082106129575780518455600190930192601f1990910190602001612936565b8115610d71576000600019600884021c8554835182191691161785555050505050565b6000828260405160200161298f92919061348a565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b600083836040516020016129e592919061348a565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b60006008612a6060026020613369565b612a6a919061337c565b9190911c919050565b6040805160208101859052908101839052606081810183905290608001610e61565b8151815160009181810160389190911b1760609190911b17610d94565b60608282604051602001612ac7929190613552565b604051602081830303815290604052905092915050565b61255883838351612aef8560200190565b6128bb565b6060610c63612b048585856129d0565b6000612b2985612b148989612bcd565b9060ff166028026038011c64ffffffffff1690565b612be0565b600081831180612b3e5750835182115b15612b7b578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016102bd93929190613581565b60208401612b89848261313d565b90506000612b978585613369565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000610d948360156000612c03565b6000610d94612bdc848461297a565b5490565b60405160208101601f19603f8484010116604052828252611e7785858584612c7e565b60606000612c118560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281612c3757612c376134c6565b04905060405193506020840160208202810160405281855260005b82811015612c72578451871c825293870193602090910190600101612c52565b50505050509392505050565b8215612d055760208310612ca857602083048401935060208381612ca457612ca46134c6565b0692505b8215612d05576020839003600081841015612ccb5750600019600884021c612cd5565b50600019600882021c5b8554600886021b818451168219821617845250818411612cf6575050610d71565b50600194909401939182900391015b5b60208210612d275783548152600190930192601f1990910190602001612d06565b8115610d71576000600019600884021c8251865482191691161782525050505050565b600060208284031215612d5c57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610d9457600080fd5b634e487b7160e01b600052604160045260246000fd5b6040516060810167ffffffffffffffff81118282101715612dc557612dc5612d8c565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715612df457612df4612d8c565b604052919050565b600067ffffffffffffffff821115612e1657612e16612d8c565b50601f01601f191660200190565b600060208284031215612e3657600080fd5b813567ffffffffffffffff811115612e4d57600080fd5b8201601f81018413612e5e57600080fd5b8035612e71612e6c82612dfc565b612dcb565b818152856020838501011115612e8657600080fd5b81602084016020830137600091810160200191909152949350505050565b60005b83811015612ebf578181015183820152602001612ea7565b50506000910152565b6000612ed6612e6c84612dfc565b9050828152838383011115612eea57600080fd5b610d94836020830184612ea4565b600082601f830112612f0957600080fd5b610d9483835160208501612ec8565b60008060408385031215612f2b57600080fd5b825171ffffffffffffffffffffffffffffffffffff1981168114612f4e57600080fd5b602084015190925067ffffffffffffffff80821115612f6c57600080fd5b9084019060608287031215612f8057600080fd5b612f88612da2565b825182811115612f9757600080fd5b612fa388828601612ef8565b825250602083015182811115612fb857600080fd5b612fc488828601612ef8565b602083015250604083015182811115612fdc57600080fd5b612fe888828601612ef8565b6040830152508093505050509250929050565b6000825161300d818460208701612ea4565b9190910192915050565b80516020808301519190811015611f2a5760001960209190910360031b1b16919050565b60008151808452613053816020860160208601612ea4565b601f01601f19169290920160200192915050565b828152604060208201526000610c63604083018461303b565b60006020828403121561309257600080fd5b815167ffffffffffffffff8111156130a957600080fd5b8201601f810184136130ba57600080fd5b610c6384825160208401612ec8565b6000602082840312156130db57600080fd5b81516001600160a01b0381168114610d9457600080fd5b8381528260208201526060604082015260006113b9606083018461303b565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b808201808211156101e1576101e1613127565b60008451613162818460208901612ea4565b845190830190613176818360208901612ea4565b8451910190613189818360208801612ea4565b0195945050505050565b60008151808452602080850194506020840160005b838110156131c4578151875295820195908201906001016131a8565b509495945050505050565b85815260a0602082015260006131e860a0830187613193565b82810360408401526131fa818761303b565b90508460608401528281036080840152613214818561303b565b98975050505050505050565b8481526080602082015260006132396080830186613193565b60ff949094166040830152506060015292915050565b60006020828403121561326157600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b60008282518085526020808601955060208260051b8401016020860160005b848110156132cb57601f198684030189526132b983835161303b565b9884019892509083019060010161329d565b5090979650505050505050565b86815285602082015284604082015283606082015260c06080820152600061330360c083018561327e565b82810360a0840152613315818561327e565b9998505050505050505050565b85815260a06020820152600061333b60a0830187613193565b60ff861660408401528281036060840152613356818661303b565b9150508260808301529695505050505050565b818103818111156101e1576101e1613127565b80820281158282048414176101e1576101e1613127565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006113b9606083018461303b565b602081526000610d94602083018461327e565b6080815260006133fa6080830187613193565b828103602084015261340c818761303b565b90508460408401528281036060840152613426818561303b565b979650505050505050565b86815260c06020820152600061344a60c0830188613193565b828103604084015261345c818861303b565b90508560608401528281036080840152613476818661303b565b9150508260a0830152979650505050505050565b8281526000602080830184516020860160005b828110156134b95781518452928401929084019060010161349d565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b6060815260006134ef6060830186613193565b65ffffffffffff85166020840152828103604084015261350f818561303b565b9695505050505050565b8481526080602082015260006135326080830186613193565b65ffffffffffff851660408401528281036060840152613426818561303b565b60008351613564818460208801612ea4565b835190830190613578818360208801612ea4565b01949350505050565b606081526000613594606083018661303b565b6020830194909452506040015291905056fea164736f6c6343000818000a608060405234801561001057600080fd5b50615a45806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063472466c214610030575b600080fd5b61004361003e3660046128e1565b610045565b005b7f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000601083901c16176100958161025e565b61011a576040517fb29e40890000000000000000000000000000000000000000000000000000000081526004810182905273ffffffffffffffffffffffffffffffffffffffff84169063b29e408990602401600060405180830381600087803b15801561010157600080fd5b505af1158015610115573d6000803e3d6000fd5b505050505b61012b610126836102eb565b610323565b61013c61013783610357565b610389565b61014d610148836103cd565b6103ff565b61015e61015983610443565b610475565b61016f61016a836104b7565b6104e9565b61018061017b8361052d565b61055f565b8273ffffffffffffffffffffffffffffffffffffffff16633350b6a96101a5846105a1565b6040516101b1906128d4565b604051809103906000f0801580156101cd573d6000803e3d6000fd5b506040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff16602482015260016044820152606401600060405180830381600087803b15801561024157600080fd5b505af1158015610255573d6000803e3d6000fd5b50505050505050565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061029757610297612958565b602090810291909101015260006102d77f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b6105ee565b90506102e38160f81c90565b949350505050565b600061031d613a3160f11b837f4f70657261746f72417070726f76616c000000000000000000000000000000006106c5565b92915050565b61035481630101000160d81b61033761074c565b61033f610809565b610347610843565b61034f61091b565b610992565b50565b600061031d613a3160f11b837f4f776e65727300000000000000000000000000000000000000000000000000006106c5565b610354817e140100140000000000000000000000000000000000000000000000000000006103b5610a65565b6103bd610a9f565b6103c5610ad9565b61034f610b50565b600061031d613a3160f11b837f546f6b656e417070726f76616c000000000000000000000000000000000000006106c5565b610354817e1401001400000000000000000000000000000000000000000000000000000061042b610a65565b610433610a9f565b61043b610ad9565b61034f610bc7565b600061031d613a3160f11b837f546f6b656e5552490000000000000000000000000000000000000000000000006106c5565b610354817c010000000000000000000000000000000000000000000000000000000061049f610a65565b6104a7610c3e565b6104af610ad9565b61034f610c78565b600061031d613a3160f11b837f42616c616e6365730000000000000000000000000000000000000000000000006106c5565b610354817e20010020000000000000000000000000000000000000000000000000000000610515610a9f565b61051d610a65565b610525610bc7565b61034f610cef565b600061031d613a3160f11b837f4d657461646174610000000000000000000000000000000000000000000000006106c5565b610354817c0300000000000000000000000000000000000000000000000000000000610589610d66565b610591610d7f565b610599610e44565b61034f610e77565b600061031d7f7379000000000000000000000000000000000000000000000000000000000000837f45524337323153797374656d00000000000000000000000000000000000000006106c5565b6000806105f9610f97565b90503073ffffffffffffffffffffffffffffffffffffffff82160361062c5761062486868686610fe3565b9150506102e3565b6040517f8c364d5900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821690638c364d59906106849089908990899089906004016129aa565b602060405180830381865afa1580156106a1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061062491906129d9565b60006106d360706010612a08565b7fffff00000000000000000000000000000000000000000000000000000000000085167dffffffffffffffffffffffffffff00000000000000000000000000000000601086901c16177fffffffffffffffffffffffffffffffff00000000000000000000000000000000841690911c1790509392505050565b6040805160028082526060820183526000928392919060208301908036833701905050905060618160008151811061078657610786612958565b602002602001019060c581111561079f5761079f612a1b565b908160c58111156107b2576107b2612a1b565b815250506061816001815181106107cb576107cb612958565b602002602001019060c58111156107e4576107e4612a1b565b908160c58111156107f7576107f7612a1b565b90525061080381611019565b91505090565b604080516001808252818301909252600091829190602080830190803683370190505090506060816000815181106107cb576107cb612958565b6040805160028082526060828101909352816020015b60608152602001906001900390816108595790505090506040518060400160405280600581526020017f6f776e6572000000000000000000000000000000000000000000000000000000815250816000815181106108b9576108b9612958565b60200260200101819052506040518060400160405280600881526020017f6f70657261746f720000000000000000000000000000000000000000000000008152508160018151811061090d5761090d612958565b602002602001018190525090565b604080516001808252818301909252606091816020015b60608152602001906001900390816109325790505090506040518060400160405280600881526020017f617070726f7665640000000000000000000000000000000000000000000000008152508160008151811061090d5761090d612958565b600061099c610f97565b90503073ffffffffffffffffffffffffffffffffffffffff8216036109ce576109c98787878787876111dd565b610255565b6040517f0ba51f4900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821690630ba51f4990610a2a908a908a908a908a908a908a90600401612adb565b600060405180830381600087803b158015610a4457600080fd5b505af1158015610a58573d6000803e3d6000fd5b5050505050505050505050565b60408051600180825281830190925260009182919060208083019080368337019050509050601f816000815181106107cb576107cb612958565b604080516001808252818301909252600091829190602080830190803683370190505090506061816000815181106107cb576107cb612958565b604080516001808252818301909252606091816020015b6060815260200190600190039081610af05790505090506040518060400160405280600781526020017f746f6b656e4964000000000000000000000000000000000000000000000000008152508160008151811061090d5761090d612958565b604080516001808252818301909252606091816020015b6060815260200190600190039081610b675790505090506040518060400160405280600581526020017f6f776e65720000000000000000000000000000000000000000000000000000008152508160008151811061090d5761090d612958565b604080516001808252818301909252606091816020015b6060815260200190600190039081610bde5790505090506040518060400160405280600781526020017f6163636f756e74000000000000000000000000000000000000000000000000008152508160008151811061090d5761090d612958565b6040805160018082528183019092526000918291906020808301908036833701905050905060c5816000815181106107cb576107cb612958565b604080516001808252818301909252606091816020015b6060815260200190600190039081610c8f5790505090506040518060400160405280600881526020017f746f6b656e5552490000000000000000000000000000000000000000000000008152508160008151811061090d5761090d612958565b604080516001808252818301909252606091816020015b6060815260200190600190039081610d065790505090506040518060400160405280600581526020017f76616c75650000000000000000000000000000000000000000000000000000008152508160008151811061090d5761090d612958565b6040805160008082526020820190925261080381611019565b604080516003808252608082019092526000918291906020820160608036833701905050905060c581600081518110610dba57610dba612958565b602002602001019060c5811115610dd357610dd3612a1b565b908160c5811115610de657610de6612a1b565b8152505060c581600181518110610dff57610dff612958565b602002602001019060c5811115610e1857610e18612a1b565b908160c5811115610e2b57610e2b612a1b565b8152505060c5816002815181106107cb576107cb612958565b60408051600080825260208201909252606091610e71565b6060815260200190600190039081610e5c5790505b50905090565b60408051600380825260808201909252606091816020015b6060815260200190600190039081610e8f5790505090506040518060400160405280600481526020017f6e616d650000000000000000000000000000000000000000000000000000000081525081600081518110610eef57610eef612958565b60200260200101819052506040518060400160405280600681526020017f73796d626f6c000000000000000000000000000000000000000000000000000081525081600181518110610f4357610f43612958565b60200260200101819052506040518060400160405280600781526020017f62617365555249000000000000000000000000000000000000000000000000008152508160028151811061090d5761090d612958565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e1755460009073ffffffffffffffffffffffffffffffffffffffff1680610fde573391505090565b919050565b6000611010610ff2868661163b565b60ff858116601b0360080285901c1661100b8587611691565b6116ca565b95945050505050565b6000601c8251111561104c578151604051635318beb960e01b815260040161104391815260200190565b60405180910390fd5b60008080805b855181101561112757600061109087838151811061107257611072612958565b602002602001015160c581111561108b5761108b612a1b565b61171b565b9050806000036110a5576001909201916110dd565b82156110dd576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80840193506008826004601f0303028783815181106110fe576110fe612958565b602002602001015160c581111561111757611117612a1b565b901b949094179350600101611052565b50600581111561114d57604051635318beb960e01b815260048101829052602401611043565b8451819003600861116060026020612b25565b61116a9190612b38565b83901b93909317926008600161118260026020612b25565b61118c9190612b25565b6111969190612b38565b81901b939093179260086001806111af60026020612b25565b6111b99190612b25565b6111c39190612b25565b6111cd9190612b38565b9190911b92909217949350505050565b613a3160f11b867fffff000000000000000000000000000000000000000000000000000000000000161480159061125657507f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001614155b156112b757613a3160f11b868760405160200161127591815260200190565b60408051601f19818403018152908290527f31b46683000000000000000000000000000000000000000000000000000000008252611043939291600401612b4f565b6112c085611775565b6112cb8460016119bc565b6112d68360006119bc565b60e084901c60e885901c0160ff168251146113365760e084901c60e885901c0160ff1682516040517f0f72cb9800000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401611043565b60e085901c60e886901c0160ff168151146113965760e085901c60e886901c0160ff1681516040517f7dec4c0000000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401611043565b60e085901c60e886901c0160ff1660e084901c60e885901c0160ff161461140e5760e085901c60e886901c0160ff1660e084901c60e885901c0160ff166040517ff29d4d8800000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401611043565b61141785611b58565b61142084611b58565b146114725761142e85611b58565b61143784611b58565b6040517f65cc0adf00000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401611043565b61147b85611b8a565b61148484611b8a565b146114d65761149285611b8a565b61149b84611b8a565b6040517fedea958700000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401611043565b60005b6114e286611b58565b811015611578576115076114f68583611ba7565b60c581111561108b5761108b612a1b565b6008601b8390030287901c60ff1614611570576008601b8290030286901c60ff166115356114f68684611ba7565b6040517f254c7db400000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401611043565b6001016114d9565b5061158286611bcf565b156115dc57858660405160200161159b91815260200190565b60408051601f19818403018152908290527fdfaaf9cf0000000000000000000000000000000000000000000000000000000082526110439291600401612b90565b61162886868686866040516020016115f49190612ba9565b604051602081830303815290604052866040516020016116149190612ba9565b604051602081830303815290604052611c48565b611633866001611d2b565b505050505050565b60008282604051602001611650929190612bbc565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff168110156116c2576116b860ff601b83900360080287901c1683612a08565b9150600101611696565b509392505050565b6000602082106116f0576020820484019350602082816116ec576116ec612bf8565b0691505b508254600882021b6020829003808411156116c2576001850154600882021c82179150509392505050565b6000808260c581111561173057611730612a1b565b60ff169050606181101561174a57601f1660010192915050565b60618360c581111561175e5761175e612a1b565b0361176c5750601492915050565b50600092915050565b806117ac576040517f220c0f6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006117b782611b8a565b905060058111156117fe576040517f7f2372c30000000000000000000000000000000000000000000000000000000081526004810182905260056024820152604401611043565b600061180983611b58565b905060006118178383612a08565b9050601c81111561185e576040517f4a8a06ad00000000000000000000000000000000000000000000000000000000815260048101829052601c6024820152604401611043565b6000805b838110156119095760ff601b82900360080287901c1660008190036118b6576040517f01f2a07c00000000000000000000000000000000000000000000000000000000815260048101839052602401611043565b60208111156118f4576040517f24c85d5800000000000000000000000000000000000000000000000000000000815260048101839052602401611043565b6118fe8184612a08565b925050600101611862565b5061191385611dd1565b811461195f5761192285611dd1565b6040517f9365944a000000000000000000000000000000000000000000000000000000008152600481019190915260248101829052604401611043565b825b601c8110156116335760ff601b82900360080287901c1680156119b3576040517fbb68821a00000000000000000000000000000000000000000000000000000000815260048101839052602401611043565b50600101611961565b801580156119c8575081155b156119e957604051635318beb960e01b815260006004820152602401611043565b60006119f483611b8a565b90506005811115611a1b57604051635318beb960e01b815260048101829052602401611043565b6000611a2684611b58565b90506000611a348383612a08565b9050601c811115611a5b57604051635318beb960e01b815260048101829052602401611043565b6000805b83811015611ac7576000611a766114f68984611ba7565b905080600003611ab2576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611abc8184612a08565b925050600101611a5f565b50611ad186611dd1565b8114611afc57611ae086611dd1565b604051635318beb960e01b815260040161104391815260200190565b825b82811015610255576000611b156114f68984611ba7565b90508015611b4f576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50600101611afe565b600060086001611b6a60026020612b25565b611b749190612b25565b611b7e9190612b38565b8260ff911c1692915050565b60006008600180611b9d60026020612b25565b611b6a9190612b25565b6000601b8290036008028360ff911c1660c5811115611bc857611bc8612a1b565b9392505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611c0857611c08612958565b602090810291909101015260006102d77f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b610fe3565b604080516020810187905280820186905260608082018690528251808303909101815260809091019091526000611c7f8484611df4565b90506000611c8d8585611e11565b60408051600180825281830190925291925060009190602080830190803683370190505090508981600081518110611cc757611cc7612958565b6020908102919091010152611d1f7f746273746f72650000000000000000005461626c657300000000000000000000828686867e60030220202000000000000000000000000000000000000000000000000000611e3d565b50505050505050505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611d6157611d61612958565b602002602001018181525050611dcc7f746273746f72650000000000000000005265736f75726365496473000000000060001b82600085604051602001611daf91151560f81b815260010190565b60408051601f19818403018152919052630101000160d81b612176565b505050565b60006008611de160026020612b25565b611deb9190612b38565b9190911c919050565b8151815160009181810160389190911b1760609190911b17611bc8565b60608282604051602001611e26929190612c0e565b604051602081830303815290604052905092915050565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001603611ec957857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a986868686604051611ebc9493929190612c3d565b60405180910390a2611633565b6000611ed487612192565b905060005b8151811015611fad576000828281518110611ef657611ef6612958565b60200260200101519050611f226001826affffffffffffffffffffff191661221b90919063ffffffff16565b15611fa4576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90611f71908c908c908c908c908c908c90600401612c87565b600060405180830381600087803b158015611f8b57600080fd5b505af1158015611f9f573d6000803e3d6000fd5b505050505b50600101611ed9565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a987878787604051611fe49493929190612c3d565b60405180910390a26000611ff8888861163b565b90506000602087019050612010826000895184612239565b600061201b85611b8a565b111561209f57600061202d8a8a6122f7565b878155905060208601915060008060005b61204788611b8a565b8160ff16101561209a5761205c8d8d8361234d565b92506120778a8260ff166028026038011c64ffffffffff1690565b91506120868360008488612239565b6120908286612a08565b945060010161203e565b505050505b60005b8351811015611d1f5760008482815181106120bf576120bf612958565b602002602001015190506120eb6002826affffffffffffffffffffff191661221b90919063ffffffff16565b1561216d576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf9061213a908e908e908e908e908e908e90600401612c87565b600060405180830381600087803b15801561215457600080fd5b505af1158015612168573d6000803e3d6000fd5b505050505b506001016120a2565b61218b85856121858487611691565b856123cd565b5050505050565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106121cc576121cc612958565b602090810291909101015260006122047f746273746f726500000000000000000053746f7265486f6f6b730000000000008383612668565b90506102e361221682600084516126a2565b612730565b60008160ff168261222c8560581c90565b1660ff1614905092915050565b82156122b357602083106122635760208304840193506020838161225f5761225f612bf8565b0692505b82156122b35760208390036000600019600885021c1990506008850281811c91508351811c90508119875416828216178755508184116122a45750506122f1565b50600194909401939182900391015b5b602082106122d55780518455600190930192601f19909101906020016122b4565b81156122f15783548151600019600885021c9182169119161784555b50505050565b6000828260405160200161230c929190612bbc565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b60008383604051602001612362929190612bbc565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361245757837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161244a93929190612ce0565b60405180910390a26122f1565b6000612463858561163b565b9050600061247086612192565b905060005b815181101561254557600082828151811061249257612492612958565b602002602001015190506124be6004826affffffffffffffffffffff191661221b90919063ffffffff16565b1561253c576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90612509908b908b908b908b90600401612d1d565b600060405180830381600087803b15801561252357600080fd5b505af1158015612537573d6000803e3d6000fd5b505050505b50600101612475565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161257a93929190612ce0565b60405180910390a2612595828565ffffffffffff1685612741565b60005b81518110156102555760008282815181106125b5576125b5612958565b602002602001015190506125e16008826affffffffffffffffffffff191661221b90919063ffffffff16565b1561265f576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061262c908b908b908b908b90600401612d1d565b600060405180830381600087803b15801561264657600080fd5b505af115801561265a573d6000803e3d6000fd5b505050505b50600101612598565b60606102e361267885858561234d565b600061269d856126888989612757565b9060ff166028026038011c64ffffffffff1690565b61276a565b6000818311806126b25750835182115b156126ef578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161104393929190612d56565b602084016126fd8482612a08565b9050600061270b8585612b25565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000611bc8836015600061278d565b611dcc838383516127528560200190565b612239565b6000611bc861276684846122f7565b5490565b60405160208101601f19603f84840101166040528282526116c285858584612808565b6060600061279b8560801c90565b90506fffffffffffffffffffffffffffffffff851660008582816127c1576127c1612bf8565b04905060405193506020840160208202810160405281855260005b828110156127fc578451871c8252938701936020909101906001016127dc565b50505050509392505050565b821561288f57602083106128325760208304840193506020838161282e5761282e612bf8565b0692505b821561288f5760208390036000818410156128555750600019600884021c61285f565b50600019600882021c5b8554600886021b8184511682198216178452508184116128805750506122f1565b50600194909401939182900391015b5b602082106128b15783548152600190930192601f1990910190602001612890565b81156122f1576000600019600884021c8251865482191691161782525050505050565b612cbd80612d7c83390190565b600080604083850312156128f457600080fd5b823573ffffffffffffffffffffffffffffffffffffffff8116811461291857600080fd5b915060208301357fffffffffffffffffffffffffffff0000000000000000000000000000000000008116811461294d57600080fd5b809150509250929050565b634e487b7160e01b600052603260045260246000fd5b60008151808452602080850194506020840160005b8381101561299f57815187529582019590820190600101612983565b509495945050505050565b8481526080602082015260006129c3608083018661296e565b60ff949094166040830152506060015292915050565b6000602082840312156129eb57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561031d5761031d6129f2565b634e487b7160e01b600052602160045260246000fd5b60005b83811015612a4c578181015183820152602001612a34565b50506000910152565b60008151808452612a6d816020860160208601612a31565b601f01601f19169290920160200192915050565b60008282518085526020808601955060208260051b8401016020860160005b84811015612ace57601f19868403018952612abc838351612a55565b98840198925090830190600101612aa0565b5090979650505050505050565b86815285602082015284604082015283606082015260c060808201526000612b0660c0830185612a81565b82810360a0840152612b188185612a81565b9998505050505050505050565b8181038181111561031d5761031d6129f2565b808202811582820484141761031d5761031d6129f2565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006110106060830184612a55565b8281526040602082015260006102e36040830184612a55565b602081526000611bc86020830184612a81565b8281526000602080830184516020860160005b82811015612beb57815184529284019290840190600101612bcf565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b60008351612c20818460208801612a31565b835190830190612c34818360208801612a31565b01949350505050565b608081526000612c50608083018761296e565b8281036020840152612c628187612a55565b90508460408401528281036060840152612c7c8185612a55565b979650505050505050565b86815260c060208201526000612ca060c083018861296e565b8281036040840152612cb28188612a55565b90508560608401528281036080840152612ccc8186612a55565b9150508260a0830152979650505050505050565b606081526000612cf3606083018661296e565b65ffffffffffff851660208401528281036040840152612d138185612a55565b9695505050505050565b848152608060208201526000612d36608083018661296e565b65ffffffffffff851660408401528281036060840152612c7c8185612a55565b606081526000612d696060830186612a55565b6020830194909452506040015291905056fe608060405234801561001057600080fd5b50612c9d806100206000396000f3fe608060405234801561001057600080fd5b506004361061016c5760003560e01c80636352211e116100cd578063a22cb46511610081578063c87b56dd11610066578063c87b56dd146102d1578063e1af802c146102e4578063e985e9c5146102ec57600080fd5b8063a22cb465146102ab578063b88d4fde146102be57600080fd5b80638832e6e3116100b25780638832e6e31461027d57806395d89b4114610290578063a14481941461029857600080fd5b80636352211e1461025757806370a082311461026a57600080fd5b806323b872dd1161012457806342842e0e1161010957806342842e0e1461021c57806342966c681461022f57806345ec93541461024257600080fd5b806323b872dd146101f657806340c10f191461020957600080fd5b8063081812fc11610155578063081812fc146101ae578063095ea7b3146101d9578063119df25f146101ee57600080fd5b806301ffc9a71461017157806306fdde0314610199575b600080fd5b61018461017f366004612519565b6102ff565b60405190151581526020015b60405180910390f35b6101a1610398565b6040516101909190612586565b6101c16101bc366004612599565b6103b7565b6040516001600160a01b039091168152602001610190565b6101ec6101e73660046125c9565b6103cc565b005b6101c16103e2565b6101ec6102043660046125f3565b6103ec565b6101ec6102173660046125c9565b61049c565b6101ec61022a3660046125f3565b6104ae565b6101ec61023d366004612599565b6104ce565b36601f1901355b604051908152602001610190565b6101c1610265366004612599565b6104e2565b61024961027836600461262f565b6104ed565b6101ec61028b36600461270f565b61054b565b6101a161055e565b6101ec6102a63660046125c9565b610573565b6101ec6102b9366004612766565b610595565b6101ec6102cc3660046127a2565b6105a7565b6101a16102df366004612599565b6105be565b6101c161065a565b6101846102fa36600461280a565b610664565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee12700000000000000000000000000000000000000000000000000000000148061039257507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60606103b26103ad6103a8610687565b6106a5565b6106d7565b905090565b60006103c2826106f5565b5061039282610746565b6103de82826103d96103e2565b610761565b5050565b60006103b261076e565b6001600160a01b03821661041b57604051633250574960e11b8152600060048201526024015b60405180910390fd5b600061042f838361042a6103e2565b6107a0565b9050836001600160a01b0316816001600160a01b031614610496576040517f64283d7b0000000000000000000000000000000000000000000000000000000081526001600160a01b0380861660048301526024820184905282166044820152606401610412565b50505050565b6104a4610924565b6103de828261093f565b6104c9838383604051806020016040528060008152506105a7565b505050565b6104d6610924565b6104df816109bd565b50565b6000610392826106f5565b60006001600160a01b038216610532576040517f89c62b6400000000000000000000000000000000000000000000000000000000815260006004820152602401610412565b610392610545610540610687565b610a11565b83610a43565b610553610924565b6104c9838383610ac9565b60606103b261056e6103a8610687565b610ae0565b61057b610924565b6103de828260405180602001604052806000815250610ac9565b6103de6105a06103e2565b8383610aff565b6105b28484846103ec565b61049684848484610c23565b60606105c9826106f5565b5060006105d4610d84565b905060006105f16105eb6105e6610687565b610d99565b85610dcb565b9050600081511161061c5760408051602081018690520160405160208183030381529060405261061e565b805b9050600082511161062f5780610652565b818160405160200161064292919061283d565b6040516020818303038152906040525b949350505050565b60006103b2610e22565b6000610680610679610674610687565b610e2c565b8484610e5e565b9392505050565b60008061069330610f1d565b905061069f8160101b90565b91505090565b6000610392613a3160f11b837f4d65746164617461000000000000000000000000000000000000000000000000610fba565b60408051600080825260208201909252606091610652848383611032565b600080610701836110f9565b90506001600160a01b038116610392576040517f7e27328900000000000000000000000000000000000000000000000000000000815260048101849052602401610412565b600061039261075b610756610687565b611109565b8361113b565b6104c983838360016111bb565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c8061079d5750335b90565b6000806107ae610540610687565b905060006107bb856110f9565b90506001600160a01b038416156107d7576107d781858761134d565b6001600160a01b0381161561080b576107f46000866000806111bb565b61080b828260016108058686610a43565b036113e3565b6001600160a01b03861615610831576108318287610829858a610a43565b6001016113e3565b61084b61084461083f610687565b611480565b86886114b2565b61085361156f565b6001600160a01b03166366c93bdb7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610892846001600160a01b031690565b604080516000815260208101918290527fffffffff0000000000000000000000000000000000000000000000000000000060e086901b169091526108e89291906001600160a01b038c16908b906024810161286c565b600060405180830381600087803b15801561090257600080fd5b505af1158015610916573d6000803e3d6000fd5b509298975050505050505050565b61093d61093030610f1d565b6109386103e2565b61164a565b565b6001600160a01b03821661096957604051633250574960e11b815260006004820152602401610412565b6000610977838360006107a0565b90506001600160a01b038116156104c9576040517f73c6ac6e00000000000000000000000000000000000000000000000000000000815260006004820152602401610412565b60006109cc60008360006107a0565b90506001600160a01b0381166103de576040517f7e27328900000000000000000000000000000000000000000000000000000000815260048101839052602401610412565b6000610392613a3160f11b837f42616c616e636573000000000000000000000000000000000000000000000000610fba565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b81600081518110610a8857610a886128a2565b60209081029190910101526000610ac08583837e200100200000000000000000000000000000000000000000000000000000006116eb565b95945050505050565b610ad3838361093f565b6104c96000848484610c23565b6040805160008082526020820190925260609161065284836001611032565b6001600160a01b038216610b4a576040517f5b08ba180000000000000000000000000000000000000000000000000000000081526001600160a01b0383166004820152602401610412565b610b60610b58610674610687565b8484846117a8565b610b6861156f565b6001600160a01b031663c9a34acd7f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31610ba7866001600160a01b031690565b6001600160a01b038616604080518715156020820152016040516020818303038152906040526040518563ffffffff1660e01b8152600401610bec94939291906128b8565b600060405180830381600087803b158015610c0657600080fd5b505af1158015610c1a573d6000803e3d6000fd5b50505050505050565b6001600160a01b0383163b1561049657826001600160a01b031663150b7a02610c4a6103e2565b8685856040518563ffffffff1660e01b8152600401610c6c94939291906128dd565b6020604051808303816000875af1925050508015610ca7575060408051601f3d908101601f19168201909252610ca49181019061290f565b60015b610d10573d808015610cd5576040519150601f19603f3d011682016040523d82523d6000602084013e610cda565b606091505b508051600003610d0857604051633250574960e11b81526001600160a01b0385166004820152602401610412565b805181602001fd5b7fffffffff0000000000000000000000000000000000000000000000000000000081167f150b7a020000000000000000000000000000000000000000000000000000000014610d7d57604051633250574960e11b81526001600160a01b0385166004820152602401610412565b5050505050565b60606103b2610d946103a8610687565b611875565b6000610392613a3160f11b837f546f6b656e555249000000000000000000000000000000000000000000000000610fba565b60408051600180825281830190925260609160009190602080830190803683370190505090508260001b81600081518110610e0857610e086128a2565b6020026020010181815250506000610ac085836000611032565b60006103b2611894565b6000610392613a3160f11b837f4f70657261746f72417070726f76616c00000000000000000000000000000000610fba565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b81600081518110610ea357610ea36128a2565b602002602001018181525050826001600160a01b031660001b81600181518110610ecf57610ecf6128a2565b60209081029190910101526000610f078683837e010100010000000000000000000000000000000000000000000000000000006116eb565b9050610f138160f81c90565b9695505050505050565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b81600081518110610f6257610f626128a2565b602090810291909101015260006106527f7462776f726c6400000000000000000053797374656d5265676973747279000083837e200100200000000000000000000000000000000000000000000000000000006116eb565b6000610fc860706010612942565b7fffff00000000000000000000000000000000000000000000000000000000000085167dffffffffffffffffffffffffffff00000000000000000000000000000000601086901c16176fffffffffffffffffffffffffffffffff19841690911c1790509392505050565b6060600061103e611894565b9050306001600160a01b038216036110635761105b8585856118d3565b915050610680565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e788977906110ac90889088908890600401612991565b600060405180830381865afa1580156110c9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261105b91908101906129bd565b509392505050565b600061039261075b61083f610687565b6000610392613a3160f11b837f546f6b656e417070726f76616c00000000000000000000000000000000000000610fba565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b81600081518110611177576111776128a2565b602090810291909101015260006111af8583837e140100140000000000000000000000000000000000000000000000000000006116eb565b60601c95945050505050565b80806111cf57506001600160a01b03821615155b156113385760006111df846106f5565b90506001600160a01b0383161580159061120b5750826001600160a01b0316816001600160a01b031614155b801561121e575061121c8184610664565b155b15611260576040517fa9fbf51f0000000000000000000000000000000000000000000000000000000081526001600160a01b0384166004820152602401610412565b81156113365761126e61156f565b6001600160a01b03166366c93bdb7f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9256112ad846001600160a01b031690565b604080516000815260208101918290527fffffffff0000000000000000000000000000000000000000000000000000000060e086901b169091526113039291906001600160a01b038b16908a906024810161286c565b600060405180830381600087803b15801561131d57600080fd5b505af1158015611331573d6000803e3d6000fd5b505050505b505b610496611346610756610687565b84866114b2565b61135883838361190d565b6104c9576001600160a01b03831661139f576040517f7e27328900000000000000000000000000000000000000000000000000000000815260048101829052602401610412565b6040517f177e802f0000000000000000000000000000000000000000000000000000000081526001600160a01b038316600482015260248101829052604401610412565b60408051600180825281830190925260009160208083019080368337019050509050826001600160a01b031660001b81600081518110611425576114256128a2565b602002602001018181525050610496848260008560405160200161144b91815260200190565b60408051601f198184030181529190527e20010020000000000000000000000000000000000000000000000000000000611972565b6000610392613a3160f11b837f4f776e6572730000000000000000000000000000000000000000000000000000610fba565b604080516001808252818301909252600091602080830190803683370190505090508260001b816000815181106114eb576114eb6128a2565b602002602001018181525050610496848260008560405160200161153a919060609190911b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016815260140190565b60408051601f198184030181529190527e14010014000000000000000000000000000000000000000000000000000000611972565b60008061157b30610f1d565b60408051613a3160f11b60208201527f707570706574000000000000000000000000000000000000000000000000000060228201527f507570706574526567697374727900000000000000000000000000000000000060308201529192506000916115ff91016040516020818303038152906040526115f990612a2b565b83611a28565b90506001600160a01b038116610392576040517f9434f7e100000000000000000000000000000000000000000000000000000000815230600482015260248101839052604401610412565b6001600160a01b03811661169f7f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617611a61565b6001600160a01b0316146103de576116b682611afd565b816040517fd787b737000000000000000000000000000000000000000000000000000000008152600401610412929190612a52565b6000806116f6611894565b9050306001600160a01b0382160361171c5761171486868686611c2b565b915050610652565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990611767908990899089908990600401612a7d565b602060405180830381865afa158015611784573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117149190612aac565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b816000815181106117e9576117e96128a2565b602002602001018181525050826001600160a01b031660001b81600181518110611815576118156128a2565b602002602001018181525050610d7d858260008560405160200161184091151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611972565b6040805160008082526020820190925260609161065284836002611032565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b0316806118ce573391505090565b919050565b60606106526118e3858585611c58565b6000611908856118f38989611cd8565b9060ff166028026038011c64ffffffffff1690565b611ceb565b60006001600160a01b038316158015906106525750826001600160a01b0316846001600160a01b0316148061194757506119478484610664565b806106525750826001600160a01b031661196083610746565b6001600160a01b031614949350505050565b600061197c611894565b9050306001600160a01b038216036119a05761199b8686868686611d0e565b611a20565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae0906119ed9089908990899089908990600401612ac5565b600060405180830381600087803b158015611a0757600080fd5b505af1158015611a1b573d6000803e3d6000fd5b505050505b505050505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611177576111776128a2565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611a9a57611a9a6128a2565b60209081029190910101526000611af27f7462776f726c640000000000000000004e616d6573706163654f776e6572000083837e140100140000000000000000000000000000000000000000000000000000006116eb565b60601c949350505050565b606081601081901b6000611b1083611d23565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615611b6b57611b667fffffffffffffffffffffffffffff0000000000000000000000000000000000008416611d3a565b611ba2565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff19831615611bc957611bc483611d3a565b611c00565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001611c1293929190612b0c565b6040516020818303038152906040529350505050919050565b6000610ac0611c3a8686611dc0565b60ff858116601b0360080285901c16611c538587611e16565b611e47565b60008383604051602001611c6d929190612b9a565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b6000610680611ce78484611e98565b5490565b60405160208101601f19603f84840101166040528282526110f185858584611eee565b610d7d8585611d1d8487611e16565b85611fba565b6000611d3160706010612942565b9190911b919050565b606060005b6010811015611d90576fffffffffffffffffffffffffffffffff198316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615611d9057600101611d3f565b604080516fffffffffffffffffffffffffffffffff19851660208201528151603090910190915281815280610652565b60008282604051602001611dd5929190612b9a565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff168110156110f157611e3d60ff601b83900360080287901c1683612942565b9150600101611e1b565b600060208210611e6d57602082048401935060208281611e6957611e69612bd6565b0691505b508254600882021b6020829003808411156110f1576001850154600882021c82179150509392505050565b60008282604051602001611ead929190612b9a565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b8215611f755760208310611f1857602083048401935060208381611f1457611f14612bd6565b0692505b8215611f75576020839003600081841015611f3b5750600019600884021c611f45565b50600019600882021c5b8554600886021b818451168219821617845250818411611f66575050610496565b50600194909401939182900391015b5b60208210611f975783548152600190930192601f1990910190602001611f76565b8115610496576000600019600884021c8251865482191691161782525050505050565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361204457837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161203793929190612bec565b60405180910390a2610496565b60006120508585611dc0565b9050600061205d86612255565b905060005b815181101561213257600082828151811061207f5761207f6128a2565b602002602001015190506120ab6004826affffffffffffffffffffff19166122de90919063ffffffff16565b15612129576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d906120f6908b908b908b908b90600401612c1f565b600060405180830381600087803b15801561211057600080fd5b505af1158015612124573d6000803e3d6000fd5b505050505b50600101612062565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161216793929190612bec565b60405180910390a2612182828565ffffffffffff16856122fc565b60005b8151811015610c1a5760008282815181106121a2576121a26128a2565b602002602001015190506121ce6008826affffffffffffffffffffff19166122de90919063ffffffff16565b1561224c576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190612219908b908b908b908b90600401612c1f565b600060405180830381600087803b15801561223357600080fd5b505af1158015612247573d6000803e3d6000fd5b505050505b50600101612185565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061228f5761228f6128a2565b602090810291909101015260006122c77f746273746f726500000000000000000053746f7265486f6f6b7300000000000083836118d3565b90506106526122d98260008451612312565b6123a0565b60008160ff16826122ef8560581c90565b1660ff1614905092915050565b6104c98383835161230d8560200190565b6123b1565b6000818311806123225750835182115b1561235f578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161041293929190612c58565b6020840161236d8482612942565b9050600061237b8585612c7d565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b606060006106808360156000612470565b821561242b57602083106123db576020830484019350602083816123d7576123d7612bd6565b0692505b821561242b5760208390036000600019600885021c1990506008850281811c91508351811c905081198754168282161787555081841161241c575050610496565b50600194909401939182900391015b5b6020821061244d5780518455600190930192601f199091019060200161242c565b8115610496576000600019600884021c8554835182191691161785555050505050565b6060600061247e8560801c90565b90506fffffffffffffffffffffffffffffffff851660008582816124a4576124a4612bd6565b04905060405193506020840160208202810160405281855260005b828110156124df578451871c8252938701936020909101906001016124bf565b50505050509392505050565b7fffffffff00000000000000000000000000000000000000000000000000000000811681146104df57600080fd5b60006020828403121561252b57600080fd5b8135610680816124eb565b60005b83811015612551578181015183820152602001612539565b50506000910152565b60008151808452612572816020860160208601612536565b601f01601f19169290920160200192915050565b602081526000610680602083018461255a565b6000602082840312156125ab57600080fd5b5035919050565b80356001600160a01b03811681146118ce57600080fd5b600080604083850312156125dc57600080fd5b6125e5836125b2565b946020939093013593505050565b60008060006060848603121561260857600080fd5b612611846125b2565b925061261f602085016125b2565b9150604084013590509250925092565b60006020828403121561264157600080fd5b610680826125b2565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156126895761268961264a565b604052919050565b600067ffffffffffffffff8211156126ab576126ab61264a565b50601f01601f191660200190565b600082601f8301126126ca57600080fd5b81356126dd6126d882612691565b612660565b8181528460208386010111156126f257600080fd5b816020850160208301376000918101602001919091529392505050565b60008060006060848603121561272457600080fd5b61272d846125b2565b925060208401359150604084013567ffffffffffffffff81111561275057600080fd5b61275c868287016126b9565b9150509250925092565b6000806040838503121561277957600080fd5b612782836125b2565b91506020830135801515811461279757600080fd5b809150509250929050565b600080600080608085870312156127b857600080fd5b6127c1856125b2565b93506127cf602086016125b2565b925060408501359150606085013567ffffffffffffffff8111156127f257600080fd5b6127fe878288016126b9565b91505092959194509250565b6000806040838503121561281d57600080fd5b612826836125b2565b9150612834602084016125b2565b90509250929050565b6000835161284f818460208801612536565b835190830190612863818360208801612536565b01949350505050565b85815284602082015283604082015282606082015260a06080820152600061289760a083018461255a565b979650505050505050565b634e487b7160e01b600052603260045260246000fd5b848152836020820152826040820152608060608201526000610f13608083018461255a565b60006001600160a01b03808716835280861660208401525083604083015260806060830152610f13608083018461255a565b60006020828403121561292157600080fd5b8151610680816124eb565b634e487b7160e01b600052601160045260246000fd5b808201808211156103925761039261292c565b60008151808452602080850194506020840160005b838110156129865781518752958201959082019060010161296a565b509495945050505050565b8381526060602082015260006129aa6060830185612955565b905060ff83166040830152949350505050565b6000602082840312156129cf57600080fd5b815167ffffffffffffffff8111156129e657600080fd5b8201601f810184136129f757600080fd5b8051612a056126d882612691565b818152856020838501011115612a1a57600080fd5b610ac0826020830160208601612536565b80516020808301519190811015612a4c576000198160200360031b1b821691505b50919050565b604081526000612a65604083018561255a565b90506001600160a01b03831660208301529392505050565b848152608060208201526000612a966080830186612955565b60ff949094166040830152506060015292915050565b600060208284031215612abe57600080fd5b5051919050565b85815260a060208201526000612ade60a0830187612955565b60ff861660408401528281036060840152612af9818661255a565b9150508260808301529695505050505050565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a000000000000000000000000000000000000000000000000000000000000008060028401528451612b6d816003860160208901612536565b808401905081600382015284519150612b8d826004830160208801612536565b0160040195945050505050565b8281526000602080830184516020860160005b82811015612bc957815184529284019290840190600101612bad565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b606081526000612bff6060830186612955565b65ffffffffffff851660208401528281036040840152610f13818561255a565b848152608060208201526000612c386080830186612955565b65ffffffffffff851660408401528281036060840152612897818561255a565b606081526000612c6b606083018661255a565b60208301949094525060400152919050565b818103818111156103925761039261292c56fea164736f6c6343000818000aa164736f6c6343000818000a","sourceMap":"1456:1812:142:-:0;;;;;578:4:53;534:49;;1599:37:142;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1551:86:142;;;1456:1812;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100725760003560e01c806345ec93541161005057806345ec9354146100d45780637c5b0335146100e7578063e1af802c146100fa57600080fd5b806301ffc9a714610077578063119df25f1461009f57806313861fb5146100bf575b600080fd5b61008a610085366004612d4a565b610102565b60405190151581526020015b60405180910390f35b6100a76101e7565b6040516001600160a01b039091168152602001610096565b6100d26100cd366004612e24565b6101f6565b005b604051601f193601358152602001610096565b6100d26100f5366004612e24565b610749565b6100a761077b565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f6fdd1c8000000000000000000000000000000000000000000000000000000000148061019557507fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee12700000000000000000000000000000000000000000000000000000000145b806101e157507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101f1610785565b905090565b6102207f0000000000000000000000000000000000000000000000000000000000000000826107b7565b600080828060200190518101906102379190612f18565b90925090507f9a8d9cc8cdced28f8a8f8f9a8c0000000000000000000000000000000000000071ffffffffffffffffffffffffffffffffffff198316016102c6576040517f2ca07d8400000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff19831660048201526024015b60405180910390fd5b60006102d061077b565b90506000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316838660405160240161033b9291906001600160a01b0392909216825271ffffffffffffffffffffffffffffffffffff1916602082015260400190565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f472466c2000000000000000000000000000000000000000000000000000000001790525161039e9190612ffb565b600060405180830381855af49150503d80600081146103d9576040519150601f19603f3d011682016040523d82523d6000602084013e6103de565b606091505b5091509150816103f1576103f1816107fc565b6104036103fd86610804565b85610836565b600061040e86610893565b9050600061041c85836108e0565b90507f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000601089901c16176001600160a01b03861663ef5d6bbb8261047d6101e7565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815260048101929092526001600160a01b03166024820152604401600060405180830381600087803b1580156104dc57600080fd5b505af11580156104f0573d6000803e3d6000fd5b505060408051613a3160f11b60208201527f6572633732312d7075707065740000000000000000000000000000000000000060228201527f45524337323152656769737472790000000000000000000000000000000000006030820152610572935001905060405160208183030381529060405261056d90613017565b610bde565b6106bf576040517f6e7300000000000000000000000000000000000000000000000000000000000060208201527f6572633732312d7075707065740000000000000000000000000000000000000060228201526001600160a01b0387169063b29e4089906030016040516020818303038152906040526105f190613017565b6040518263ffffffff1660e01b815260040161060f91815260200190565b600060405180830381600087803b15801561062957600080fd5b505af115801561063d573d6000803e3d6000fd5b505060408051613a3160f11b60208201527f6572633732312d7075707065740000000000000000000000000000000000000060228201527f455243373231526567697374727900000000000000000000000000000000000060308201526106bf93500190506040516020818303038152906040526106ba90613017565b610c6b565b60408051613a3160f11b60208201527f6572633732312d7075707065740000000000000000000000000000000000000060228201527f4552433732315265676973747279000000000000000000000000000000000000603082015261073e910160405160208183030381529060405261073790613017565b8284610cb7565b505050505050505050565b6040517fb6622fc000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006101f1610d77565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806107b45750335b90565b6107c18282610d81565b156107f8576040517f1401206800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b805160208201fd5b60006101e1613a3160f11b837f4d65746164617461000000000000000000000000000000000000000000000000610d9b565b60606000610851836000015184602001518560400151610e21565b9050600061086c846000015185602001518660400151610e4a565b60408051600081526020810190915290915061088b8682868686610e79565b505050505050565b60006101e17f7379000000000000000000000000000000000000000000000000000000000000837f45524337323153797374656d0000000000000000000000000000000000000000610d9b565b604080517f737900000000000000000000000000000000000000000000000000000000000060208201527f707570706574000000000000000000000000000000000000000000000000000060228201527f466163746f72790000000000000000000000000000000000000000000000000060308201526000916001600160a01b03851691633ae7af08910160405160208183030381529060405261098390613017565b6040516024810186905260440160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb9eb8bfb00000000000000000000000000000000000000000000000000000000179052517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152610a20929190600401613067565b6000604051808303816000875af1158015610a3f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a679190810190613080565b806020019051810190610a7a91906130c9565b90506001600160a01b03831663bfdfaff77f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617604080517f737900000000000000000000000000000000000000000000000000000000000060208201527f707570706574000000000000000000000000000000000000000000000000000060228201527f44656c65676174696f6e00000000000000000000000000000000000000000000603082015201604051602081830303815290604052610b5d90613017565b604080516000815260208101918290527fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16909152610ba6929190602481016130f2565b600060405180830381600087803b158015610bc057600080fd5b505af1158015610bd4573d6000803e3d6000fd5b5050505092915050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610c1757610c17613111565b60209081029190910101526000610c577f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b610f2e565b9050610c638160f81c90565b949350505050565b610cb4817e14010014000000000000000000000000000000000000000000000000000000610c97610feb565b610c9f611063565b610ca761109d565b610caf611122565b611199565b50565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610ced57610ced613111565b602002602001018181525050610d718482600085604051602001610d3c919060609190911b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016815260140190565b60408051601f198184030181529190527e14010014000000000000000000000000000000000000000000000000000000611253565b50505050565b60006101f16112c9565b6000610d94838380519060200120611308565b9392505050565b6000610da96070601061313d565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316901c601084901c7dffffffffffffffffffffffffffff00000000000000000000000000000000167fffff0000000000000000000000000000000000000000000000000000000000008616171790509392505050565b6000610c63845184518451608881901b606083901b603885901b85850184011717179392505050565b6060838383604051602001610e6193929190613150565b60405160208183030381529060405290509392505050565b6000610e836112c9565b9050306001600160a01b03821603610ea757610ea286868686866113c2565b61088b565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb90610ef490899089908990899089906004016131cf565b600060405180830381600087803b158015610f0e57600080fd5b505af1158015610f22573d6000803e3d6000fd5b50505050505050505050565b600080610f396112c9565b9050306001600160a01b03821603610f5f57610f57868686866113df565b915050610c63565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990610faa908990899089908990600401613220565b602060405180830381865afa158015610fc7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f57919061324f565b60408051600180825281830190925260009182919060208083019080368337019050509050605f8160008151811061102557611025613111565b602002602001019060c581111561103e5761103e613268565b908160c581111561105157611051613268565b90525061105d8161140c565b91505090565b6040805160018082528183019092526000918291906020808301908036833701905050905060618160008151811061102557611025613111565b604080516001808252818301909252606091816020015b60608152602001906001900390816110b45790505090506040518060400160405280600b81526020017f6e616d65737061636549640000000000000000000000000000000000000000008152508160008151811061111457611114613111565b602002602001018190525090565b604080516001808252818301909252606091816020015b60608152602001906001900390816111395790505090506040518060400160405280600c81526020017f746f6b656e4164647265737300000000000000000000000000000000000000008152508160008151811061111457611114613111565b60006111a36112c9565b9050306001600160a01b038216036111c8576111c38787878787876115c7565b61124a565b6040517f0ba51f490000000000000000000000000000000000000000000000000000000081526001600160a01b03821690630ba51f4990611217908a908a908a908a908a908a906004016132d8565b600060405180830381600087803b15801561123157600080fd5b505af1158015611245573d6000803e3d6000fd5b505050505b50505050505050565b600061125d6112c9565b9050306001600160a01b0382160361127c57610ea28686868686611a1d565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090610ef49089908990899089908990600401613322565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680611303573391505090565b919050565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b8160008151811061134d5761134d613111565b602002602001018181525050828160018151811061136d5761136d613111565b602090810291909101015260006113ad7f7462776f726c64000000000000000000496e7374616c6c65644d6f64756c65738383630101000160d81b610f2e565b90506113b98160f81c90565b95945050505050565b6113d885858585856113d38b611a32565b611ab7565b5050505050565b60006113b96113ee8686611df0565b60ff858116601b0360080285901c166114078587611e46565b611e7f565b6000601c82511115611436578151604051635318beb960e01b81526004016102bd91815260200190565b60008080805b855181101561151157600061147a87838151811061145c5761145c613111565b602002602001015160c581111561147557611475613268565b611ed0565b90508060000361148f576001909201916114c7565b82156114c7576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80840193506008826004601f0303028783815181106114e8576114e8613111565b602002602001015160c581111561150157611501613268565b901b94909417935060010161143c565b50600581111561153757604051635318beb960e01b8152600481018290526024016102bd565b8451819003600861154a60026020613369565b611554919061337c565b83901b93909317926008600161156c60026020613369565b6115769190613369565b611580919061337c565b81901b9390931792600860018061159960026020613369565b6115a39190613369565b6115ad9190613369565b6115b7919061337c565b9190911b92909217949350505050565b613a3160f11b867fffff000000000000000000000000000000000000000000000000000000000000161480159061164057507f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001614155b156116a157613a3160f11b868760405160200161165f91815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526102bd939291600401613393565b6116aa85611f30565b6116b5846001612177565b6116c0836000612177565b60e084901c60e885901c0160ff168251146117205760e084901c60e885901c0160ff1682516040517f0f72cb98000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b60e085901c60e886901c0160ff168151146117805760e085901c60e886901c0160ff1681516040517f7dec4c00000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b60e085901c60e886901c0160ff1660e084901c60e885901c0160ff16146117f85760e085901c60e886901c0160ff1660e084901c60e885901c0160ff166040517ff29d4d88000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b61180185612313565b61180a84612313565b1461185c5761181885612313565b61182184612313565b6040517f65cc0adf000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b61186585612345565b61186e84612345565b146118c05761187c85612345565b61188584612345565b6040517fedea9587000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b60005b6118cc86612313565b811015611962576118f16118e08583612362565b60c581111561147557611475613268565b6008601b8390030287901c60ff161461195a576008601b8290030286901c60ff1661191f6118e08684612362565b6040517f254c7db4000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b6001016118c3565b5061196c86612383565b156119c657858660405160200161198591815260200190565b60408051601f19818403018152908290527fdfaaf9cf0000000000000000000000000000000000000000000000000000000082526102bd9291600401613067565b611a1286868686866040516020016119de91906133d4565b604051602081830303815290604052866040516020016119fe91906133d4565b6040516020818303038152906040526123fc565b61088b8660016124b7565b6113d88585611a2c8487611e46565b8561255d565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d000000000000000000008201611a8157507e60030220202000000000000000000000000000000000000000000000000000919050565b6101e1611aae7f746273746f72650000000000000000005461626c657300000000000000000000846127f8565b60206000611e7f565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001603611b4357857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a986868686604051611b3694939291906133e7565b60405180910390a261088b565b6000611b4e87612814565b905060005b8151811015611c27576000828281518110611b7057611b70613111565b60200260200101519050611b9c6001826affffffffffffffffffffff191661289d90919063ffffffff16565b15611c1e576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90611beb908c908c908c908c908c908c90600401613431565b600060405180830381600087803b158015611c0557600080fd5b505af1158015611c19573d6000803e3d6000fd5b505050505b50600101611b53565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a987878787604051611c5e94939291906133e7565b60405180910390a26000611c728888611df0565b90506000602087019050611c8a8260008951846128bb565b6000611c9585612345565b1115611d19576000611ca78a8a61297a565b878155905060208601915060008060005b611cc188612345565b8160ff161015611d1457611cd68d8d836129d0565b9250611cf18a8260ff166028026038011c64ffffffffff1690565b9150611d0083600084886128bb565b611d0a828661313d565b9450600101611cb8565b505050505b60005b8351811015610f22576000848281518110611d3957611d39613111565b60200260200101519050611d656002826affffffffffffffffffffff191661289d90919063ffffffff16565b15611de7576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90611db4908e908e908e908e908e908e90600401613431565b600060405180830381600087803b158015611dce57600080fd5b505af1158015611de2573d6000803e3d6000fd5b505050505b50600101611d1c565b60008282604051602001611e0592919061348a565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff16811015611e7757611e6d60ff601b83900360080287901c168361313d565b9150600101611e4b565b509392505050565b600060208210611ea557602082048401935060208281611ea157611ea16134c6565b0691505b508254600882021b602082900380841115611e77576001850154600882021c82179150509392505050565b6000808260c5811115611ee557611ee5613268565b60ff1690506061811015611eff57601f1660010192915050565b60618360c5811115611f1357611f13613268565b03611f215750601492915050565b50600092915050565b50919050565b80611f67576040517f220c0f6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611f7282612345565b90506005811115611fb9576040517f7f2372c300000000000000000000000000000000000000000000000000000000815260048101829052600560248201526044016102bd565b6000611fc483612313565b90506000611fd2838361313d565b9050601c811115612019576040517f4a8a06ad00000000000000000000000000000000000000000000000000000000815260048101829052601c60248201526044016102bd565b6000805b838110156120c45760ff601b82900360080287901c166000819003612071576040517f01f2a07c000000000000000000000000000000000000000000000000000000008152600481018390526024016102bd565b60208111156120af576040517f24c85d58000000000000000000000000000000000000000000000000000000008152600481018390526024016102bd565b6120b9818461313d565b92505060010161201d565b506120ce85612a50565b811461211a576120dd85612a50565b6040517f9365944a0000000000000000000000000000000000000000000000000000000081526004810191909152602481018290526044016102bd565b825b601c81101561088b5760ff601b82900360080287901c16801561216e576040517fbb68821a000000000000000000000000000000000000000000000000000000008152600481018390526024016102bd565b5060010161211c565b80158015612183575081155b156121a457604051635318beb960e01b8152600060048201526024016102bd565b60006121af83612345565b905060058111156121d657604051635318beb960e01b8152600481018290526024016102bd565b60006121e184612313565b905060006121ef838361313d565b9050601c81111561221657604051635318beb960e01b8152600481018290526024016102bd565b6000805b838110156122825760006122316118e08984612362565b90508060000361226d576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612277818461313d565b92505060010161221a565b5061228c86612a50565b81146122b75761229b86612a50565b604051635318beb960e01b81526004016102bd91815260200190565b825b8281101561124a5760006122d06118e08984612362565b9050801561230a576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001016122b9565b60006008600161232560026020613369565b61232f9190613369565b612339919061337c565b8260ff911c1692915050565b6000600860018061235860026020613369565b6123259190613369565b6000601b8290036008028360ff911c1660c5811115610d9457610d94613268565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106123bc576123bc613111565b60209081029190910101526000610c577f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b6113df565b6000612409868686612a73565b905060006124178484612a95565b905060006124258585612ab2565b6040805160018082528183019092529192506000919060208083019080368337019050509050898160008151811061245f5761245f613111565b6020908102919091010152610f227f746273746f72650000000000000000005461626c657300000000000000000000828686867e60030220202000000000000000000000000000000000000000000000000000611ab7565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106124ed576124ed613111565b6020026020010181815250506125587f746273746f72650000000000000000005265736f75726365496473000000000060001b8260008560405160200161253b91151560f81b815260010190565b60408051601f19818403018152919052630101000160d81b611a1d565b505050565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff00000000000000000000000000000000000000000000000000000000000016036125e757837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8484846040516125da939291906134dc565b60405180910390a2610d71565b60006125f38585611df0565b9050600061260086612814565b905060005b81518110156126d557600082828151811061262257612622613111565b6020026020010151905061264e6004826affffffffffffffffffffff191661289d90919063ffffffff16565b156126cc576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90612699908b908b908b908b90600401613519565b600060405180830381600087803b1580156126b357600080fd5b505af11580156126c7573d6000803e3d6000fd5b505050505b50600101612605565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161270a939291906134dc565b60405180910390a2612725828565ffffffffffff1685612ade565b60005b815181101561124a57600082828151811061274557612745613111565b602002602001015190506127716008826affffffffffffffffffffff191661289d90919063ffffffff16565b156127ef576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba8721906127bc908b908b908b908b90600401613519565b600060405180830381600087803b1580156127d657600080fd5b505af11580156127ea573d6000803e3d6000fd5b505050505b50600101612728565b6040805160208101849052908101829052600090606001611e05565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061284e5761284e613111565b602090810291909101015260006128867f746273746f726500000000000000000053746f7265486f6f6b730000000000008383612af4565b9050610c636128988260008451612b2e565b612bbc565b60008160ff16826128ae8560581c90565b1660ff1614905092915050565b821561293557602083106128e5576020830484019350602083816128e1576128e16134c6565b0692505b82156129355760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411612926575050610d71565b50600194909401939182900391015b5b602082106129575780518455600190930192601f1990910190602001612936565b8115610d71576000600019600884021c8554835182191691161785555050505050565b6000828260405160200161298f92919061348a565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b600083836040516020016129e592919061348a565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b60006008612a6060026020613369565b612a6a919061337c565b9190911c919050565b6040805160208101859052908101839052606081810183905290608001610e61565b8151815160009181810160389190911b1760609190911b17610d94565b60608282604051602001612ac7929190613552565b604051602081830303815290604052905092915050565b61255883838351612aef8560200190565b6128bb565b6060610c63612b048585856129d0565b6000612b2985612b148989612bcd565b9060ff166028026038011c64ffffffffff1690565b612be0565b600081831180612b3e5750835182115b15612b7b578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016102bd93929190613581565b60208401612b89848261313d565b90506000612b978585613369565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000610d948360156000612c03565b6000610d94612bdc848461297a565b5490565b60405160208101601f19603f8484010116604052828252611e7785858584612c7e565b60606000612c118560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281612c3757612c376134c6565b04905060405193506020840160208202810160405281855260005b82811015612c72578451871c825293870193602090910190600101612c52565b50505050509392505050565b8215612d055760208310612ca857602083048401935060208381612ca457612ca46134c6565b0692505b8215612d05576020839003600081841015612ccb5750600019600884021c612cd5565b50600019600882021c5b8554600886021b818451168219821617845250818411612cf6575050610d71565b50600194909401939182900391015b5b60208210612d275783548152600190930192601f1990910190602001612d06565b8115610d71576000600019600884021c8251865482191691161782525050505050565b600060208284031215612d5c57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610d9457600080fd5b634e487b7160e01b600052604160045260246000fd5b6040516060810167ffffffffffffffff81118282101715612dc557612dc5612d8c565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715612df457612df4612d8c565b604052919050565b600067ffffffffffffffff821115612e1657612e16612d8c565b50601f01601f191660200190565b600060208284031215612e3657600080fd5b813567ffffffffffffffff811115612e4d57600080fd5b8201601f81018413612e5e57600080fd5b8035612e71612e6c82612dfc565b612dcb565b818152856020838501011115612e8657600080fd5b81602084016020830137600091810160200191909152949350505050565b60005b83811015612ebf578181015183820152602001612ea7565b50506000910152565b6000612ed6612e6c84612dfc565b9050828152838383011115612eea57600080fd5b610d94836020830184612ea4565b600082601f830112612f0957600080fd5b610d9483835160208501612ec8565b60008060408385031215612f2b57600080fd5b825171ffffffffffffffffffffffffffffffffffff1981168114612f4e57600080fd5b602084015190925067ffffffffffffffff80821115612f6c57600080fd5b9084019060608287031215612f8057600080fd5b612f88612da2565b825182811115612f9757600080fd5b612fa388828601612ef8565b825250602083015182811115612fb857600080fd5b612fc488828601612ef8565b602083015250604083015182811115612fdc57600080fd5b612fe888828601612ef8565b6040830152508093505050509250929050565b6000825161300d818460208701612ea4565b9190910192915050565b80516020808301519190811015611f2a5760001960209190910360031b1b16919050565b60008151808452613053816020860160208601612ea4565b601f01601f19169290920160200192915050565b828152604060208201526000610c63604083018461303b565b60006020828403121561309257600080fd5b815167ffffffffffffffff8111156130a957600080fd5b8201601f810184136130ba57600080fd5b610c6384825160208401612ec8565b6000602082840312156130db57600080fd5b81516001600160a01b0381168114610d9457600080fd5b8381528260208201526060604082015260006113b9606083018461303b565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b808201808211156101e1576101e1613127565b60008451613162818460208901612ea4565b845190830190613176818360208901612ea4565b8451910190613189818360208801612ea4565b0195945050505050565b60008151808452602080850194506020840160005b838110156131c4578151875295820195908201906001016131a8565b509495945050505050565b85815260a0602082015260006131e860a0830187613193565b82810360408401526131fa818761303b565b90508460608401528281036080840152613214818561303b565b98975050505050505050565b8481526080602082015260006132396080830186613193565b60ff949094166040830152506060015292915050565b60006020828403121561326157600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b60008282518085526020808601955060208260051b8401016020860160005b848110156132cb57601f198684030189526132b983835161303b565b9884019892509083019060010161329d565b5090979650505050505050565b86815285602082015284604082015283606082015260c06080820152600061330360c083018561327e565b82810360a0840152613315818561327e565b9998505050505050505050565b85815260a06020820152600061333b60a0830187613193565b60ff861660408401528281036060840152613356818661303b565b9150508260808301529695505050505050565b818103818111156101e1576101e1613127565b80820281158282048414176101e1576101e1613127565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006113b9606083018461303b565b602081526000610d94602083018461327e565b6080815260006133fa6080830187613193565b828103602084015261340c818761303b565b90508460408401528281036060840152613426818561303b565b979650505050505050565b86815260c06020820152600061344a60c0830188613193565b828103604084015261345c818861303b565b90508560608401528281036080840152613476818661303b565b9150508260a0830152979650505050505050565b8281526000602080830184516020860160005b828110156134b95781518452928401929084019060010161349d565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b6060815260006134ef6060830186613193565b65ffffffffffff85166020840152828103604084015261350f818561303b565b9695505050505050565b8481526080602082015260006135326080830186613193565b65ffffffffffff851660408401528281036060840152613426818561303b565b60008351613564818460208801612ea4565b835190830190613578818360208801612ea4565b01949350505050565b606081526000613594606083018661303b565b6020830194909452506040015291905056fea164736f6c6343000818000a","sourceMap":"1456:1812:142:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;918:308:53;;;;;;:::i;:::-;;:::i;:::-;;;516:14:208;;509:22;491:41;;479:2;464:18;918:308:53;;;;;;;;1196:113:58;;;:::i;:::-;;;-1:-1:-1;;;;;707:55:208;;;689:74;;677:2;662:18;1196:113:58;543:226:208;1642:1523:142;;;;;;:::i;:::-;;:::i;:::-;;1550:110:58;;;-1:-1:-1;;3551:14:58;3547:25;3534:39;2632:25:208;;2620:2;2605:18;1550:110:58;2486:177:208;3169:97:142;;;;;;:::i;:::-;;:::i;1876:98:58:-;;;:::i;918:308:53:-;1042:4;1067:40;;;1082:25;1067:40;;:104;;-1:-1:-1;1117:54:53;;;1132:39;1117:54;1067:104;:154;;;-1:-1:-1;1181:40:53;;;1196:25;1181:40;1067:154;1054:167;918:308;-1:-1:-1;;918:308:53:o;1196:113:58:-;1239:14;1268:36;:34;:36::i;:::-;1261:43;;1196:113;:::o;1642:1523:142:-;1764:40;1784:6;1792:11;1764:19;:40::i;:::-;1831:17;1850:34;1899:11;1888:54;;;;;;;;;;;;:::i;:::-;1830:112;;-1:-1:-1;1830:112:142;-1:-1:-1;2015:29:142;-1:-1:-1;;2015:29:142;;;2011:97;;2061:40;;;;;-1:-1:-1;;4867:79:208;;2061:40:142;;;4849:98:208;4822:18;;2061:40:142;;;;;;;;2011:97;2159:16;2189:8;:6;:8::i;:::-;2159:39;;2205:12;2219:23;2246:19;-1:-1:-1;;;;;2246:32:142;2344:5;2351:9;2286:76;;;;;;;;-1:-1:-1;;;;;5170:55:208;;;;5152:74;;-1:-1:-1;;5262:79:208;5257:2;5242:18;;5235:107;5140:2;5125:18;;4958:390;2286:76:142;;;;-1:-1:-1;;2286:76:142;;;;;;;;;;;;;;;;;;;;2246:122;;;2286:76;2246:122;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2204:164;;;;2379:7;2374:41;;2388:27;2404:10;2388:15;:27::i;:::-;2453:57;2472:27;2489:9;2472:16;:27::i;:::-;2501:8;2453:18;:57::i;:::-;2563:25;2591:26;2607:9;2591:15;:26::i;:::-;2563:54;;2623:14;2640:35;2653:5;2660:14;2640:12;:35::i;:::-;2623:52;-1:-1:-1;1531:18:59;1554:33;385:5:15;1554:33:59;;;;1523:65;-1:-1:-1;;;;;2815:23:142;;;1523:65:59;2852:12:142;:10;:12::i;:::-;2815:50;;;;;;;;;;;;;5850:25:208;;;;-1:-1:-1;;;;;5911:55:208;5891:18;;;5884:83;5823:18;;2815:50:142;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;912:77:150;;;-1:-1:-1;;;912:77:150;;;6161:92:208;945:16:150;6269:11:208;;;6262:100;963:25:150;6378:12:208;;;6371:101;2925:47:142;;-1:-1:-1;6488:12:208;;-1:-1:-1;912:77:150;;;;;;;;;;;;904:86;;;:::i;:::-;2925:21:142;:47::i;:::-;2920:170;;427:54:150;;444:18;427:54;;;7028:92:208;464:16:150;7136:11:208;;;7129:100;-1:-1:-1;;;;;2982:23:142;;;;;7245:12:208;;427:54:150;;;;;;;;;;;;419:63;;;:::i;:::-;2982:44:142;;;;;;;;;;;;;2632:25:208;;2620:2;2605:18;;2486:177;2982:44:142;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;912:77:150;;;-1:-1:-1;;;912:77:150;;;6161:92:208;945:16:150;6269:11:208;;;6262:100;963:25:150;6378:12:208;;;6371:101;3034:49:142;;-1:-1:-1;6488:12:208;;-1:-1:-1;912:77:150;;;;;;;;;;;;904:86;;;:::i;:::-;3034:23:142;:49::i;:::-;912:77:150;;;-1:-1:-1;;;912:77:150;;;6161:92:208;945:16:150;6269:11:208;;;6262:100;963:25:150;6378:12:208;;;6371:101;3095:65:142;;6488:12:208;912:77:150;;;;;;;;;;;;904:86;;;:::i;:::-;3140:11:142;3153:6;3095:18;:65::i;:::-;1692:1473;;;;;;;;1642:1523;:::o;3169:97::-;3229:32;;;;;;;;;;;;;;1876:98:58;1915:7;1937:32;:30;:32::i;2743:383::-;3029:34;3033:14;3029:34;3016:48;3010:4;3006:59;;3076:45;;-1:-1:-1;3111:10:58;3076:45;2743:383;:::o;1924:194:53:-;2026:39;2038:13;2053:11;2026;:39::i;:::-;2022:92;;;2082:25;;;;;;;;;;;;;;2022:92;1924:194;;:::o;501:217:96:-;704:6;698:13;691:4;683:6;679:17;672:40;709:181:158;768:10;791:96;-1:-1:-1;;;854:9:158;871:13;791:25;:96::i;18300:443:152:-;18383:24;18413:29;18445:57;18459:6;:11;;;18472:6;:13;;;18487:6;:14;;;18445:13;:57::i;:::-;18413:89;;18508:25;18536:57;18550:6;:11;;;18563:6;:13;;;18578:6;:14;;;18536:13;:57::i;:::-;18629:16;;;18600:26;18629:16;;;;;;;;18508:85;;-1:-1:-1;18652:86:152;18674:8;18629:16;18695:11;18708:15;18508:85;18652:21;:86::i;:::-;18377:366;;;;18300:443;;:::o;1649:186:158:-;1707:10;1730:102;1766:15;1794:9;1811:18;1730:25;:102::i;799:322:179:-;740:64:178;;;757:15;740:64;;;6161:92:208;405:17:178;6269:11:208;;;6262:100;785:18:178;6378:12:208;;;6371:101;869:14:179;;-1:-1:-1;;;;;914:10:179;;;;;6488:12:208;740:64:178;;;;;;;;;;;;732:73;;;:::i;:::-;941:60:179;;;;;2632:25:208;;;2605:18;;941:60:179;;;-1:-1:-1;;941:60:179;;;;;;;;;;;;;;;;;;;;914:88;;941:60;914:88;;;;;;;;;941:60;914:88;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;914:88:179;;;;;;;;;;;;:::i;:::-;898:123;;;;;;;;;;;;:::i;:::-;889:132;-1:-1:-1;;;;;;1025:33:179;;;816:18:99;578:36:59;2820:46;;2819:74;603:67:178;;;620:15;603:67;;;6161:92:208;405:17:178;6269:11:208;;;6262:100;648:21:178;6378:12:208;;;6371:101;6488:12;603:67:178;;;;;;;;;;;;595:76;;;:::i;:::-;1105:12:179;;;1115:1;1105:12;;;;;;;;;1025:93;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;799:322;;;;:::o;3232:315:26:-;3345:16;;;3359:1;3345:16;;;;;;;;;3297:11;;;;3345:16;;;;;;;;;;;;-1:-1:-1;3345:16:26;3316:45;;3400:10;3367:9;3377:1;3367:12;;;;;;;;:::i;:::-;;;;;;;;;;:44;3418:13;3434:64;1076:66;3471:9;3418:13;-1:-1:-1;;;3434:26:26;:64::i;:::-;3418:80;;3512:29;3533:5;3520:20;;7897:5;7811:97;3512:29;3504:38;3232:315;-1:-1:-1;;;;3232:315:26:o;2724:174:153:-;2778:115;2804:8;1147:66;2828:14;:12;:14::i;:::-;2844:16;:14;:16::i;:::-;2862:13;:11;:13::i;:::-;2877:15;:13;:15::i;:::-;2778:25;:115::i;:::-;2724:174;:::o;5452:301::-;5576:16;;;5590:1;5576:16;;;;;;;;;5547:26;;5576:16;;;;;;;;;;;-1:-1:-1;5576:16:153;5547:45;;5631:11;5598:9;5608:1;5598:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5650:98;5677:8;5687:9;5698:1;5719:12;5701:32;;;;;;;9692:2:208;9688:15;;;;9705:66;9684:88;9672:101;;9798:2;9789:12;;9543:264;5701:32:153;;;;-1:-1:-1;;5701:32:153;;;;;;;;;1147:66;5650:26;:98::i;:::-;5541:212;5452:301;;;:::o;3799:97:58:-;3840:7;3862:29;:27;:29::i;1513:176:53:-;1606:4;1625:59;1646:13;1671:11;1661:22;;;;;;1625:20;:59::i;:::-;1618:66;1513:176;-1:-1:-1;;;1513:176:53:o;980:257:59:-;1067:10;1196:26;438:6;385:5:15;1196:26:59;:::i;:::-;1178:13;;;:45;;385:5:15;1142:31:59;;;;;1123:15;;;:51;:101;;-1:-1:-1;980:257:59;;;;;:::o;21174:384:152:-;21301:29;21461:86;21489:4;21483:18;21509:6;21503:20;21531:7;21525:21;3386:23:14;3371:39;;;3320:23;3305:39;;;834:16;3239:39;;;3204:5;;;:9;;3221:58;3287;3353;3052:425;;;;;;21723:225:152;21850:12;21901:4;21916:6;21933:7;21877:66;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;21870:73;;21723:225;;;;;:::o;6388:479:23:-;6574:21;6598:17;:15;:17::i;:::-;6574:41;-1:-1:-1;6650:4:23;-1:-1:-1;;;;;6625:30:23;;;6621:242;;6665:79;6685:7;6694:8;6704:10;6716:14;6732:11;6665:19;:79::i;:::-;6621:242;;;6765:91;;;;;-1:-1:-1;;;;;6765:31:23;;;;;:91;;6797:7;;6806:8;;6816:10;;6828:14;;6844:11;;6765:91;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6568:299;6388:479;;;;;:::o;17702:457::-;17859:7;17874:21;17898:17;:15;:17::i;:::-;17874:41;-1:-1:-1;17950:4:23;-1:-1:-1;;;;;17925:30:23;;;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:23;;;;;:80;;18105:7;;18114:8;;18124:10;;18136:11;;18068:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;1567:200:153:-;1661:19;;;1678:1;1661:19;;;;;;;;;1614:6;;;;1661:19;;;;;;;;;;;;-1:-1:-1;1661:19:153;1628:52;;1702:18;1686:10;1697:1;1686:13;;;;;;;;:::i;:::-;;;;;;:34;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;1734:28:153;1751:10;1734:16;:28::i;:::-;1727:35;;;1567:200;:::o;1884:208::-;1982:19;;;1999:1;1982:19;;;;;;;;;1933:6;;;;1982:19;;;;;;;;;;;;-1:-1:-1;1982:19:153;1947:54;;2025:18;2007:12;2020:1;2007:15;;;;;;;;:::i;2226:142::-;2315:15;;;2328:1;2315:15;;;;;;;;;2272:24;;2315:15;;;;;;;;;;;;;;;;;;;;2304:26;;2336:27;;;;;;;;;;;;;;;;;:8;2345:1;2336:11;;;;;;;;:::i;:::-;;;;;;:27;;;;2226:142;:::o;2508:151::-;2603:15;;;2616:1;2603:15;;;;;;;;;2556:26;;2603:15;;;;;;;;;;;;;;;;;;;;2590:28;;2624:30;;;;;;;;;;;;;;;;;:10;2635:1;2624:13;;;;;;;;:::i;5574:520:23:-;5777:21;5801:17;:15;:17::i;:::-;5777:41;-1:-1:-1;5853:4:23;-1:-1:-1;;;;;5828:30:23;;;5824:266;;5868:91;5892:7;5901:11;5914:9;5925:11;5938:8;5948:10;5868:23;:91::i;:::-;5824:266;;;5980:103;;;;;-1:-1:-1;;;;;5980:35:23;;;;;:103;;6016:7;;6025:11;;6038:9;;6049:11;;6062:8;;6072:10;;5980:103;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5824:266;5771:323;5574:520;;;;;;:::o;10690:455::-;10862:21;10886:17;:15;:17::i;:::-;10862:41;-1:-1:-1;10938:4:23;-1:-1:-1;;;;;10913:30:23;;;10909:232;;10953:74;10978:7;10987:8;10997:10;11009:4;11015:11;10953:24;:74::i;10909:232::-;11048:86;;;;;-1:-1:-1;;;;;11048:36:23;;;;;:86;;11085:7;;11094:8;;11104:10;;11116:4;;11122:11;;11048:86;;;:::i;1766:227::-;996:42;1855:22;1816:7;;-1:-1:-1;;;;;1855:22:23;;1883:106;;1931:10;1924:17;;;1766:227;:::o;1883:106::-;1969:13;1766:227;-1:-1:-1;1766:227:23:o;4313:382:72:-;4448:16;;;4462:1;4448:16;;;;;;;;4395;;;;4448;4462:1;4448:16;;;;;;;;;;-1:-1:-1;4448:16:72;4419:45;;4509:13;-1:-1:-1;;;;;4493:31:72;4485:40;;4470:9;4480:1;4470:12;;;;;;;;:::i;:::-;;;;;;:55;;;;;4546:13;4531:9;4541:1;4531:12;;;;;;;;:::i;:::-;;;;;;;;;;:28;4566:13;4582:64;1182:66;4619:9;4566:13;-1:-1:-1;;;4582:26:72;:64::i;:::-;4566:80;;4660:29;4681:5;4668:20;;7897:5:26;7811:97;4660:29:72;4652:38;4313:382;-1:-1:-1;;;;;4313:382:72:o;14260:285:19:-;14446:94;14456:7;14465:8;14475:10;14487:14;14503:11;14516:23;14531:7;14516:14;:23::i;:::-;14446:9;:94::i;:::-;14260:285;;;;;:::o;38300:541::-;38457:7;38594:242;38638:59;38679:7;38688:8;38638:40;:59::i;:::-;38715:31;;;;4479:19:3;:27;537:1:29;4478:44:3;4444:79;;;4431:93;38764:63:19;38803:11;38816:10;38764:38;:63::i;:::-;38594:17;:242::i;1247:2059:16:-;1315:6;647:2:29;1333:7:16;:14;:33;1329:85;;;1399:7;:14;1375:39;;-1:-1:-1;;;1375:39:16;;;;;;2632:25:208;;2620:2;2605:18;;2486:177;1329:85:16;1420:14;;;;1621:956;1645:7;:14;1641:1;:18;1621:956;;;1671:24;1698:32;:7;1706:1;1698:10;;;;;;;;:::i;:::-;;;;;;;:30;;;;;;;;:::i;:::-;;:32::i;:::-;1671:59;;1743:16;1763:1;1743:21;1739:404;;1928:15;;;;;1739:404;;;1972:17;;1968:175;;2096:38;;;;;;;;;;;;;;1968:175;2269:16;2254:31;;;;537:1:29;2531::16;2527;437:2:29;2509:19:16;:23;2508:40;2492:7;2500:1;2492:10;;;;;;;;:::i;:::-;;;;;;;2484:19;;;;;;;;:::i;:::-;:65;;2474:75;;;;;-1:-1:-1;2559:3:16;;1621:956;;;;902:1:29;2621:13:16;:34;2617:85;;;2664:38;;-1:-1:-1;;;2664:38:16;;;;;2632:25:208;;;2605:18;;2664:38:16;2486:177:208;2617:85:16;2802:14;;:30;;;537:1:29;1247:13;1259:1;334:2;1247:13;:::i;:::-;1246:30;;;;:::i;:::-;3090:41:16;;;3080:51;;;;;537:1:29;1425;1409:13;1421:1;334:2;1409:13;:::i;:::-;:17;;;;:::i;:::-;1408:34;;;;:::i;:::-;3147:47:16;;;3137:57;;;;;537:1:29;1597;;1577:13;1589:1;334:2;1577:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1576:38;;;;:::i;:::-;3210:49:16;;;;3200:59;;;;;1247:2059;-1:-1:-1;;;;1247:2059:16:o;9344:2432:19:-;-1:-1:-1;;;9604:7:19;:35;;;;;;:83;;-1:-1:-1;9664:23:19;9643:7;:44;;;;9604:83;9600:196;;;-1:-1:-1;;;9746:7:19;9779;9762:25;;;;;;15751:19:208;;15795:2;15786:12;;15591:213;9762:25:19;;;;-1:-1:-1;;9762:25:19;;;;;;;;;;9704:85;;;;;;;;;;:::i;9600:196::-;9842:22;:11;:20;:22::i;:::-;9905:40;:9;9938:4;9905:18;:40::i;:::-;9951:43;:11;9986:5;9951:20;:43::i;:::-;1576:38:29;5165:60:16;;;1408:34:29;5088:59:16;;;5082:144;5067:159;;10082:8:19;:15;:40;10078:135;;1576:38:29;5165:60:16;;;1408:34:29;5088:59:16;;;5082:144;5067:159;;10190:15:19;;10139:67;;;;;;;;16451:25:208;;;;16492:18;;;16485:34;16424:18;;10139:67:19;16277:248:208;10078:135:19;1576:38:29;5165:60:16;;;1408:34:29;5088:59:16;;;5082:144;5067:159;;10263:10:19;:17;:44;10259:145;;1576:38:29;5165:60:16;;;1408:34:29;5088:59:16;;;5082:144;5067:159;;10379:17:19;;10324:73;;;;;;;;16451:25:208;;;;16492:18;;;16485:34;16424:18;;10324:73:19;16277:248:208;10259:145:19;1576:38:29;5165:60:16;;;1408:34:29;5088:59:16;;;5082:144;5067:159;;1576:38:29;5165:60:16;;;1408:34:29;5088:59:16;;;5082:144;5067:159;;10461:50:19;10457:158;;1576:38:29;5165:60:16;;;1408:34:29;5088:59:16;;;5082:144;5067:159;;1576:38:29;5165:60:16;;;1408:34:29;5088:59:16;;;5082:144;5067:159;;10528:80:19;;;;;;;;16451:25:208;;;;16492:18;;;16485:34;16424:18;;10528:80:19;16277:248:208;10457:158:19;10657:29;:11;:27;:29::i;:::-;10624;:11;:27;:29::i;:::-;:62;10620:188;;10740:29;:11;:27;:29::i;:::-;10771;:11;:27;:29::i;:::-;10703:98;;;;;;;;16451:25:208;;;;16492:18;;;16485:34;16424:18;;10703:98:19;16277:248:208;10620:188:19;10851:30;:11;:28;:30::i;:::-;10817;:11;:28;:30::i;:::-;:64;10813:193;;10936:30;:11;:28;:30::i;:::-;10968;:11;:28;:30::i;:::-;10898:101;;;;;;;;16451:25:208;;;;16492:18;;;16485:34;16424:18;;10898:101:19;16277:248:208;10813:193:19;11103:9;11098:271;11118:29;:11;:27;:29::i;:::-;11114:1;:33;11098:271;;;11192:44;:22;:11;11212:1;11192:19;:22::i;:::-;:42;;;;;;;;:::i;:44::-;537:1:29;4479:19:3;:27;;;4478:44;4444:79;;;4431:93;;11166:70:19;11162:201;;537:1:29;4479:19:3;:27;;;4478:44;4444:79;;;4431:93;;11309:44:19;:22;:11;11329:1;11309:19;:22::i;:44::-;11255:99;;;;;;;;16451:25:208;;;;16492:18;;;16485:34;16424:18;;11255:99:19;16277:248:208;11162:201:19;11149:3;;11098:271;;;;11431:31;11454:7;11431:22;:31::i;:::-;11427:127;;;11504:7;11537;11520:25;;;;;;15751:19:208;;15795:2;15786:12;;15591:213;11520:25:19;;;;-1:-1:-1;;11520:25:19;;;;;;;;;;11479:68;;;;;;;;;:::i;11427:127::-;11595:103;11607:7;11616:11;11629:9;11640:11;11664:8;11653:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;11686:10;11675:22;;;;;;;;:::i;:::-;;;;;;;;;;;;;11595:11;:103::i;:::-;11734:37;11757:7;11766:4;11734:22;:37::i;25267:355::-;25439:178;25473:7;25498:8;25528:63;25567:11;25580:10;25528:38;:63::i;:::-;25606:4;25439:16;:178::i;6749:651::-;6816:11;7052:62;;;7048:112;;-1:-1:-1;1343:66:28;;6749:651:19;-1:-1:-1;6749:651:19:o;7048:112::-;7204:183;7250:83;1171:66:28;7324:7:19;7250:40;:83::i;:::-;7353:2;7375:1;7204:17;:183::i;15405:3138::-;15699:23;15678:7;:44;;;15674:198;;15792:7;15776:75;15801:8;15811:10;15823:14;15839:11;15776:75;;;;;;;;;:::i;:::-;;;;;;;;15859:7;;15674:198;16010:22;16035:24;16051:7;16035:15;:24::i;:::-;16010:49;;16070:9;16065:340;16085:5;:12;16081:1;:16;16065:340;;;16112:9;16134:5;16140:1;16134:8;;;;;;;;:::i;:::-;;;;;;;16112:31;;16155:33;343:6:32;16155:4:19;:14;;;;;:33;;;;:::i;:::-;16151:248;;;16200:190;;;;;3404:35:4;;;;;16200:47:19;;:190;;16259:7;;16278:8;;16298:10;;16320:14;;16346:11;;16369;;16200:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16151:248;-1:-1:-1;16099:3:19;;16065:340;;;;16469:7;16453:75;16478:8;16488:10;16500:14;16516:11;16453:75;;;;;;;;;:::i;:::-;;;;;;;;16592:26;16621:59;16662:7;16671:8;16621:40;:59::i;:::-;16592:88;-1:-1:-1;16686:21:19;828:4:13;818:15;;16686:54:19;;16746:149;16784:18;16818:1;16835:10;:17;16875:13;16746;:149::i;:::-;16995:1;16962:30;:11;:28;:30::i;:::-;:34;16958:1174;;;17081:33;17117:66;17165:7;17174:8;17117:47;:66::i;:::-;629:28:18;;;17081:102:19;-1:-1:-1;828:4:13;818:15;;17357:47:19;;17513:27;17548:25;17586:7;17581:545;17599:30;:11;:28;:30::i;:::-;17595:1;:34;;;17581:545;;;17665:63;17707:7;17716:8;17726:1;17665:41;:63::i;:::-;17643:85;-1:-1:-1;17758:25:19;:14;17781:1;6801:16:14;;922;6801;834;6790:27;6750:68;6728:92;;;6613:218;17758:25:19;17738:45;;17793:170;17835:19;17874:1;17895:17;17939:13;17793;:170::i;:::-;17973:34;17990:17;17973:34;;:::i;:::-;;-1:-1:-1;18104:3:19;;17581:545;;;;16998:1134;;;16958:1174;18206:9;18201:338;18221:5;:12;18217:1;:16;18201:338;;;18248:9;18270:5;18276:1;18270:8;;;;;;;;:::i;:::-;;;;;;;18248:31;;18291:32;437:6:32;18291:4:19;:14;;;;;:32;;;;:::i;:::-;18287:246;;;18335:189;;;;;3404:35:4;;;;;18335:46:19;;:189;;18393:7;;18412:8;;18432:10;;18454:14;;18480:11;;18503;;18335:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18287:246;-1:-1:-1;18235:3:19;;18201:338;;52798:191;52900:7;52964;52973:8;52947:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;52947:35:19;;;;;;;;;52937:46;;52947:35;52937:46;;;;44397:22;52930:53;;52798:191;-1:-1:-1;;;52798:191:19:o;53815:242::-;53911:7;;;53950:84;53970:10;53966:14;;:1;:14;53950:84;;;53995:32;4431:93:3;4479:19;:27;;;537:1:29;4478:44:3;4444:79;;;4431:93;53995:32:19;;:::i;:::-;;-1:-1:-1;53982:3:19;;53950:84;;;-1:-1:-1;54046:6:19;53815:242;-1:-1:-1;;;53815:242:19:o;8879:812:18:-;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:18;;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;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;6774:1658:3:-;6457:45;6837:86;;6879:37;;;;;;;;;;;;;;6837:86;6929:25;6957:30;:11;:28;:30::i;:::-;6929:58;;902:1:29;6997:17:3;:38;6993:155;;;7052:89;;;;;;;;16451:25:208;;;902:1:29;16492:18:208;;;16485:34;16424:18;;7052:89:3;16277: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:29;7288:15:3;:34;7284:140;;;7339:78;;;;;;;;16451:25:208;;;647:2:29;16492:18:208;;;16485:34;16424:18;;7339:78:3;16277: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:29;4478:44:3;4444:79;;;4431:93;7545:24;7606:21;;;7602:232;;7646:51;;;;;;;;2632:25:208;;;2605:18;;7646:51:3;2486:177:208;7602:232:3;334:2:29;7716:16:3;:28;7712:122;;;7763:62;;;;;;;;2632:25:208;;;2605:18;;7763:62:3;2486: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;;;;;;;;16451:25:208;;;;16492:18;;;16485:34;;;16424:18;;8038:104:3;16277:248:208;7966:183:3;8205:16;8188:240;647:2:29;8223:1:3;:20;8188:240;;;4431:93;4479:19;:27;;;537:1:29;4478:44:3;4444:79;;;4431:93;8319:21;;8315:107;;8359:54;;;;;;;;2632:25:208;;;2605:18;;8359:54:3;2486:177:208;8315:107:3;-1:-1:-1;8245:3:3;;8188:240;;5689:1629:16;5796:10;5795:11;:31;;;;-1:-1:-1;6457:45:3;;5810:16:16;5791:80;;;5835:36;;-1:-1:-1;;;5835:36:16;;5869:1;5835:36;;;2632:25:208;2605:18;;5835:36:16;2486:177:208;5791:80:16;5934:25;5962;:6;:23;:25::i;:::-;5934:53;;902:1:29;5997:17:16;:38;5993:103;;;6044:52;;-1:-1:-1;;;6044:52:16;;;;;2632:25:208;;;2605:18;;6044:52:16;2486:177:208;5993:103:16;6103:24;6130;:6;:22;:24::i;:::-;6103:51;-1:-1:-1;6224:23:16;6250:36;6269:17;6103:51;6250:36;:::i;:::-;6224:62;;647:2:29;6296:15:16;:34;6292:97;;;6339:50;;-1:-1:-1;;;6339:50:16;;;;;2632:25:208;;;2605:18;;6339:50:16;2486:177:208;6292:97:16;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:16;;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:16;;;;;;2632:25:208;;2620:2;2605:18;;2486:177;6837:134:16;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:16;;7169:100;;7212:48;;;;;;;;;;;;;;7169:100;-1:-1:-1;7296:3:16;;7029:285;;5135:171:3;5208:7;537:1:29;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:29;1597;;1577:13;1589:1;334:2;1577:13;:::i;:::-;:17;;;;:::i;3948:206:16:-;4018:10;4108:19;:27;;;4139:1;4107:33;4086:6;4061:82;4078:63;;4061:82;;;;;;;;;:::i;3588:314:26:-;3702:16;;;3716:1;3702:16;;;;;;;;;3654:11;;;;3702:16;;;;;;;;;;;;-1:-1:-1;3702:16:26;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:26;:62::i;20651:676:28:-;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:28;;21154:16;;;;;;;;;;;;-1:-1:-1;21154:16:28;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;4952:268:26:-;5052:16;;;5066:1;5052:16;;;;;;;;;5023:26;;5052:16;;;;;;;;;;;-1:-1:-1;5052:16:26;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;;;;;;19907:14:208;19900:22;19895:3;19891:32;19879:45;;19949:1;19940:11;;19756:201;5174:26:26;;;;-1:-1:-1;;5174:26:26;;;;;;;;;-1:-1:-1;;;5125:24:26;:90::i;:::-;5017:203;4952:268;;:::o;19179:1676:19:-;19379:23;19358:7;:44;;;19354:232;;19509:7;19465:100;19528:8;19545:5;19558:4;19465:100;;;;;;;;:::i;:::-;;;;;;;;19573:7;;19354:232;19592:16;19611:59;19652:7;19661:8;19611:40;:59::i;:::-;19592:78;;19816:22;19841:24;19857:7;19841:15;:24::i;:::-;19816:49;;19876:9;19871:328;19891:5;:12;19887:1;:16;19871:328;;;19918:9;19940:5;19946:1;19940:8;;;;;;;;:::i;:::-;;;;;;;19918:31;;19961:41;548:6:32;19961:4:19;:14;;;;;:41;;;;:::i;:::-;19957:236;;;20014:170;;;;;3404:35:4;;;;;20014:54:19;;:170;;20090:7;;20119:8;;20146:5;;20169:4;;20014:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19957:236;-1:-1:-1;19905:3:19;;19871:328;;;;20300:7;20256:100;20319:8;20336:5;20349:4;20256:100;;;;;;;;:::i;:::-;;;;;;;;20406:70;20438:8;20456:5;20406:70;;20469:4;20406:13;:70::i;:::-;20530:9;20525:326;20545:5;:12;20541:1;:16;20525:326;;;20572:9;20594:5;20600:1;20594:8;;;;;;;;:::i;:::-;;;;;;;20572:31;;20615:40;657:6:32;20615:4:19;:14;;;;;:40;;;;:::i;:::-;20611:234;;;20667:169;;;;;3404:35:4;;;;;20667:53:19;;:169;;20742:7;;20771:8;;20798:5;;20821:4;;20667:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20611:234;-1:-1:-1;20559:3:19;;20525:326;;53241:282;53486:30;;;;;;21286:19:208;;;21321:12;;;21314:28;;;53329:7:19;;21358:12:208;;53486:30:19;21098:278:208;4391:342:27;4507:16;;;4521:1;4507:16;;;;;;;;;4448:22;;4478:26;;4507:16;;;;;;;;;;;;-1:-1:-1;4507:16:27;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;:::-;4577:70;;4661:66;:44;4682:5;4689:1;4692:5;:12;4661:20;:44::i;:::-;:64;:66::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;1423:2340:18:-;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:29;738:25:31;;716:48;2142:18:18;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:18;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:18;;;;3280:2;3263:19;3066:253;;;3387:10;;3383:376;;3407:12;-1:-1:-1;;537:1:29;738:25:31;;716:48;3695:21:18;;3606:20;;3628:9;;3602:36;3691:32;;3551:184;3507:238;;-1:-1:-1;1423:2340:18;;;;:::o;55363:230:19:-;55484:7;55568;55577:8;55551:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;55551:35:19;;;;;;;;;55541:46;;55551:35;55541:46;;;;44560:40;55514:73;;55363:230;-1:-1:-1;;;55363:230:19:o;54734:274::-;54878:7;54983;54992:8;54966:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;54956:46;;;;;;54935:17;54928:25;;54908:45;;;44469:34;54908:45;:94;54900:103;;54893:110;;54734:274;;;;;:::o;4754:171:3:-;4828:7;537:1:29;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:28:-;25205:53;;;;;;21651:19:208;;;21686:12;;;21679:28;;;25178:12:28;21723::208;;;21716:28;;;25178:12:28;21760::208;;25205:53:28;21381:397:208;25454:388:28;25762:32;;25796:34;;25580:29;;2444:5:14;;;834:16;2475:39;;;;2457:58;2556:23;2541:39;;;;2523:58;25740:91:28;2303:344:14;26007:234:28;26133:12;26184:18;26213:20;26160:76;;;;;;;;;:::i;:::-;;;;;;;;;;;;;26153:83;;26007:234;;;;:::o;900:162:18:-;989:68;995:14;1011:6;1019:4;:11;1032:24;1051:4;828::13;818:15;;692:151;1032:24:18;989:5;:68::i;39309:522:19:-;39445:12;39569:257;39608:79;39650:7;39659:8;39669:17;39608:41;:79::i;:::-;39705:1;39724:93;39799:17;39724:66;39772:7;39781:8;39724:47;:66::i;:::-;:74;6801:16:14;;922;6801;834;6790:27;6750:68;6728:92;;;6613:218;39724:93:19;39569:12;:257::i;1954:561:17:-;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:17;2358:11;2364:5;2358:3;:11;:::i;:::-;643:17;2493:15;2485:3;2474:14;;;;2473:36;;;;;;-1:-1:-1;;;;;1954:561:17:o;40037:220:34:-;40103:24;40135:30;40168:32;40186:6;40194:2;40198:1;40168:17;:32::i;55931:301:19:-;56052:13;56144:82;56175:48;56205:7;56214:8;56175:29;:48::i;:::-;4645:21:18;;4539:137;4976:669;5392:4;5386:11;5433:4;5421:17;;-1:-1:-1;;5307:16:18;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:17;2847:25;;2773:104;2789:21:36;2765:45;-1:-1:-1;643:17:17;3110:38;;2816:20:36;2978:11;3110:38:17;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;6010:2380:18:-;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:29;738:25:31;;716:48;6740:135:18;;;-1:-1:-1;;;537:1:29;738:25:31;;716:48;6740:135:18;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:18;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:18;;;;7908:2;7891:19;7694:253;;;8015:10;;8011:375;;8035:12;-1:-1:-1;;537:1:29;738:25:31;;716:48;8323:20:18;;8233:21;;8256:9;;8229:37;8319:31;;8178:184;8135:237;;-1:-1:-1;6010:2380:18;;;;:::o;14:332:208:-;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;230:66;223:5;219:78;212:5;209:89;199:117;;312:1;309;302:12;774:184;-1:-1:-1;;;823:1:208;816:88;923:4;920:1;913:15;947:4;944:1;937:15;963:253;1035:2;1029:9;1077:4;1065:17;;1112:18;1097:34;;1133:22;;;1094:62;1091:88;;;1159:18;;:::i;:::-;1195:2;1188:22;963:253;:::o;1221:334::-;1292:2;1286:9;1348:2;1338:13;;-1:-1:-1;;1334:86:208;1322:99;;1451:18;1436:34;;1472:22;;;1433:62;1430:88;;;1498:18;;:::i;:::-;1534:2;1527:22;1221:334;;-1:-1:-1;1221:334:208:o;1560:245::-;1608:4;1641:18;1633:6;1630:30;1627:56;;;1663:18;;:::i;:::-;-1:-1:-1;1720:2:208;1708:15;-1:-1:-1;;1704:88:208;1794:4;1700:99;;1560:245::o;1810:671::-;1878:6;1931:2;1919:9;1910:7;1906:23;1902:32;1899:52;;;1947:1;1944;1937:12;1899:52;1987:9;1974:23;2020:18;2012:6;2009:30;2006:50;;;2052:1;2049;2042:12;2006:50;2075:22;;2128:4;2120:13;;2116:27;-1:-1:-1;2106:55:208;;2157:1;2154;2147:12;2106:55;2193:2;2180:16;2218:48;2234:31;2262:2;2234:31;:::i;:::-;2218:48;:::i;:::-;2289:2;2282:5;2275:17;2329:7;2324:2;2319;2315;2311:11;2307:20;2304:33;2301:53;;;2350:1;2347;2340:12;2301:53;2405:2;2400;2396;2392:11;2387:2;2380:5;2376:14;2363:45;2449:1;2428:14;;;2444:2;2424:23;2417:34;;;;2432:5;1810:671;-1:-1:-1;;;;1810:671:208:o;2668:250::-;2753:1;2763:113;2777:6;2774:1;2771:13;2763:113;;;2853:11;;;2847:18;2834:11;;;2827:39;2799:2;2792:10;2763:113;;;-1:-1:-1;;2910:1:208;2892:16;;2885:27;2668:250::o;2923:321::-;2999:5;3028:52;3044:35;3072:6;3044:35;:::i;3028:52::-;3019:61;;3103:6;3096:5;3089:21;3143:3;3134:6;3129:3;3125:16;3122:25;3119:45;;;3160:1;3157;3150:12;3119:45;3173:65;3231:6;3224:4;3217:5;3213:16;3208:3;3173:65;:::i;3249:237::-;3303:5;3356:3;3349:4;3341:6;3337:17;3333:27;3323:55;;3374:1;3371;3364:12;3323:55;3396:84;3476:3;3467:6;3461:13;3454:4;3446:6;3442:17;3396:84;:::i;3491:1207::-;3607:6;3615;3668:2;3656:9;3647:7;3643:23;3639:32;3636:52;;;3684:1;3681;3674:12;3636:52;3716:9;3710:16;-1:-1:-1;;3759:5:208;3755:78;3748:5;3745:89;3735:117;;3848:1;3845;3838:12;3735:117;3920:2;3905:18;;3899:25;3871:5;;-1:-1:-1;3943:18:208;3973:14;;;3970:34;;;4000:1;3997;3990:12;3970:34;4023:22;;;;4079:4;4061:16;;;4057:27;4054:47;;;4097:1;4094;4087:12;4054:47;4125:22;;:::i;:::-;4178:2;4172:9;4206:2;4196:8;4193:16;4190:36;;;4222:1;4219;4212:12;4190:36;4251:56;4299:7;4288:8;4284:2;4280:17;4251:56;:::i;:::-;4242:7;4235:73;;4347:2;4343;4339:11;4333:18;4376:2;4366:8;4363:16;4360:36;;;4392:1;4389;4382:12;4360:36;4430:56;4478:7;4467:8;4463:2;4459:17;4430:56;:::i;:::-;4425:2;4416:7;4412:16;4405:82;;4526:2;4522;4518:11;4512:18;4555:2;4545:8;4542:16;4539:36;;;4571:1;4568;4561:12;4539:36;4609:56;4657:7;4646:8;4642:2;4638:17;4609:56;:::i;:::-;4604:2;4595:7;4591:16;4584:82;;4685:7;4675:17;;;;;3491:1207;;;;;:::o;5353:287::-;5482:3;5520:6;5514:13;5536:66;5595:6;5590:3;5583:4;5575:6;5571:17;5536:66;:::i;:::-;5618:16;;;;;5353:287;-1:-1:-1;;5353:287:208:o;6511:357::-;6629:12;;6676:4;6665:16;;;6659:23;;6629:12;6694:16;;6691:171;;;-1:-1:-1;;6768:4:208;6764:17;;;;6761:1;6757:25;6753:98;6742:110;;6511:357;-1:-1:-1;6511:357:208:o;7481:329::-;7522:3;7560:5;7554:12;7587:6;7582:3;7575:19;7603:76;7672:6;7665:4;7660:3;7656:14;7649:4;7642:5;7638:16;7603:76;:::i;:::-;7724:2;7712:15;-1:-1:-1;;7708:88:208;7699:98;;;;7799:4;7695:109;;7481:329;-1:-1:-1;;7481:329:208:o;7815:319::-;8021:6;8010:9;8003:25;8064:2;8059;8048:9;8044:18;8037:30;7984:4;8084:44;8124:2;8113:9;8109:18;8101:6;8084:44;:::i;8139:458::-;8218:6;8271:2;8259:9;8250:7;8246:23;8242:32;8239:52;;;8287:1;8284;8277:12;8239:52;8320:9;8314:16;8353:18;8345:6;8342:30;8339:50;;;8385:1;8382;8375:12;8339:50;8408:22;;8461:4;8453:13;;8449:27;-1:-1:-1;8439:55:208;;8490:1;8487;8480:12;8439:55;8513:78;8583:7;8578:2;8572:9;8567:2;8563;8559:11;8513:78;:::i;8602:321::-;8680:6;8733:2;8721:9;8712:7;8708:23;8704:32;8701:52;;;8749:1;8746;8739:12;8701:52;8781:9;8775:16;-1:-1:-1;;;;;8824:5:208;8820:54;8813:5;8810:65;8800:93;;8889:1;8886;8879:12;8928:421;9193:6;9182:9;9175:25;9236:6;9231:2;9220:9;9216:18;9209:34;9279:2;9274;9263:9;9259:18;9252:30;9156:4;9299:44;9339:2;9328:9;9324:18;9316:6;9299:44;:::i;9354:184::-;-1:-1:-1;;;9403:1:208;9396:88;9503:4;9500:1;9493:15;9527:4;9524:1;9517:15;9812:184;-1:-1:-1;;;9861:1:208;9854:88;9961:4;9958:1;9951:15;9985:4;9982:1;9975:15;10001:125;10066:9;;;10087:10;;;10084:36;;;10100:18;;:::i;10131:697::-;10352:3;10390:6;10384:13;10406:66;10465:6;10460:3;10453:4;10445:6;10441:17;10406:66;:::i;:::-;10535:13;;10494:16;;;;10557:70;10535:13;10494:16;10604:4;10592:17;;10557:70;:::i;:::-;10694:13;;10649:20;;;10716:70;10694:13;10649:20;10763:4;10751:17;;10716:70;:::i;:::-;10802:20;;10131:697;-1:-1:-1;;;;;10131:697:208:o;10833:439::-;10886:3;10924:5;10918:12;10951:6;10946:3;10939:19;10977:4;11006;11001:3;10997:14;10990:21;;11045:4;11038:5;11034:16;11068:1;11078:169;11092:6;11089:1;11086:13;11078:169;;;11153:13;;11141:26;;11187:12;;;;11222:15;;;;11114:1;11107:9;11078:169;;;-1:-1:-1;11263:3:208;;10833:439;-1:-1:-1;;;;;10833:439:208:o;11277:791::-;11669:6;11658:9;11651:25;11712:3;11707:2;11696:9;11692:18;11685:31;11632:4;11739:57;11791:3;11780:9;11776:19;11768:6;11739:57;:::i;:::-;11844:9;11836:6;11832:22;11827:2;11816:9;11812:18;11805:50;11878:32;11903:6;11895;11878:32;:::i;:::-;11864:46;;11946:6;11941:2;11930:9;11926:18;11919:34;12002:9;11994:6;11990:22;11984:3;11973:9;11969:19;11962:51;12030:32;12055:6;12047;12030:32;:::i;:::-;12022:40;11277:791;-1:-1:-1;;;;;;;;11277:791:208:o;12073:545::-;12394:6;12383:9;12376:25;12437:3;12432:2;12421:9;12417:18;12410:31;12357:4;12458:57;12510:3;12499:9;12495:19;12487:6;12458:57;:::i;:::-;12563:4;12551:17;;;;12546:2;12531:18;;12524:45;-1:-1:-1;12600:2:208;12585:18;12578:34;12450:65;12073:545;-1:-1:-1;;12073:545:208:o;12623:184::-;12693:6;12746:2;12734:9;12725:7;12721:23;12717:32;12714:52;;;12762:1;12759;12752:12;12714:52;-1:-1:-1;12785:16:208;;12623:184;-1:-1:-1;12623:184:208:o;12812:::-;-1:-1:-1;;;12861:1:208;12854:88;12961:4;12958:1;12951:15;12985:4;12982:1;12975:15;13001:656;13053:3;13084;13116:5;13110:12;13143:6;13138:3;13131:19;13169:4;13198;13193:3;13189:14;13182:21;;13256:4;13246:6;13243:1;13239:14;13232:5;13228:26;13224:37;13295:4;13288:5;13284:16;13318:1;13328:303;13342:6;13339:1;13336:13;13328:303;;;-1:-1:-1;;13417:5:208;13411:4;13407:16;13403:89;13398:3;13391:102;13514:37;13546:4;13537:6;13531:13;13514:37;:::i;:::-;13609:12;;;;13506:45;-1:-1:-1;13574:15:208;;;;13364:1;13357:9;13328:303;;;-1:-1:-1;13647:4:208;;13001:656;-1:-1:-1;;;;;;;13001:656:208:o;13662:907::-;14187:6;14176:9;14169:25;14230:6;14225:2;14214:9;14210:18;14203:34;14273:6;14268:2;14257:9;14253:18;14246:34;14316:6;14311:2;14300:9;14296:18;14289:34;14360:3;14354;14343:9;14339:19;14332:32;14150:4;14387:56;14438:3;14427:9;14423:19;14415:6;14387:56;:::i;:::-;14492:9;14484:6;14480:22;14474:3;14463:9;14459:19;14452:51;14520:43;14556:6;14548;14520:43;:::i;:::-;14512:51;13662:907;-1:-1:-1;;;;;;;;;13662:907:208:o;14574:706::-;14941:6;14930:9;14923:25;14984:3;14979:2;14968:9;14964:18;14957:31;14904:4;15011:57;15063:3;15052:9;15048:19;15040:6;15011:57;:::i;:::-;15116:4;15108:6;15104:17;15099:2;15088:9;15084:18;15077:45;15170:9;15162:6;15158:22;15153:2;15142:9;15138:18;15131:50;15198:32;15223:6;15215;15198:32;:::i;:::-;15190:40;;;15267:6;15261:3;15250:9;15246:19;15239:35;14574:706;;;;;;;;:::o;15285:128::-;15352:9;;;15373:11;;;15370:37;;;15387:18;;:::i;15418:168::-;15491:9;;;15522;;15539:15;;;15533:22;;15519:37;15509:71;;15560:18;;:::i;15809:463::-;16055:66;16047:6;16043:79;16032:9;16025:98;16159:6;16154:2;16143:9;16139:18;16132:34;16202:2;16197;16186:9;16182:18;16175:30;16006:4;16222:44;16262:2;16251:9;16247:18;16239:6;16222:44;:::i;16856:280::-;17055:2;17044:9;17037:21;17018:4;17075:55;17126:2;17115:9;17111:18;17103:6;17075:55;:::i;17141:688::-;17474:3;17463:9;17456:22;17437:4;17501:57;17553:3;17542:9;17538:19;17530:6;17501:57;:::i;:::-;17606:9;17598:6;17594:22;17589:2;17578:9;17574:18;17567:50;17640:32;17665:6;17657;17640:32;:::i;:::-;17626:46;;17708:6;17703:2;17692:9;17688:18;17681:34;17763:9;17755:6;17751:22;17746:2;17735:9;17731:18;17724:50;17791:32;17816:6;17808;17791:32;:::i;:::-;17783:40;17141:688;-1:-1:-1;;;;;;;17141:688:208:o;17834:894::-;18285:6;18274:9;18267:25;18328:3;18323:2;18312:9;18308:18;18301:31;18248:4;18355:57;18407:3;18396:9;18392:19;18384:6;18355:57;:::i;:::-;18460:9;18452:6;18448:22;18443:2;18432:9;18428:18;18421:50;18494:32;18519:6;18511;18494:32;:::i;:::-;18480:46;;18562:6;18557:2;18546:9;18542:18;18535:34;18618:9;18610:6;18606:22;18600:3;18589:9;18585:19;18578:51;18646:32;18671:6;18663;18646:32;:::i;:::-;18638:40;;;18715:6;18709:3;18698:9;18694:19;18687:35;17834:894;;;;;;;;;:::o;18733:639::-;18983:6;18978:3;18971:19;18953:3;19009:2;19042;19037:3;19033:12;19074:6;19068:13;19139:2;19131:6;19127:15;19160:1;19170:175;19184:6;19181:1;19178:13;19170:175;;;19247:13;;19233:28;;19283:14;;;;19320:15;;;;19206:1;19199:9;19170:175;;;-1:-1:-1;19361:5:208;;18733:639;-1:-1:-1;;;;;;;18733:639:208:o;19377:184::-;-1:-1:-1;;;19426:1:208;19419:88;19526:4;19523:1;19516:15;19550:4;19547:1;19540:15;19962:511;20213:2;20202:9;20195:21;20176:4;20239:56;20291:2;20280:9;20276:18;20268:6;20239:56;:::i;:::-;20343:14;20335:6;20331:27;20326:2;20315:9;20311:18;20304:55;20407:9;20399:6;20395:22;20390:2;20379:9;20375:18;20368:50;20435:32;20460:6;20452;20435:32;:::i;:::-;20427:40;19962:511;-1:-1:-1;;;;;;19962:511:208:o;20478:615::-;20788:6;20777:9;20770:25;20831:3;20826:2;20815:9;20811:18;20804:31;20751:4;20858:57;20910:3;20899:9;20895:19;20887:6;20858:57;:::i;:::-;20963:14;20955:6;20951:27;20946:2;20935:9;20931:18;20924:55;21027:9;21019:6;21015:22;21010:2;20999:9;20995:18;20988:50;21055:32;21080:6;21072;21055:32;:::i;21783:492::-;21958:3;21996:6;21990:13;22012:66;22071:6;22066:3;22059:4;22051:6;22047:17;22012:66;:::i;:::-;22141:13;;22100:16;;;;22163:70;22141:13;22100:16;22210:4;22198:17;;22163:70;:::i;:::-;22249:20;;21783:492;-1:-1:-1;;;;21783:492:208:o;22280:359::-;22483:2;22472:9;22465:21;22446:4;22503:44;22543:2;22532:9;22528:18;22520:6;22503:44;:::i;:::-;22578:2;22563:18;;22556:34;;;;-1:-1:-1;22621:2:208;22606:18;22599:34;22495:52;22280:359;-1:-1:-1;22280:359:208:o","linkReferences":{},"immutableReferences":{"22621":[{"start":507,"length":32}],"97434":[{"start":727,"length":32}]}},"methodIdentifiers":{"_msgSender()":"119df25f","_msgValue()":"45ec9354","_world()":"e1af802c","install(bytes)":"13861fb5","installRoot(bytes)":"7c5b0335","supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes14\",\"name\":\"namespace\",\"type\":\"bytes14\"}],\"name\":\"ERC721Module_InvalidNamespace\",\"type\":\"error\"},{\"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\":[],\"name\":\"Module_AlreadyInstalled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"dependency\",\"type\":\"address\"}],\"name\":\"Module_MissingDependency\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_NonRootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_RootInstallNotSupported\",\"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\":\"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\":\"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\"},{\"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\":\"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\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"install\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"installRoot\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"Module_RootInstallNotSupported()\":[{\"details\":\"Errors to represent non-support of specific installation types.\"}],\"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.\"}]},\"events\":{\"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_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.\"}},\"install(bytes)\":{\"details\":\"This function is invoked by the World contract during `installModule` process. The module expects to be called via the World contract and thus installs itself on the `msg.sender`. Logic might differ from `installRoot`, for example, this might accept namespace parameters.\",\"params\":{\"encodedArgs\":\"The ABI encoded arguments that may be needed during the installation process.\"}},\"supportsInterface(bytes4)\":{\"details\":\"Overrides the functionality from IERC165 and WorldContextConsumer to check for supported interfaces.\",\"params\":{\"interfaceId\":\"The bytes4 identifier for the interface.\"},\"returns\":{\"_0\":\"true if the interface is supported, false otherwise.\"}}},\"version\":1},\"userdoc\":{\"events\":{\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"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.\"},\"install(bytes)\":{\"notice\":\"Installs the module.\"},\"supportsInterface(bytes4)\":{\"notice\":\"Checks if the given interfaceId is supported by this contract.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/modules/erc721-puppet/ERC721Module.sol\":\"ERC721Module\"},\"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\":\"0x9b0e20e73ed3e01de8dce6730b6dea05a518dfb016c78d13751fd7ea413e6cde\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e3a773c2409c5799a52e8287b4eb2731ef216bc5eeb5e33f2dabf321d99857a2\",\"dweb:/ipfs/QmZkHjQffTDbRxAutbtpJc42Lb5QjcqNdDsse1EL2zorgW\"]},\"node_modules/@latticexyz/store/src/IStoreData.sol\":{\"keccak256\":\"0x174b2e5a5f80094d752cd2a36f1fbdf50e81b1e203216b9e5a6f33e02d606cec\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59e6de780b55c1937a7148d3cc07ec137c3e2f243f331ba0b70f3262d919c1cb\",\"dweb:/ipfs/QmTJbh6ybPsZE9pFziTztstWxmh6ogUgMa6E81M6PMTA6g\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0xee86f5ddd78b35ce6fdad7c9268e2cf4b523e70beffa5780114cf839d6e7c25c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d3f50e9b7b1281eb251abd2681df787d739422a29300947ceaf81f69099d894b\",\"dweb:/ipfs/QmUbxyhUoyW9n5tYLcddafF8vCfTv2hvEpRadN51FhLmJs\"]},\"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\":\"0xe3de9520aa5040f6a18711feef794a2fea4ec2ad1fb796b1ff166ede274bc50e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85ba6c0c0303d02ab4b4d5643ecaf5765707f000091468075dcd22740d3d3bea\",\"dweb:/ipfs/QmdXTEjBvopLQm21NgcdwwtYsT1ke4iJjn7mA17GhUenu9\"]},\"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/errors.sol\":{\"keccak256\":\"0x01f9ae187bb5635e499cd7d53347509bc00feb3f19459dbeb69fcfeead5d7083\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b55a5f5c9904f4373da03339a8b0440323727a53c8d502dbbd201b3455006efd\",\"dweb:/ipfs/QmWgZrdqqpwtUrB3KPKWhAH2ddsoqKQvarcwBR1pWLWZoM\"]},\"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/DelegationControl.sol\":{\"keccak256\":\"0x8cb98a092891f05e855c9bc4705f0c6ad5d5c82be731afd3591c091ef91530a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66e589610bcf3a79d5a158a3ce6d4a894b96575826a16fd817bd80721625e3d6\",\"dweb:/ipfs/QmTDFR47F5Cq82LRXMxBt6j8omobm9cZtmBBnWycBnmjPx\"]},\"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\":\"0xd3645ee90c73dd991659a140c0132c5a2aaf27a296c457737b212d87b2f66402\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://519d81e2bc7233b1488339eaf9220f7eb57086dd3ee8e1831708ebc6e87f00db\",\"dweb:/ipfs/Qmf8RjMxuPXbteMeEB3vstjutsCrmveyBFCjVFt7nSYgtc\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x149d3c2b4bbea21047fc8cf79236488764dd8dde6e440dbc37067a8ce8831bbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d2f340a5616cafd1d80e6ef79f1620102d3d64730c6aa19ecdbb4ca86aaa59b2\",\"dweb:/ipfs/QmWoXP1BKj8U3ZXXoiTRENCxVaaCxrKAenwCZbCVbyfaZ7\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xf15243b03fdc6e5222aefdaad74fffc909f9058f9d8d6ba06acb797197f74635\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c3f4ecb21499e677697dbe71002a5e96651fb0d8c279c4065e6441f13a9c75b3\",\"dweb:/ipfs/QmZ7oEHWK85aetzt9uJ3bmJJKLZkK5PoaakxiEDq4xEEww\"]},\"node_modules/@latticexyz/world/src/Module.sol\":{\"keccak256\":\"0xfdfdbdb1373ff83d8529865e21bbe796025861140a0a96c7183bcc6999ba63dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c1d003f9a28bc9098cc669406f569905a7726fc17cb07a6a6027531aebe5020\",\"dweb:/ipfs/QmPrEP9SRfKRouAQmVn6dq4MgguBPboMdMPg88WqBjsjgn\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0x1d380574763b720a8950dc0a14d519c2532f9f27c8115116f0a6f7916c9606b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a395df820ee46be3dcdb36682183811a86cdc848dbd56ecc2a21785a42785cf9\",\"dweb:/ipfs/QmeiuzuHjQuv4GHXXiRkBkxhyN7e9Vy19TYfAccnxWej91\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x4b83d5791209b8f39773b07e5f162dfd0617f5f9b5b4bd371c087412e5ad01cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://033a3777136e6d5c581efc8bf2535403abe44874409c85d17a353fae6dc56006\",\"dweb:/ipfs/QmaXepBDVnmnMdVzuxbGT2qo5vqWnjB75KNCCdxRehrBMX\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xf668eeaecd294a2b8b9e1a771161373af84abe42b8a9820cf9d3092a9a1e64bd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://01f2939361e51497304e66bdcd9cb33bfea95737fce41ca731f20d3b5dbd5f74\",\"dweb:/ipfs/QmayLveLBSq8axMgbouD411V5BTiYXKbg9ddEpxjcMU4ez\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0xea5256f37d5f373dc0d008b30a44f46f85d5aa4826c9c9702e3a62cafe4fc00d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5f34c70731153f300c4d89b4ddcfd0b02834abf208fcd2ec5863fb1dc5bde74f\",\"dweb:/ipfs/QmdmCzFDr6WmSQ23b2T3aaJhJ6Qvzhc9UaE5z33adciAd4\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xd9ead56302e6ce3f7958983f6652c2712df74ce83cd002248b235769bd5f87d4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a925eab29746fdcff87662142f61565d64bfa108ee14a9a5d496413c150533c4\",\"dweb:/ipfs/QmaFXKnfuMbkaZCEz3e2J3Nx49keqvmaGa7QLBvbj1ntYt\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0x7451726394ea4c39dcca268895499a7d908bd868092cf9b133772077ad5c6a6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c102f036a0ce081255c1088c75e823e5eb5dfdf36ade55d45a6c3914e2a4a5e5\",\"dweb:/ipfs/QmUWEstc4kRhqvUc5sbPyCvy3kvH3hzmH1GrP8MjyQYy3v\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0xd71d9a5a1ee5969cbfc548ddcd01814293d57b5c7f40df0a8ff926df43ec9d9b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6377994ebe168759b1f8ed17d4621720d66259c3ebff77acc2f7cc7dd9fec45\",\"dweb:/ipfs/QmeNaatg7JTe6tLc2RbC28SLEQTJFddXy5xZHmqi9zQ9Jx\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0xba969b5b252d1eb26f22908e4581456a6791e02e693cb14f48de35feb31b56f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34fcc11f5a70bcb51ea1ca76587e7dea7dfb940f522c820988212573a9ca32b6\",\"dweb:/ipfs/QmQSgQdJiXMVVSU5woFMC1mAGJBicBeoQUZ5UVX94UjJbX\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0x90d05ad5b6ce321f2d15d93cc6d126c0332afd161cebd008ea115a552bb0e772\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a6bd7a337b1a8ca9ce2c853db9003352895697d43bdf8c49da850ee19990aa8\",\"dweb:/ipfs/QmbvpN53672EQZMAfmDEC8bP6MRYUnAqLDRUmkkv6DMrAT\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0xfe79af16bea789b894c322b3796b7a5fd3042d2da0ea808768e1588bff53056c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15a2c7d26d21773fa41dd3891553ad57520f0c401627da8f79c11751b0fca478\",\"dweb:/ipfs/QmZYpNkSXqqz5tUeqNwppY7Q75ec9gGPv7BkjUJc87AZFE\"]},\"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/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/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/constants.sol\":{\"keccak256\":\"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22\",\"dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV\"]},\"node_modules/@latticexyz/world/src/modules/init/types.sol\":{\"keccak256\":\"0x1876630a009a39e1a771e5d05d420731b85523b4fe091ce04a72f6f283f5e9b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1166a3d9f7db80d2e041def918fa54baa0f4d51edb35731a8b2bf6ee76810411\",\"dweb:/ipfs/Qmf5VmgLsWJy3Tea5JM9mzCKJ49NJC1fRcgWGVFruusBgJ\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0x0e18f180961360de71b9374363cf31bf97e489fc895ff900946b515eeb7ecb3a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e85a5e2c0e79ef39a6e367b3b653d475f702fb8f4e14f5817ca3091480e21eb8\",\"dweb:/ipfs/QmeoYVTLo3LncJRD3mqc5bMSHY3Rc9N3yveu6pH2uRVCGW\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0x3478328afa3363bcb25271cdcd4c23355f53be785ae0aab5159490122831b8ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5192c5d7dbe1e5521fc9af4830c991be7209652080c507ee6860cc3746dce96d\",\"dweb:/ipfs/Qmbf6ge8pEwaGhjei7MKFCNk9UbCb55AvUadbbeqyNKJ12\"]},\"src/modules/erc721-puppet/ERC721Module.sol\":{\"keccak256\":\"0x2291b83a76fab3263b9385e880f607f05246e50652f004f7653c3b3536d16e37\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://855c97565a34c412a5c1da63bd5548a8274c3d2aeb0ef364193044ad4e5cb2de\",\"dweb:/ipfs/Qmdj25kqiZDbAw1q4cvVFoqjFa4LNcG3HabcS8kZyj7neE\"]},\"src/modules/erc721-puppet/ERC721System.sol\":{\"keccak256\":\"0x293bc28b56c49abc6f7238482bf81da2d23e8f2faf9020a1a413b6fcf5d3322f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf6c50fa383088288d5dc0a8d2977a022cce19c5f4b71baec113fad25722b752\",\"dweb:/ipfs/QmXLSng3w6KFDL5YyuoYStKoyCUgS5TfwioZRmYzUonPhT\"]},\"src/modules/erc721-puppet/IERC721.sol\":{\"keccak256\":\"0x87b18a3fe819a06930749c60912e28d3add40de2881d976d4d7565858468ac8e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://90d6f52696977e65bbc4a3d937ac4be843e2d1006591b861b2b3038c7a7e1d16\",\"dweb:/ipfs/QmS2vsjycwSgGPgWrPEDdFK5WTvE6ixhzYQLL57xHJAXNv\"]},\"src/modules/erc721-puppet/IERC721Errors.sol\":{\"keccak256\":\"0xc408b8c878980829678cf94ca6d83c71c0587e802221d226c84b66c60a198903\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a04ce4eafe37b18476b4dbbd207eff2e33b1ea073a06d5ff8df8e08aa69ac47\",\"dweb:/ipfs/QmTqKcfCXBntqtEcGobHMTJyy37xv93t1342RvqtpgnDQx\"]},\"src/modules/erc721-puppet/IERC721Events.sol\":{\"keccak256\":\"0x4ea76f18fbb68319807fe1fa39d3035b8177bd30c3977c40ed41e9810ffebb13\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f0508d70a34ce0661e52b4201996bea5e61e0108a4a218acc3728be5d51fbc2\",\"dweb:/ipfs/QmQx9bX9cYUENRvXV55NhHL3TFiNXGqvVyy8aYDA1KCagn\"]},\"src/modules/erc721-puppet/IERC721Mintable.sol\":{\"keccak256\":\"0xa647391a56ac17e6e73a5fb04d641c8a97abde19a7da80a8fc80902d7cce36aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://862f638b4e4b300067f6a485580ec904d428281de46e3a186b558ff3e15e4733\",\"dweb:/ipfs/QmUkgdfZJtwyBSrCyckw9GVFrZsD1rUAK2Nd3GBH12duLo\"]},\"src/modules/erc721-puppet/IERC721Receiver.sol\":{\"keccak256\":\"0xa831e4590058e4424b7b7e859bef0eea8de3f2a036a100f81a2ac5f1117258d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9ccc8731758952f21049142b6f8c5b9a64389367b8ebe6a79953c2e92c7393e5\",\"dweb:/ipfs/Qmf9o5qgENkreeUMga4DJfoqk6ocwGqMcCLpjJojthDM9t\"]},\"src/modules/erc721-puppet/constants.sol\":{\"keccak256\":\"0xf8a29616bcb176258295bae6dcb8c9eada8e18812c823c3490ff238370f3a64d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f800f102f773e4c5b2281b44a9f477d7a4d7dca13ddb369fa0d4479cddbfb04c\",\"dweb:/ipfs/QmSiqQuHY8cPTXkpnK3NyZCkeATzjYNpoR8vrijrfLdwqn\"]},\"src/modules/erc721-puppet/tables/ERC721Metadata.sol\":{\"keccak256\":\"0x23b0f62cec1cb1ca59342f273f6fa237e174573d9b37b0a564dd7ae400d63c2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://60418a4d729e56cb17f2888dfa41964a8e29ddbe1b32239dba97cd9b90a2bfad\",\"dweb:/ipfs/QmSeEUxh2zX6gKRzovN4eSgb2VYCohVUwpbPiXAA54up1W\"]},\"src/modules/erc721-puppet/tables/ERC721Registry.sol\":{\"keccak256\":\"0x0ebefc2dd5f88b83442ce474d2b8bc6e3bd30325ac75bf3af6195640f04b2118\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c617cb37e88ea3b19fffb930078bea50a86c33273fd218cb47ad967434160995\",\"dweb:/ipfs/QmZZEYD5QkBEyJzrSByAoVsP2sFwvp3r8QMHcsvLibHGax\"]},\"src/modules/erc721-puppet/tables/OperatorApproval.sol\":{\"keccak256\":\"0x258d17e5897f5278845ac031a56605f1baa1d1bd531e17331f39ea83f2307da3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d88b315ed46f3aadc64d01970cb4bf9d51655b9350f70dbe847799e3da2243d5\",\"dweb:/ipfs/Qma3hWeWAsRxjX2quDV2dooDNQUX1xSihoa2HL2cr2j4rN\"]},\"src/modules/erc721-puppet/tables/Owners.sol\":{\"keccak256\":\"0x1b923dc566774e48cbd6a40d071b93c22ddd4c0c17d142b2825031b731e20f61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8383531c8d680b898882d0afcce627884ddb8de1b02b97788d1da425940b1b2b\",\"dweb:/ipfs/QmPDFdLaYUnEoUhSeFjKctvPPw6vDHFjoM3C173ww9TPTZ\"]},\"src/modules/erc721-puppet/tables/TokenApproval.sol\":{\"keccak256\":\"0xc6eef4dad94ed16b7b2c480912f9ae0fd3dd9a1e1e96f1a0166eaf3b96937f73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://747c07a427e4b3f5f02665fdd676716923b6b9aa06109e523560b5007fb5e0f4\",\"dweb:/ipfs/QmUrnBFHorUEa1nzaHnHnvLq4G4S3pY6EgrsAN66R35b8B\"]},\"src/modules/erc721-puppet/tables/TokenURI.sol\":{\"keccak256\":\"0x10b10937ee5a470ef746b2d20860f7c44dae4f3b4c39252d227054c81338a202\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://26de8741012adf60050dd199e22b5ced8cf97e96c5e7e95642dece2993bfb198\",\"dweb:/ipfs/QmSQJDtCXKNg9zgu72LTTMvXcGtDxMuoD9tjqyW4macxRX\"]},\"src/modules/erc721-puppet/utils.sol\":{\"keccak256\":\"0xd497c2610d37ef3b800e3aef80d36661c60b5e36325565c3bc5c3ce986b641a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7406b572bdef593e1a8d0faaa94e9869108fc2cc7955da3aa3a62a56428c9a0c\",\"dweb:/ipfs/QmPKnuzAkPVyhpJz25fNCfGcvyPPZZWgsm5QbKZva82EWS\"]},\"src/modules/puppet/Puppet.sol\":{\"keccak256\":\"0x0793dc274d0e27b9a00369935693952f2b15e85b243ebed5994cc0c5fd806bc9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d94877420ab98c06013f327ce43e18a7dd3f9a42a33f76a5291ae8424b2699a6\",\"dweb:/ipfs/QmcpKAzLV2eKSU7Pfbb7wgkidNeWSUyUD5J2Scgio16RS8\"]},\"src/modules/puppet/PuppetDelegationControl.sol\":{\"keccak256\":\"0xef771bb0ed12e5fbb010839842bad2f323930d37bf5f2f32cea911730a180fa3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://94f6a1e408d554cefe37785e0cdf58ac27760ced06be39cc4fa6b45b1484812d\",\"dweb:/ipfs/QmeWhCxsS3ewKciW5FYP2wgZxT9N8xdC95oFpCvnpRyXrS\"]},\"src/modules/puppet/PuppetFactorySystem.sol\":{\"keccak256\":\"0xa439fa70dafaf5c491ecc145b594fe3a269f00b8d97036b305ed99d761e2aefe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://014fd8fd174420aa76cde8c6afb84df019579550c1540e7c4f79f6f24de12ae9\",\"dweb:/ipfs/QmS2Nba81LDzK3sxa7HHkAvSFdxPL5v5Ri5p41k5MCNYAv\"]},\"src/modules/puppet/PuppetMaster.sol\":{\"keccak256\":\"0xc83209af82eba3b3452a5c62531d52edb13d69db67c768ec12989cfaf9191c72\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f1d83a60ed2e3a15cde57d6fc859ee7c76e6d089010f41189151e799eb90525c\",\"dweb:/ipfs/QmfZLVNQ9G3kkMBxu3koZbMVPqhtxGTw2iziZQbob4AFhm\"]},\"src/modules/puppet/constants.sol\":{\"keccak256\":\"0x55dc370e83d22bd3ddb79172658731deb725c7609c1966d58cfdc5276bc20a7e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6bc27074a755a64d238f32cfd07b4226cfd47fd157f4f0829c13d8d5406d5f9d\",\"dweb:/ipfs/QmZesmQK815TdF6AuZpKZ249NXP2Qqnzmy9k3WpNRc5Cyq\"]},\"src/modules/puppet/createPuppet.sol\":{\"keccak256\":\"0x775c337cda5ffb3ea7f6e105d3804eebcf8bb58d4278d2925f43678f772caae1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b458c3b5e40fadcde03b9f3aabee02904a5f0ac289eafa92aa7d370416b39398\",\"dweb:/ipfs/QmSBzbevgeyNECE2gej5GWKGyY7CQV2NNtxPxDbamsm2uc\"]},\"src/modules/puppet/tables/PuppetRegistry.sol\":{\"keccak256\":\"0x7599140542e17339a785741ca6057d2b5ca5529a816b4609940e43e154bf179d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b251df5ef3be9a7cca661d861ba8802181fe55607cf119313ad6db0bcd73be9\",\"dweb:/ipfs/QmaVjFTBdqasneWm1EakzBgBU9n7i4vV1YdrGiqYT5pobk\"]},\"src/modules/puppet/utils.sol\":{\"keccak256\":\"0x0c07e1daf167a9ebcf81d1b176e4aef23d12b0bc01333c572c0482b699fd199d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f2ec0928e530ae3b75aadfe224a5c1654d0c26b8f10e06e490274fff3871489\",\"dweb:/ipfs/QmPLfak2kwefQ5tcNFxuE9TXsQ4PVkvTraHWZU8PK9GkR4\"]},\"src/modules/tokens/tables/Balances.sol\":{\"keccak256\":\"0x323871032273e403a04e1b27c36dda8ec5cc7ae116c96af6843ad9b9585327db\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd555e72a6b5c42e27aaeda796e93b50a9e4a0f9253dba806a484ff8559c4fd7\",\"dweb:/ipfs/QmQ3hJxyoWVj4Cx7w2Yb9DW18htPeN2z8drkz2Sq3emEyB\"]},\"src/utils/AccessControlLib.sol\":{\"keccak256\":\"0xc14746b7e25f7d3340b9585c170f2120a46639f3c6ebb8ba88ca81311f475df2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fba240838bc55220b4c9efdcd389df4ec028d43ea9f682cf583d7879280a7bb8\",\"dweb:/ipfs/QmV5fyNXfFgdTxYRYB1NzNQKkypnQH8SJ5C6BZpjhieiUS\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"bytes14","name":"namespace","type":"bytes14"}],"type":"error","name":"ERC721Module_InvalidNamespace"},{"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":[],"type":"error","name":"Module_AlreadyInstalled"},{"inputs":[{"internalType":"address","name":"dependency","type":"address"}],"type":"error","name":"Module_MissingDependency"},{"inputs":[],"type":"error","name":"Module_NonRootInstallNotSupported"},{"inputs":[],"type":"error","name":"Module_RootInstallNotSupported"},{"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":"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":"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","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":"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":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"install"},{"inputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"pure","type":"function","name":"installRoot"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"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."}},"install(bytes)":{"details":"This function is invoked by the World contract during `installModule` process. The module expects to be called via the World contract and thus installs itself on the `msg.sender`. Logic might differ from `installRoot`, for example, this might accept namespace parameters.","params":{"encodedArgs":"The ABI encoded arguments that may be needed during the installation process."}},"supportsInterface(bytes4)":{"details":"Overrides the functionality from IERC165 and WorldContextConsumer to check for supported interfaces.","params":{"interfaceId":"The bytes4 identifier for the interface."},"returns":{"_0":"true if the interface is supported, false otherwise."}}},"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."},"install(bytes)":{"notice":"Installs the module."},"supportsInterface(bytes4)":{"notice":"Checks if the given interfaceId is supported by this contract."}},"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":{"src/modules/erc721-puppet/ERC721Module.sol":"ERC721Module"},"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":"0x9b0e20e73ed3e01de8dce6730b6dea05a518dfb016c78d13751fd7ea413e6cde","urls":["bzz-raw://e3a773c2409c5799a52e8287b4eb2731ef216bc5eeb5e33f2dabf321d99857a2","dweb:/ipfs/QmZkHjQffTDbRxAutbtpJc42Lb5QjcqNdDsse1EL2zorgW"],"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/IStoreEvents.sol":{"keccak256":"0xee86f5ddd78b35ce6fdad7c9268e2cf4b523e70beffa5780114cf839d6e7c25c","urls":["bzz-raw://d3f50e9b7b1281eb251abd2681df787d739422a29300947ceaf81f69099d894b","dweb:/ipfs/QmUbxyhUoyW9n5tYLcddafF8vCfTv2hvEpRadN51FhLmJs"],"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":"0xe3de9520aa5040f6a18711feef794a2fea4ec2ad1fb796b1ff166ede274bc50e","urls":["bzz-raw://85ba6c0c0303d02ab4b4d5643ecaf5765707f000091468075dcd22740d3d3bea","dweb:/ipfs/QmdXTEjBvopLQm21NgcdwwtYsT1ke4iJjn7mA17GhUenu9"],"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/errors.sol":{"keccak256":"0x01f9ae187bb5635e499cd7d53347509bc00feb3f19459dbeb69fcfeead5d7083","urls":["bzz-raw://b55a5f5c9904f4373da03339a8b0440323727a53c8d502dbbd201b3455006efd","dweb:/ipfs/QmWgZrdqqpwtUrB3KPKWhAH2ddsoqKQvarcwBR1pWLWZoM"],"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/DelegationControl.sol":{"keccak256":"0x8cb98a092891f05e855c9bc4705f0c6ad5d5c82be731afd3591c091ef91530a3","urls":["bzz-raw://66e589610bcf3a79d5a158a3ce6d4a894b96575826a16fd817bd80721625e3d6","dweb:/ipfs/QmTDFR47F5Cq82LRXMxBt6j8omobm9cZtmBBnWycBnmjPx"],"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":"0xd3645ee90c73dd991659a140c0132c5a2aaf27a296c457737b212d87b2f66402","urls":["bzz-raw://519d81e2bc7233b1488339eaf9220f7eb57086dd3ee8e1831708ebc6e87f00db","dweb:/ipfs/Qmf8RjMxuPXbteMeEB3vstjutsCrmveyBFCjVFt7nSYgtc"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x149d3c2b4bbea21047fc8cf79236488764dd8dde6e440dbc37067a8ce8831bbd","urls":["bzz-raw://d2f340a5616cafd1d80e6ef79f1620102d3d64730c6aa19ecdbb4ca86aaa59b2","dweb:/ipfs/QmWoXP1BKj8U3ZXXoiTRENCxVaaCxrKAenwCZbCVbyfaZ7"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xf15243b03fdc6e5222aefdaad74fffc909f9058f9d8d6ba06acb797197f74635","urls":["bzz-raw://c3f4ecb21499e677697dbe71002a5e96651fb0d8c279c4065e6441f13a9c75b3","dweb:/ipfs/QmZ7oEHWK85aetzt9uJ3bmJJKLZkK5PoaakxiEDq4xEEww"],"license":"MIT"},"node_modules/@latticexyz/world/src/Module.sol":{"keccak256":"0xfdfdbdb1373ff83d8529865e21bbe796025861140a0a96c7183bcc6999ba63dd","urls":["bzz-raw://1c1d003f9a28bc9098cc669406f569905a7726fc17cb07a6a6027531aebe5020","dweb:/ipfs/QmPrEP9SRfKRouAQmVn6dq4MgguBPboMdMPg88WqBjsjgn"],"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/WorldContext.sol":{"keccak256":"0x4b83d5791209b8f39773b07e5f162dfd0617f5f9b5b4bd371c087412e5ad01cf","urls":["bzz-raw://033a3777136e6d5c581efc8bf2535403abe44874409c85d17a353fae6dc56006","dweb:/ipfs/QmaXepBDVnmnMdVzuxbGT2qo5vqWnjB75KNCCdxRehrBMX"],"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/interfaces/IAccessManagementSystem.sol":{"keccak256":"0xea5256f37d5f373dc0d008b30a44f46f85d5aa4826c9c9702e3a62cafe4fc00d","urls":["bzz-raw://5f34c70731153f300c4d89b4ddcfd0b02834abf208fcd2ec5863fb1dc5bde74f","dweb:/ipfs/QmdmCzFDr6WmSQ23b2T3aaJhJ6Qvzhc9UaE5z33adciAd4"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xd9ead56302e6ce3f7958983f6652c2712df74ce83cd002248b235769bd5f87d4","urls":["bzz-raw://a925eab29746fdcff87662142f61565d64bfa108ee14a9a5d496413c150533c4","dweb:/ipfs/QmaFXKnfuMbkaZCEz3e2J3Nx49keqvmaGa7QLBvbj1ntYt"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0x7451726394ea4c39dcca268895499a7d908bd868092cf9b133772077ad5c6a6a","urls":["bzz-raw://c102f036a0ce081255c1088c75e823e5eb5dfdf36ade55d45a6c3914e2a4a5e5","dweb:/ipfs/QmUWEstc4kRhqvUc5sbPyCvy3kvH3hzmH1GrP8MjyQYy3v"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0xd71d9a5a1ee5969cbfc548ddcd01814293d57b5c7f40df0a8ff926df43ec9d9b","urls":["bzz-raw://c6377994ebe168759b1f8ed17d4621720d66259c3ebff77acc2f7cc7dd9fec45","dweb:/ipfs/QmeNaatg7JTe6tLc2RbC28SLEQTJFddXy5xZHmqi9zQ9Jx"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0xba969b5b252d1eb26f22908e4581456a6791e02e693cb14f48de35feb31b56f4","urls":["bzz-raw://34fcc11f5a70bcb51ea1ca76587e7dea7dfb940f522c820988212573a9ca32b6","dweb:/ipfs/QmQSgQdJiXMVVSU5woFMC1mAGJBicBeoQUZ5UVX94UjJbX"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0x90d05ad5b6ce321f2d15d93cc6d126c0332afd161cebd008ea115a552bb0e772","urls":["bzz-raw://9a6bd7a337b1a8ca9ce2c853db9003352895697d43bdf8c49da850ee19990aa8","dweb:/ipfs/QmbvpN53672EQZMAfmDEC8bP6MRYUnAqLDRUmkkv6DMrAT"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0xfe79af16bea789b894c322b3796b7a5fd3042d2da0ea808768e1588bff53056c","urls":["bzz-raw://15a2c7d26d21773fa41dd3891553ad57520f0c401627da8f79c11751b0fca478","dweb:/ipfs/QmZYpNkSXqqz5tUeqNwppY7Q75ec9gGPv7BkjUJc87AZFE"],"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/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/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/constants.sol":{"keccak256":"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5","urls":["bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22","dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/types.sol":{"keccak256":"0x1876630a009a39e1a771e5d05d420731b85523b4fe091ce04a72f6f283f5e9b3","urls":["bzz-raw://1166a3d9f7db80d2e041def918fa54baa0f4d51edb35731a8b2bf6ee76810411","dweb:/ipfs/Qmf5VmgLsWJy3Tea5JM9mzCKJ49NJC1fRcgWGVFruusBgJ"],"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/worldResourceTypes.sol":{"keccak256":"0x3478328afa3363bcb25271cdcd4c23355f53be785ae0aab5159490122831b8ed","urls":["bzz-raw://5192c5d7dbe1e5521fc9af4830c991be7209652080c507ee6860cc3746dce96d","dweb:/ipfs/Qmbf6ge8pEwaGhjei7MKFCNk9UbCb55AvUadbbeqyNKJ12"],"license":"MIT"},"src/modules/erc721-puppet/ERC721Module.sol":{"keccak256":"0x2291b83a76fab3263b9385e880f607f05246e50652f004f7653c3b3536d16e37","urls":["bzz-raw://855c97565a34c412a5c1da63bd5548a8274c3d2aeb0ef364193044ad4e5cb2de","dweb:/ipfs/Qmdj25kqiZDbAw1q4cvVFoqjFa4LNcG3HabcS8kZyj7neE"],"license":"MIT"},"src/modules/erc721-puppet/ERC721System.sol":{"keccak256":"0x293bc28b56c49abc6f7238482bf81da2d23e8f2faf9020a1a413b6fcf5d3322f","urls":["bzz-raw://bf6c50fa383088288d5dc0a8d2977a022cce19c5f4b71baec113fad25722b752","dweb:/ipfs/QmXLSng3w6KFDL5YyuoYStKoyCUgS5TfwioZRmYzUonPhT"],"license":"MIT"},"src/modules/erc721-puppet/IERC721.sol":{"keccak256":"0x87b18a3fe819a06930749c60912e28d3add40de2881d976d4d7565858468ac8e","urls":["bzz-raw://90d6f52696977e65bbc4a3d937ac4be843e2d1006591b861b2b3038c7a7e1d16","dweb:/ipfs/QmS2vsjycwSgGPgWrPEDdFK5WTvE6ixhzYQLL57xHJAXNv"],"license":"MIT"},"src/modules/erc721-puppet/IERC721Errors.sol":{"keccak256":"0xc408b8c878980829678cf94ca6d83c71c0587e802221d226c84b66c60a198903","urls":["bzz-raw://9a04ce4eafe37b18476b4dbbd207eff2e33b1ea073a06d5ff8df8e08aa69ac47","dweb:/ipfs/QmTqKcfCXBntqtEcGobHMTJyy37xv93t1342RvqtpgnDQx"],"license":"MIT"},"src/modules/erc721-puppet/IERC721Events.sol":{"keccak256":"0x4ea76f18fbb68319807fe1fa39d3035b8177bd30c3977c40ed41e9810ffebb13","urls":["bzz-raw://2f0508d70a34ce0661e52b4201996bea5e61e0108a4a218acc3728be5d51fbc2","dweb:/ipfs/QmQx9bX9cYUENRvXV55NhHL3TFiNXGqvVyy8aYDA1KCagn"],"license":"MIT"},"src/modules/erc721-puppet/IERC721Mintable.sol":{"keccak256":"0xa647391a56ac17e6e73a5fb04d641c8a97abde19a7da80a8fc80902d7cce36aa","urls":["bzz-raw://862f638b4e4b300067f6a485580ec904d428281de46e3a186b558ff3e15e4733","dweb:/ipfs/QmUkgdfZJtwyBSrCyckw9GVFrZsD1rUAK2Nd3GBH12duLo"],"license":"MIT"},"src/modules/erc721-puppet/IERC721Receiver.sol":{"keccak256":"0xa831e4590058e4424b7b7e859bef0eea8de3f2a036a100f81a2ac5f1117258d7","urls":["bzz-raw://9ccc8731758952f21049142b6f8c5b9a64389367b8ebe6a79953c2e92c7393e5","dweb:/ipfs/Qmf9o5qgENkreeUMga4DJfoqk6ocwGqMcCLpjJojthDM9t"],"license":"MIT"},"src/modules/erc721-puppet/constants.sol":{"keccak256":"0xf8a29616bcb176258295bae6dcb8c9eada8e18812c823c3490ff238370f3a64d","urls":["bzz-raw://f800f102f773e4c5b2281b44a9f477d7a4d7dca13ddb369fa0d4479cddbfb04c","dweb:/ipfs/QmSiqQuHY8cPTXkpnK3NyZCkeATzjYNpoR8vrijrfLdwqn"],"license":"MIT"},"src/modules/erc721-puppet/tables/ERC721Metadata.sol":{"keccak256":"0x23b0f62cec1cb1ca59342f273f6fa237e174573d9b37b0a564dd7ae400d63c2a","urls":["bzz-raw://60418a4d729e56cb17f2888dfa41964a8e29ddbe1b32239dba97cd9b90a2bfad","dweb:/ipfs/QmSeEUxh2zX6gKRzovN4eSgb2VYCohVUwpbPiXAA54up1W"],"license":"MIT"},"src/modules/erc721-puppet/tables/ERC721Registry.sol":{"keccak256":"0x0ebefc2dd5f88b83442ce474d2b8bc6e3bd30325ac75bf3af6195640f04b2118","urls":["bzz-raw://c617cb37e88ea3b19fffb930078bea50a86c33273fd218cb47ad967434160995","dweb:/ipfs/QmZZEYD5QkBEyJzrSByAoVsP2sFwvp3r8QMHcsvLibHGax"],"license":"MIT"},"src/modules/erc721-puppet/tables/OperatorApproval.sol":{"keccak256":"0x258d17e5897f5278845ac031a56605f1baa1d1bd531e17331f39ea83f2307da3","urls":["bzz-raw://d88b315ed46f3aadc64d01970cb4bf9d51655b9350f70dbe847799e3da2243d5","dweb:/ipfs/Qma3hWeWAsRxjX2quDV2dooDNQUX1xSihoa2HL2cr2j4rN"],"license":"MIT"},"src/modules/erc721-puppet/tables/Owners.sol":{"keccak256":"0x1b923dc566774e48cbd6a40d071b93c22ddd4c0c17d142b2825031b731e20f61","urls":["bzz-raw://8383531c8d680b898882d0afcce627884ddb8de1b02b97788d1da425940b1b2b","dweb:/ipfs/QmPDFdLaYUnEoUhSeFjKctvPPw6vDHFjoM3C173ww9TPTZ"],"license":"MIT"},"src/modules/erc721-puppet/tables/TokenApproval.sol":{"keccak256":"0xc6eef4dad94ed16b7b2c480912f9ae0fd3dd9a1e1e96f1a0166eaf3b96937f73","urls":["bzz-raw://747c07a427e4b3f5f02665fdd676716923b6b9aa06109e523560b5007fb5e0f4","dweb:/ipfs/QmUrnBFHorUEa1nzaHnHnvLq4G4S3pY6EgrsAN66R35b8B"],"license":"MIT"},"src/modules/erc721-puppet/tables/TokenURI.sol":{"keccak256":"0x10b10937ee5a470ef746b2d20860f7c44dae4f3b4c39252d227054c81338a202","urls":["bzz-raw://26de8741012adf60050dd199e22b5ced8cf97e96c5e7e95642dece2993bfb198","dweb:/ipfs/QmSQJDtCXKNg9zgu72LTTMvXcGtDxMuoD9tjqyW4macxRX"],"license":"MIT"},"src/modules/erc721-puppet/utils.sol":{"keccak256":"0xd497c2610d37ef3b800e3aef80d36661c60b5e36325565c3bc5c3ce986b641a5","urls":["bzz-raw://7406b572bdef593e1a8d0faaa94e9869108fc2cc7955da3aa3a62a56428c9a0c","dweb:/ipfs/QmPKnuzAkPVyhpJz25fNCfGcvyPPZZWgsm5QbKZva82EWS"],"license":"MIT"},"src/modules/puppet/Puppet.sol":{"keccak256":"0x0793dc274d0e27b9a00369935693952f2b15e85b243ebed5994cc0c5fd806bc9","urls":["bzz-raw://d94877420ab98c06013f327ce43e18a7dd3f9a42a33f76a5291ae8424b2699a6","dweb:/ipfs/QmcpKAzLV2eKSU7Pfbb7wgkidNeWSUyUD5J2Scgio16RS8"],"license":"MIT"},"src/modules/puppet/PuppetDelegationControl.sol":{"keccak256":"0xef771bb0ed12e5fbb010839842bad2f323930d37bf5f2f32cea911730a180fa3","urls":["bzz-raw://94f6a1e408d554cefe37785e0cdf58ac27760ced06be39cc4fa6b45b1484812d","dweb:/ipfs/QmeWhCxsS3ewKciW5FYP2wgZxT9N8xdC95oFpCvnpRyXrS"],"license":"MIT"},"src/modules/puppet/PuppetFactorySystem.sol":{"keccak256":"0xa439fa70dafaf5c491ecc145b594fe3a269f00b8d97036b305ed99d761e2aefe","urls":["bzz-raw://014fd8fd174420aa76cde8c6afb84df019579550c1540e7c4f79f6f24de12ae9","dweb:/ipfs/QmS2Nba81LDzK3sxa7HHkAvSFdxPL5v5Ri5p41k5MCNYAv"],"license":"MIT"},"src/modules/puppet/PuppetMaster.sol":{"keccak256":"0xc83209af82eba3b3452a5c62531d52edb13d69db67c768ec12989cfaf9191c72","urls":["bzz-raw://f1d83a60ed2e3a15cde57d6fc859ee7c76e6d089010f41189151e799eb90525c","dweb:/ipfs/QmfZLVNQ9G3kkMBxu3koZbMVPqhtxGTw2iziZQbob4AFhm"],"license":"MIT"},"src/modules/puppet/constants.sol":{"keccak256":"0x55dc370e83d22bd3ddb79172658731deb725c7609c1966d58cfdc5276bc20a7e","urls":["bzz-raw://6bc27074a755a64d238f32cfd07b4226cfd47fd157f4f0829c13d8d5406d5f9d","dweb:/ipfs/QmZesmQK815TdF6AuZpKZ249NXP2Qqnzmy9k3WpNRc5Cyq"],"license":"MIT"},"src/modules/puppet/createPuppet.sol":{"keccak256":"0x775c337cda5ffb3ea7f6e105d3804eebcf8bb58d4278d2925f43678f772caae1","urls":["bzz-raw://b458c3b5e40fadcde03b9f3aabee02904a5f0ac289eafa92aa7d370416b39398","dweb:/ipfs/QmSBzbevgeyNECE2gej5GWKGyY7CQV2NNtxPxDbamsm2uc"],"license":"MIT"},"src/modules/puppet/tables/PuppetRegistry.sol":{"keccak256":"0x7599140542e17339a785741ca6057d2b5ca5529a816b4609940e43e154bf179d","urls":["bzz-raw://2b251df5ef3be9a7cca661d861ba8802181fe55607cf119313ad6db0bcd73be9","dweb:/ipfs/QmaVjFTBdqasneWm1EakzBgBU9n7i4vV1YdrGiqYT5pobk"],"license":"MIT"},"src/modules/puppet/utils.sol":{"keccak256":"0x0c07e1daf167a9ebcf81d1b176e4aef23d12b0bc01333c572c0482b699fd199d","urls":["bzz-raw://7f2ec0928e530ae3b75aadfe224a5c1654d0c26b8f10e06e490274fff3871489","dweb:/ipfs/QmPLfak2kwefQ5tcNFxuE9TXsQ4PVkvTraHWZU8PK9GkR4"],"license":"MIT"},"src/modules/tokens/tables/Balances.sol":{"keccak256":"0x323871032273e403a04e1b27c36dda8ec5cc7ae116c96af6843ad9b9585327db","urls":["bzz-raw://bd555e72a6b5c42e27aaeda796e93b50a9e4a0f9253dba806a484ff8559c4fd7","dweb:/ipfs/QmQ3hJxyoWVj4Cx7w2Yb9DW18htPeN2z8drkz2Sq3emEyB"],"license":"MIT"},"src/utils/AccessControlLib.sol":{"keccak256":"0xc14746b7e25f7d3340b9585c170f2120a46639f3c6ebb8ba88ca81311f475df2","urls":["bzz-raw://fba240838bc55220b4c9efdcd389df4ec028d43ea9f682cf583d7879280a7bb8","dweb:/ipfs/QmV5fyNXfFgdTxYRYB1NzNQKkypnQH8SJ5C6BZpjhieiUS"],"license":"MIT"}},"version":1},"id":142}