@latticexyz/world-modules 2.0.7-main-378d7200 → 2.0.7-main-78a94d71

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 (88) hide show
  1. package/out/AccessControlLib.sol/AccessControlLib.json +1 -1
  2. package/out/AccessManagementSystem.sol/AccessManagementSystem.json +1 -1
  3. package/out/ArrayLib.sol/ArrayLib.json +1 -1
  4. package/out/BalanceTransferSystem.sol/BalanceTransferSystem.json +1 -1
  5. package/out/Balances.sol/Balances.json +1 -1
  6. package/out/BatchCallSystem.sol/BatchCallSystem.json +1 -1
  7. package/out/CallWithSignatureModule.t.sol/Unstable_CallWithSignatureModuleTest.json +1 -1
  8. package/out/CallboundDelegationControl.sol/CallboundDelegationControl.json +1 -1
  9. package/out/CallboundDelegations.sol/CallboundDelegations.json +1 -1
  10. package/out/DelegationControlMock.sol/DelegationControlMock.json +1 -1
  11. package/out/ERC20.t.sol/ERC20Test.json +1 -1
  12. package/out/ERC20Module.sol/ERC20Module.json +1 -1
  13. package/out/ERC20Module.sol/ERC20ModuleRegistrationLibrary.json +1 -1
  14. package/out/ERC20System.sol/ERC20System.json +1 -1
  15. package/out/ERC721.t.sol/ERC721Recipient.json +1 -1
  16. package/out/ERC721.t.sol/ERC721Test.abi.json +13 -0
  17. package/out/ERC721.t.sol/ERC721Test.abi.json.d.ts +13 -0
  18. package/out/ERC721.t.sol/ERC721Test.json +1 -1
  19. package/out/ERC721.t.sol/ERC721TokenReceiver.json +1 -1
  20. package/out/ERC721.t.sol/NonERC721Recipient.json +1 -1
  21. package/out/ERC721.t.sol/RevertingERC721Recipient.json +1 -1
  22. package/out/ERC721.t.sol/WrongReturnDataERC721Recipient.json +1 -1
  23. package/out/ERC721Metadata.sol/ERC721Metadata.json +1 -1
  24. package/out/ERC721Module.sol/ERC721Module.json +1 -1
  25. package/out/ERC721Module.sol/ERC721ModuleRegistrationLibrary.json +1 -1
  26. package/out/ERC721Registry.sol/ERC721Registry.json +1 -1
  27. package/out/ERC721System.sol/ERC721System.json +1 -1
  28. package/out/EchoSubscriber.sol/EchoSubscriber.json +1 -1
  29. package/out/GasReporter.sol/GasReporter.json +1 -1
  30. package/out/InitModule.sol/InitModule.json +1 -1
  31. package/out/KeysInTable.sol/KeysInTable.json +1 -1
  32. package/out/KeysInTableHook.sol/KeysInTableHook.json +1 -1
  33. package/out/KeysInTableModule.sol/KeysInTableModule.json +1 -1
  34. package/out/KeysInTableModule.t.sol/KeysInTableModuleTest.json +1 -1
  35. package/out/KeysWithValue.sol/KeysWithValue.json +1 -1
  36. package/out/KeysWithValueHook.sol/KeysWithValueHook.json +1 -1
  37. package/out/KeysWithValueModule.sol/KeysWithValueModule.json +1 -1
  38. package/out/KeysWithValueModule.t.sol/KeysWithValueModuleTest.json +1 -1
  39. package/out/LibString.sol/LibString.abi.json +1 -0
  40. package/out/LibString.sol/LibString.json +1 -0
  41. package/out/ModuleInstallationSystem.sol/ModuleInstallationSystem.json +1 -1
  42. package/out/OperatorApproval.sol/OperatorApproval.json +1 -1
  43. package/out/Owners.sol/Owners.json +1 -1
  44. package/out/Puppet.sol/Puppet.json +1 -1
  45. package/out/PuppetDelegationControl.sol/PuppetDelegationControl.json +1 -1
  46. package/out/PuppetFactorySystem.sol/PuppetFactorySystem.json +1 -1
  47. package/out/PuppetMaster.sol/PuppetMaster.json +1 -1
  48. package/out/PuppetModule.sol/PuppetModule.json +1 -1
  49. package/out/PuppetModule.t.sol/PuppetModuleTest.json +1 -1
  50. package/out/PuppetModule.t.sol/PuppetTestSystem.json +1 -1
  51. package/out/PuppetRegistry.sol/PuppetRegistry.json +1 -1
  52. package/out/RegistrationSystem.sol/RegistrationSystem.json +1 -1
  53. package/out/RevertSubscriber.sol/RevertSubscriber.json +1 -1
  54. package/out/StandardDelegationsModule.sol/StandardDelegationsModule.json +1 -1
  55. package/out/StandardDelegationsModule.t.sol/StandardDelegationsModuleTest.json +1 -1
  56. package/out/StdError.sol/stdError.json +1 -1
  57. package/out/StoreRead.sol/StoreRead.json +1 -1
  58. package/out/StoreRegistrationSystem.sol/StoreRegistrationSystem.json +1 -1
  59. package/out/System.sol/System.json +1 -1
  60. package/out/SystemSwitch.sol/SystemSwitch.json +1 -1
  61. package/out/SystemSwitch.t.sol/EchoSystem.json +1 -1
  62. package/out/SystemSwitch.t.sol/SystemSwitchTest.json +1 -1
  63. package/out/SystemboundDelegationControl.sol/SystemboundDelegationControl.json +1 -1
  64. package/out/SystemboundDelegations.sol/SystemboundDelegations.json +1 -1
  65. package/out/TimeboundDelegationControl.sol/TimeboundDelegationControl.json +1 -1
  66. package/out/TimeboundDelegations.sol/TimeboundDelegations.json +1 -1
  67. package/out/TokenApproval.sol/TokenApproval.json +1 -1
  68. package/out/TokenURI.sol/TokenURI.json +1 -1
  69. package/out/UniqueEntity.sol/UniqueEntity.json +1 -1
  70. package/out/UniqueEntityModule.sol/UniqueEntityModule.json +1 -1
  71. package/out/UniqueEntityModule.t.sol/UniqueEntityModuleTest.json +1 -1
  72. package/out/UniqueEntityModule.t.sol/UniqueEntityTestSystem.json +1 -1
  73. package/out/UniqueEntitySystem.sol/UniqueEntitySystem.json +1 -1
  74. package/out/Unstable_CallWithSignatureModule.sol/Unstable_CallWithSignatureModule.json +1 -1
  75. package/out/Unstable_CallWithSignatureSystem.sol/Unstable_CallWithSignatureSystem.json +1 -1
  76. package/out/UsedKeysIndex.sol/UsedKeysIndex.json +1 -1
  77. package/out/World.sol/World.json +1 -1
  78. package/out/World.t.sol/EchoSystemHook.json +1 -1
  79. package/out/World.t.sol/PayableFallbackSystem.json +1 -1
  80. package/out/World.t.sol/RevertSystemHook.json +1 -1
  81. package/out/World.t.sol/WorldTest.json +1 -1
  82. package/out/World.t.sol/WorldTestSystem.json +1 -1
  83. package/out/WorldRegistrationSystem.sol/WorldRegistrationSystem.json +1 -1
  84. package/out/query.t.sol/QueryTest.json +1 -1
  85. package/out/test.sol/DSTest.json +1 -1
  86. package/package.json +8 -8
  87. package/src/modules/erc721-puppet/ERC721System.sol +3 -1
  88. package/src/modules/erc721-puppet/libraries/LibString.sol +77 -0
@@ -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":"EncodedLengths"},{"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":"ERC20Module_InvalidNamespace","inputs":[{"name":"namespace","type":"bytes14","internalType":"bytes14"}]},{"type":"error","name":"FieldLayout_Empty","inputs":[]},{"type":"error","name":"FieldLayout_InvalidStaticDataLength","inputs":[{"name":"staticDataLength","type":"uint256","internalType":"uint256"},{"name":"computedStaticDataLength","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsNotZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyDynamicFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"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":"Schema_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Schema_StaticTypeAfterDynamicType","inputs":[]},{"type":"error","name":"Slice_OutOfBounds","inputs":[{"name":"data","type":"bytes","internalType":"bytes"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_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":"0x60c0604081905230608052620000159062000053565b604051809103906000f08015801562000032573d6000803e3d6000fd5b506001600160a01b031660a0523480156200004c57600080fd5b5062000061565b6147b3806200339b83390190565b60805160a0516133146200008760003960006102d7015260006101fb01526133146000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c806345ec93541161005057806345ec9354146100d45780637c5b0335146100e7578063e1af802c146100fa57600080fd5b806301ffc9a714610077578063119df25f1461009f57806313861fb5146100bf575b600080fd5b61008a610085366004612af9565b610102565b60405190151581526020015b60405180910390f35b6100a76101e7565b6040516001600160a01b039091168152602001610096565b6100d26100cd366004612bd3565b6101f6565b005b604051601f193601358152602001610096565b6100d26100f5366004612bd3565b610749565b6100a761077b565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f6fdd1c8000000000000000000000000000000000000000000000000000000000148061019557507fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee12700000000000000000000000000000000000000000000000000000000145b806101e157507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101f1610785565b905090565b6102207f0000000000000000000000000000000000000000000000000000000000000000826107b7565b600080828060200190518101906102379190612cc7565b90925090507f9a8d9ccdcfd28f8a8f8f9a8c000000000000000000000000000000000000000071ffffffffffffffffffffffffffffffffffff198316016102c6576040517f0f31c63c00000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff19831660048201526024015b60405180910390fd5b60006102d061077b565b90506000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316838660405160240161033b9291906001600160a01b0392909216825271ffffffffffffffffffffffffffffffffffff1916602082015260400190565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f472466c2000000000000000000000000000000000000000000000000000000001790525161039e9190612d9f565b600060405180830381855af49150503d80600081146103d9576040519150601f19603f3d011682016040523d82523d6000602084013e6103de565b606091505b5091509150816103f1576103f1816107fc565b6104036103fd86610804565b85610836565b600061040e866108d8565b9050600061041c8583610925565b90507f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000601089901c16176001600160a01b03861663ef5d6bbb8261047d6101e7565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815260048101929092526001600160a01b03166024820152604401600060405180830381600087803b1580156104dc57600080fd5b505af11580156104f0573d6000803e3d6000fd5b505060408051613a3160f11b60208201527f65726332302d707570706574000000000000000000000000000000000000000060228201527f45524332305265676973747279000000000000000000000000000000000000006030820152610572935001905060405160208183030381529060405261056d90612dbb565b610c23565b6106bf576040517f6e7300000000000000000000000000000000000000000000000000000000000060208201527f65726332302d707570706574000000000000000000000000000000000000000060228201526001600160a01b0387169063b29e4089906030016040516020818303038152906040526105f190612dbb565b6040518263ffffffff1660e01b815260040161060f91815260200190565b600060405180830381600087803b15801561062957600080fd5b505af115801561063d573d6000803e3d6000fd5b505060408051613a3160f11b60208201527f65726332302d707570706574000000000000000000000000000000000000000060228201527f455243323052656769737472790000000000000000000000000000000000000060308201526106bf93500190506040516020818303038152906040526106ba90612dbb565b610cb0565b60408051613a3160f11b60208201527f65726332302d707570706574000000000000000000000000000000000000000060228201527f4552433230526567697374727900000000000000000000000000000000000000603082015261073e910160405160208183030381529060405261073790612dbb565b8284610d2c565b505050505050505050565b6040517fb6622fc000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006101f1610dec565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806107b45750335b90565b6107c18282610df6565b156107f8576040517f1401206800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b805160208201fd5b60006101e1613a3160f11b837f4d65746164617461000000000000000000000000000000000000000000000000610e10565b600061088582600001516040805160f89290921b7fff00000000000000000000000000000000000000000000000000000000000000166020830152805160018184030181526021909201905290565b9050600061089b83602001518460400151610e96565b905060006108b184602001518560400151610eb3565b6040805160008152602081019091529091506108d08682868686610edf565b505050505050565b60006101e17f7379000000000000000000000000000000000000000000000000000000000000837f455243323053797374656d000000000000000000000000000000000000000000610e10565b604080517f737900000000000000000000000000000000000000000000000000000000000060208201527f707570706574000000000000000000000000000000000000000000000000000060228201527f466163746f72790000000000000000000000000000000000000000000000000060308201526000916001600160a01b03851691633ae7af0891016040516020818303038152906040526109c890612dbb565b6040516024810186905260440160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb9eb8bfb00000000000000000000000000000000000000000000000000000000179052517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152610a65929190600401612e0b565b6000604051808303816000875af1158015610a84573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610aac9190810190612e24565b806020019051810190610abf9190612e6d565b90506001600160a01b03831663bfdfaff77f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617604080517f737900000000000000000000000000000000000000000000000000000000000060208201527f707570706574000000000000000000000000000000000000000000000000000060228201527f44656c65676174696f6e00000000000000000000000000000000000000000000603082015201604051602081830303815290604052610ba290612dbb565b604080516000815260208101918290527fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16909152610beb92919060248101612e96565b600060405180830381600087803b158015610c0557600080fd5b505af1158015610c19573d6000803e3d6000fd5b5050505092915050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610c5c57610c5c612eb5565b60209081029190910101526000610c9c7f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b610f94565b9050610ca88160f81c90565b949350505050565b610d29817e140100140000000000000000000000000000000000000000000000000000007e2001005f0000000000000000000000000000000000000000000000000000007e14010061000000000000000000000000000000000000000000000000000000610d1c611051565b610d246110d6565b61114d565b50565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610d6257610d62612eb5565b602002602001018181525050610de68482600085604051602001610db1919060609190911b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016815260140190565b60408051601f198184030181529190527e14010014000000000000000000000000000000000000000000000000000000611207565b50505050565b60006101f161127d565b6000610e098383805190602001206112bc565b9392505050565b6000610e1e60706010612ee1565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316901c601084901c7dffffffffffffffffffffffffffff00000000000000000000000000000000167fffff0000000000000000000000000000000000000000000000000000000000008616171790509392505050565b8151815160009181810160389190911b1760609190911b17610e09565b60608282604051602001610ec8929190612ef4565b604051602081830303815290604052905092915050565b6000610ee961127d565b9050306001600160a01b03821603610f0d57610f088686868686611376565b6108d0565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb90610f5a9089908990899089908990600401612f5f565b600060405180830381600087803b158015610f7457600080fd5b505af1158015610f88573d6000803e3d6000fd5b50505050505050505050565b600080610f9f61127d565b9050306001600160a01b03821603610fc557610fbd86868686611393565b915050610ca8565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990611010908990899089908990600401612fb0565b602060405180830381865afa15801561102d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fbd9190612fdf565b604080516001808252818301909252606091816020015b60608152602001906001900390816110685790505090506040518060400160405280600b81526020017f6e616d6573706163654964000000000000000000000000000000000000000000815250816000815181106110c8576110c8612eb5565b602002602001018190525090565b604080516001808252818301909252606091816020015b60608152602001906001900390816110ed5790505090506040518060400160405280600c81526020017f746f6b656e416464726573730000000000000000000000000000000000000000815250816000815181106110c8576110c8612eb5565b600061115761127d565b9050306001600160a01b0382160361117c576111778787878787876113c0565b6111fe565b6040517f0ba51f490000000000000000000000000000000000000000000000000000000081526001600160a01b03821690630ba51f49906111cb908a908a908a908a908a908a90600401613052565b600060405180830381600087803b1580156111e557600080fd5b505af11580156111f9573d6000803e3d6000fd5b505050505b50505050505050565b600061121161127d565b9050306001600160a01b0382160361123057610f08868686868661181b565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090610f5a908990899089908990899060040161309c565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b0316806112b7573391505090565b919050565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b8160008151811061130157611301612eb5565b602002602001018181525050828160018151811061132157611321612eb5565b602090810291909101015260006113617f7462776f726c64000000000000000000496e7374616c6c65644d6f64756c65738383630101000160d81b610f94565b905061136d8160f81c90565b95945050505050565b61138c85858585856113878b611830565b6118b5565b5050505050565b600061136d6113a28686611bee565b60ff858116601b0360080285901c166113bb8587611c44565b611c7d565b613a3160f11b867fffff000000000000000000000000000000000000000000000000000000000000161480159061143957507f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001614155b1561149a57613a3160f11b868760405160200161145891815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526102bd9392916004016130e3565b6114a385611cce565b6114ae846001611f15565b6114b9836000611f15565b60e084901c60e885901c0160ff168251146115195760e084901c60e885901c0160ff1682516040517f0f72cb98000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b60e085901c60e886901c0160ff168151146115795760e085901c60e886901c0160ff1681516040517f7dec4c00000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b60e085901c60e886901c0160ff1660e084901c60e885901c0160ff16146115f15760e085901c60e886901c0160ff1660e084901c60e885901c0160ff166040517ff29d4d88000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b6115fa856120b1565b611603846120b1565b1461165557611611856120b1565b61161a846120b1565b6040517f65cc0adf000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b61165e856120e3565b611667846120e3565b146116b957611675856120e3565b61167e846120e3565b6040517fedea9587000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b60005b6116c5866120b1565b811015611760576116ef6116d98583612100565b60c58111156116ea576116ea613124565b612121565b6008601b8390030287901c60ff1614611758576008601b8290030286901c60ff1661171d6116d98684612100565b6040517f254c7db4000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b6001016116bc565b5061176a86612181565b156117c457858660405160200161178391815260200190565b60408051601f19818403018152908290527fdfaaf9cf0000000000000000000000000000000000000000000000000000000082526102bd9291600401612e0b565b61181086868686866040516020016117dc919061313a565b604051602081830303815290604052866040516020016117fc919061313a565b6040516020818303038152906040526121fa565b6108d08660016122d1565b61138c858561182a8487611c44565b85612377565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161187f57507e60030220202000000000000000000000000000000000000000000000000000919050565b6101e16118ac7f746273746f72650000000000000000005461626c65730000000000000000000084612612565b60206000611c7d565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361194157857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a986868686604051611934949392919061314d565b60405180910390a26108d0565b600061194c8761262e565b905060005b8151811015611a2557600082828151811061196e5761196e612eb5565b6020026020010151905061199a6001826affffffffffffffffffffff19166126b790919063ffffffff16565b15611a1c576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c906119e9908c908c908c908c908c908c90600401613197565b600060405180830381600087803b158015611a0357600080fd5b505af1158015611a17573d6000803e3d6000fd5b505050505b50600101611951565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a987878787604051611a5c949392919061314d565b60405180910390a26000611a708888611bee565b90506000602087019050611a888260008951846126d5565b6000611a93856120e3565b1115611b17576000611aa58a8a612794565b878155905060208601915060008060005b611abf886120e3565b8160ff161015611b1257611ad48d8d836127ea565b9250611aef8a8260ff166028026038011c64ffffffffff1690565b9150611afe83600084886126d5565b611b088286612ee1565b9450600101611ab6565b505050505b60005b8351811015610f88576000848281518110611b3757611b37612eb5565b60200260200101519050611b636002826affffffffffffffffffffff19166126b790919063ffffffff16565b15611be5576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90611bb2908e908e908e908e908e908e90600401613197565b600060405180830381600087803b158015611bcc57600080fd5b505af1158015611be0573d6000803e3d6000fd5b505050505b50600101611b1a565b60008282604051602001611c039291906131f0565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff16811015611c7557611c6b60ff601b83900360080287901c1683612ee1565b9150600101611c49565b509392505050565b600060208210611ca357602082048401935060208281611c9f57611c9f61322c565b0691505b508254600882021b602082900380841115611c75576001850154600882021c82179150509392505050565b80611d05576040517fa019e4da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611d10826120e3565b90506005811115611d57576040517f6793df6200000000000000000000000000000000000000000000000000000000815260048101829052600560248201526044016102bd565b6000611d62836120b1565b90506000611d708383612ee1565b9050601c811115611db7576040517fecd893b900000000000000000000000000000000000000000000000000000000815260048101829052601c60248201526044016102bd565b6000805b83811015611e625760ff601b82900360080287901c166000819003611e0f576040517f53b2dd05000000000000000000000000000000000000000000000000000000008152600481018390526024016102bd565b6020811115611e4d576040517f7237f237000000000000000000000000000000000000000000000000000000008152600481018390526024016102bd565b611e578184612ee1565b925050600101611dbb565b50611e6c8561286a565b8114611eb857611e7b8561286a565b6040517feba964de0000000000000000000000000000000000000000000000000000000081526004810191909152602481018290526044016102bd565b825b601c8110156108d05760ff601b82900360080287901c168015611f0c576040517f1d8d44db000000000000000000000000000000000000000000000000000000008152600481018390526024016102bd565b50600101611eba565b80158015611f21575081155b15611f425760405163d498615960e01b8152600060048201526024016102bd565b6000611f4d836120e3565b90506005811115611f745760405163d498615960e01b8152600481018290526024016102bd565b6000611f7f846120b1565b90506000611f8d8383612ee1565b9050601c811115611fb45760405163d498615960e01b8152600481018290526024016102bd565b6000805b83811015612020576000611fcf6116d98984612100565b90508060000361200b576040517ff44b422000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6120158184612ee1565b925050600101611fb8565b5061202a8661286a565b8114612055576120398661286a565b60405163d498615960e01b81526004016102bd91815260200190565b825b828110156111fe57600061206e6116d98984612100565b905080156120a8576040517ff44b422000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50600101612057565b6000600860016120c360026020613242565b6120cd9190613242565b6120d79190613255565b8260ff911c1692915050565b600060086001806120f660026020613242565b6120c39190613242565b6000601b8290036008028360ff911c1660c5811115610e0957610e09613124565b6000808260c581111561213657612136613124565b60ff169050606181101561215057601f1660010192915050565b60618360c581111561216457612164613124565b036121725750601492915050565b50600092915050565b50919050565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106121ba576121ba612eb5565b60209081029190910101526000610c9c7f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b611393565b6040805160208101879052808201869052606080820186905282518083039091018152608090910190915260006122318484610e96565b9050600061223f8585610eb3565b6040805160018082528183019092529192506000919060208083019080368337019050509050898160008151811061227957612279612eb5565b6020908102919091010152610f887f746273746f72650000000000000000005461626c657300000000000000000000828686867e600302202020000000000000000000000000000000000000000000000000006118b5565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061230757612307612eb5565b6020026020010181815250506123727f746273746f72650000000000000000005265736f75726365496473000000000060001b8260008560405160200161235591151560f81b815260010190565b60408051601f19818403018152919052630101000160d81b61181b565b505050565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361240157837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8484846040516123f49392919061326c565b60405180910390a2610de6565b600061240d8585611bee565b9050600061241a8661262e565b905060005b81518110156124ef57600082828151811061243c5761243c612eb5565b602002602001015190506124686004826affffffffffffffffffffff19166126b790919063ffffffff16565b156124e6576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d906124b3908b908b908b908b906004016132a9565b600060405180830381600087803b1580156124cd57600080fd5b505af11580156124e1573d6000803e3d6000fd5b505050505b5060010161241f565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8686866040516125249392919061326c565b60405180910390a261253f828565ffffffffffff168561288d565b60005b81518110156111fe57600082828151811061255f5761255f612eb5565b6020026020010151905061258b6008826affffffffffffffffffffff19166126b790919063ffffffff16565b15612609576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba8721906125d6908b908b908b908b906004016132a9565b600060405180830381600087803b1580156125f057600080fd5b505af1158015612604573d6000803e3d6000fd5b505050505b50600101612542565b6040805160208101849052908101829052600090606001611c03565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061266857612668612eb5565b602090810291909101015260006126a07f746273746f726500000000000000000053746f7265486f6f6b7300000000000083836128a3565b9050610ca86126b282600084516128dd565b61296b565b60008160ff16826126c88560581c90565b1660ff1614905092915050565b821561274f57602083106126ff576020830484019350602083816126fb576126fb61322c565b0692505b821561274f5760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411612740575050610de6565b50600194909401939182900391015b5b602082106127715780518455600190930192601f1990910190602001612750565b8115610de6576000600019600884021c8554835182191691161785555050505050565b600082826040516020016127a99291906131f0565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b600083836040516020016127ff9291906131f0565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b6000600861287a60026020613242565b6128849190613255565b9190911c919050565b6123728383835161289e8560200190565b6126d5565b6060610ca86128b38585856127ea565b60006128d8856128c3898961297c565b9060ff166028026038011c64ffffffffff1690565b61298f565b6000818311806128ed5750835182115b1561292a578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016102bd939291906132e2565b602084016129388482612ee1565b905060006129468585613242565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000610e0983601560006129b2565b6000610e0961298b8484612794565b5490565b60405160208101601f19603f8484010116604052828252611c7585858584612a2d565b606060006129c08560801c90565b90506fffffffffffffffffffffffffffffffff851660008582816129e6576129e661322c565b04905060405193506020840160208202810160405281855260005b82811015612a21578451871c825293870193602090910190600101612a01565b50505050509392505050565b8215612ab45760208310612a5757602083048401935060208381612a5357612a5361322c565b0692505b8215612ab4576020839003600081841015612a7a5750600019600884021c612a84565b50600019600882021c5b8554600886021b818451168219821617845250818411612aa5575050610de6565b50600194909401939182900391015b5b60208210612ad65783548152600190930192601f1990910190602001612ab5565b8115610de6576000600019600884021c8251865482191691161782525050505050565b600060208284031215612b0b57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610e0957600080fd5b634e487b7160e01b600052604160045260246000fd5b6040516060810167ffffffffffffffff81118282101715612b7457612b74612b3b565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715612ba357612ba3612b3b565b604052919050565b600067ffffffffffffffff821115612bc557612bc5612b3b565b50601f01601f191660200190565b600060208284031215612be557600080fd5b813567ffffffffffffffff811115612bfc57600080fd5b8201601f81018413612c0d57600080fd5b8035612c20612c1b82612bab565b612b7a565b818152856020838501011115612c3557600080fd5b81602084016020830137600091810160200191909152949350505050565b60005b83811015612c6e578181015183820152602001612c56565b50506000910152565b6000612c85612c1b84612bab565b9050828152838383011115612c9957600080fd5b610e09836020830184612c53565b600082601f830112612cb857600080fd5b610e0983835160208501612c77565b60008060408385031215612cda57600080fd5b825171ffffffffffffffffffffffffffffffffffff1981168114612cfd57600080fd5b602084015190925067ffffffffffffffff80821115612d1b57600080fd5b9084019060608287031215612d2f57600080fd5b612d37612b51565b825160ff81168114612d4857600080fd5b8152602083015182811115612d5c57600080fd5b612d6888828601612ca7565b602083015250604083015182811115612d8057600080fd5b612d8c88828601612ca7565b6040830152508093505050509250929050565b60008251612db1818460208701612c53565b9190910192915050565b8051602080830151919081101561217b5760001960209190910360031b1b16919050565b60008151808452612df7816020860160208601612c53565b601f01601f19169290920160200192915050565b828152604060208201526000610ca86040830184612ddf565b600060208284031215612e3657600080fd5b815167ffffffffffffffff811115612e4d57600080fd5b8201601f81018413612e5e57600080fd5b610ca884825160208401612c77565b600060208284031215612e7f57600080fd5b81516001600160a01b0381168114610e0957600080fd5b83815282602082015260606040820152600061136d6060830184612ddf565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b808201808211156101e1576101e1612ecb565b60008351612f06818460208801612c53565b835190830190612f1a818360208801612c53565b01949350505050565b60008151808452602080850194506020840160005b83811015612f5457815187529582019590820190600101612f38565b509495945050505050565b85815260a060208201526000612f7860a0830187612f23565b8281036040840152612f8a8187612ddf565b90508460608401528281036080840152612fa48185612ddf565b98975050505050505050565b848152608060208201526000612fc96080830186612f23565b60ff949094166040830152506060015292915050565b600060208284031215612ff157600080fd5b5051919050565b60008282518085526020808601955060208260051b8401016020860160005b8481101561304557601f19868403018952613033838351612ddf565b98840198925090830190600101613017565b5090979650505050505050565b86815285602082015284604082015283606082015260c06080820152600061307d60c0830185612ff8565b82810360a084015261308f8185612ff8565b9998505050505050505050565b85815260a0602082015260006130b560a0830187612f23565b60ff8616604084015282810360608401526130d08186612ddf565b9150508260808301529695505050505050565b7fffff0000000000000000000000000000000000000000000000000000000000008416815282602082015260606040820152600061136d6060830184612ddf565b634e487b7160e01b600052602160045260246000fd5b602081526000610e096020830184612ff8565b6080815260006131606080830187612f23565b82810360208401526131728187612ddf565b9050846040840152828103606084015261318c8185612ddf565b979650505050505050565b86815260c0602082015260006131b060c0830188612f23565b82810360408401526131c28188612ddf565b905085606084015282810360808401526131dc8186612ddf565b9150508260a0830152979650505050505050565b8281526000602080830184516020860160005b8281101561321f57815184529284019290840190600101613203565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b818103818111156101e1576101e1612ecb565b80820281158282048414176101e1576101e1612ecb565b60608152600061327f6060830186612f23565b65ffffffffffff85166020840152828103604084015261329f8185612ddf565b9695505050505050565b8481526080602082015260006132c26080830186612f23565b65ffffffffffff85166040840152828103606084015261318c8185612ddf565b6060815260006132f56060830186612ddf565b6020830194909452506040015291905056fea164736f6c6343000818000a608060405234801561001057600080fd5b50614793806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063472466c214610030575b600080fd5b61004361003e366004612090565b610045565b005b6000601082901c7dffffffffffffffffffffffffffff00000000000000000000000000000000167f6e73000000000000000000000000000000000000000000000000000000000000176040517fb29e40890000000000000000000000000000000000000000000000000000000081526004810182905290915073ffffffffffffffffffffffffffffffffffffffff84169063b29e408990602401600060405180830381600087803b1580156100f957600080fd5b505af115801561010d573d6000803e3d6000fd5b5050505061012261011d83610222565b61025a565b61013361012e836102d6565b610308565b61014461013f83610374565b6103a6565b8273ffffffffffffffffffffffffffffffffffffffff16633350b6a9610169846103fc565b60405161017590612083565b604051809103906000f080158015610191573d6000803e3d6000fd5b506040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff16602482015260016044820152606401600060405180830381600087803b15801561020557600080fd5b505af1158015610219573d6000803e3d6000fd5b50505050505050565b6000610254613a3160f11b837f416c6c6f77616e63657300000000000000000000000000000000000000000000610445565b92915050565b6102d3817e200100200000000000000000000000000000000000000000000000000000007e280200616100000000000000000000000000000000000000000000000000007e2001001f0000000000000000000000000000000000000000000000000000006102c66104cc565b6102ce6105a4565b61061b565b50565b6000610254613a3160f11b837f42616c616e636573000000000000000000000000000000000000000000000000610445565b6102d3817e200100200000000000000000000000000000000000000000000000000000007e140100610000000000000000000000000000000000000000000000000000007e2001001f0000000000000000000000000000000000000000000000000000006102c66106ee565b6000610254613a3160f11b837f4d65746164617461000000000000000000000000000000000000000000000000610445565b6102d3817e0101020100000000000000000000000000000000000000000000000000000060007e01010200c5c5000000000000000000000000000000000000000000000000006103f4610765565b6102ce610798565b60006102547f7379000000000000000000000000000000000000000000000000000000000000837f455243323053797374656d0000000000000000000000000000000000000000005b60006104536070601061211d565b7fffff00000000000000000000000000000000000000000000000000000000000085167dffffffffffffffffffffffffffff00000000000000000000000000000000601086901c16177fffffffffffffffffffffffffffffffff00000000000000000000000000000000841690911c1790509392505050565b6040805160028082526060828101909352816020015b60608152602001906001900390816104e25790505090506040518060400160405280600781526020017f6163636f756e74000000000000000000000000000000000000000000000000008152508160008151811061054257610542612130565b60200260200101819052506040518060400160405280600781526020017f7370656e646572000000000000000000000000000000000000000000000000008152508160018151811061059657610596612130565b602002602001018190525090565b604080516001808252818301909252606091816020015b60608152602001906001900390816105bb5790505090506040518060400160405280600581526020017f76616c75650000000000000000000000000000000000000000000000000000008152508160008151811061059657610596612130565b60006106256108b8565b90503073ffffffffffffffffffffffffffffffffffffffff82160361065757610652878787878787610904565b610219565b6040517f0ba51f4900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821690630ba51f49906106b3908a908a908a908a908a908a906004016121f0565b600060405180830381600087803b1580156106cd57600080fd5b505af11580156106e1573d6000803e3d6000fd5b5050505050505050505050565b604080516001808252818301909252606091816020015b60608152602001906001900390816107055790505090506040518060400160405280600781526020017f6163636f756e74000000000000000000000000000000000000000000000000008152508160008151811061059657610596612130565b60408051600080825260208201909252606091610792565b606081526020019060019003908161077d5790505b50905090565b60408051600380825260808201909252606091816020015b60608152602001906001900390816107b05790505090506040518060400160405280600881526020017f646563696d616c730000000000000000000000000000000000000000000000008152508160008151811061081057610810612130565b60200260200101819052506040518060400160405280600481526020017f6e616d65000000000000000000000000000000000000000000000000000000008152508160018151811061086457610864612130565b60200260200101819052506040518060400160405280600681526020017f73796d626f6c00000000000000000000000000000000000000000000000000008152508160028151811061059657610596612130565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e1755460009073ffffffffffffffffffffffffffffffffffffffff16806108ff573391505090565b919050565b613a3160f11b867fffff000000000000000000000000000000000000000000000000000000000000161480159061097d57507f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001614155b156109e757613a3160f11b868760405160200161099c91815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526109de93929160040161223a565b60405180910390fd5b6109f085610d70565b6109fb846001610fb7565b610a06836000610fb7565b60e084901c60e885901c0160ff16825114610a665760e084901c60e885901c0160ff1682516040517f0f72cb98000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016109de565b60e085901c60e886901c0160ff16815114610ac65760e085901c60e886901c0160ff1681516040517f7dec4c00000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016109de565b60e085901c60e886901c0160ff1660e084901c60e885901c0160ff1614610b3e5760e085901c60e886901c0160ff1660e084901c60e885901c0160ff166040517ff29d4d88000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016109de565b610b4785611153565b610b5084611153565b14610ba257610b5e85611153565b610b6784611153565b6040517f65cc0adf000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016109de565b610bab85611185565b610bb484611185565b14610c0657610bc285611185565b610bcb84611185565b6040517fedea9587000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016109de565b60005b610c1286611153565b811015610cad57610c3c610c2685836111a2565b60c5811115610c3757610c3761227b565b6111ca565b6008601b8390030287901c60ff1614610ca5576008601b8290030286901c60ff16610c6a610c2686846111a2565b6040517f254c7db4000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016109de565b600101610c09565b50610cb786611224565b15610d11578586604051602001610cd091815260200190565b60408051601f19818403018152908290527fdfaaf9cf0000000000000000000000000000000000000000000000000000000082526109de9291600401612291565b610d5d8686868686604051602001610d2991906122aa565b60405160208183030381529060405286604051602001610d4991906122aa565b6040516020818303038152906040526112c9565b610d688660016113ac565b505050505050565b80610da7576040517fa019e4da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610db282611185565b90506005811115610df9576040517f6793df6200000000000000000000000000000000000000000000000000000000815260048101829052600560248201526044016109de565b6000610e0483611153565b90506000610e12838361211d565b9050601c811115610e59576040517fecd893b900000000000000000000000000000000000000000000000000000000815260048101829052601c60248201526044016109de565b6000805b83811015610f045760ff601b82900360080287901c166000819003610eb1576040517f53b2dd05000000000000000000000000000000000000000000000000000000008152600481018390526024016109de565b6020811115610eef576040517f7237f237000000000000000000000000000000000000000000000000000000008152600481018390526024016109de565b610ef9818461211d565b925050600101610e5d565b50610f0e8561146a565b8114610f5a57610f1d8561146a565b6040517feba964de0000000000000000000000000000000000000000000000000000000081526004810191909152602481018290526044016109de565b825b601c811015610d685760ff601b82900360080287901c168015610fae576040517f1d8d44db000000000000000000000000000000000000000000000000000000008152600481018390526024016109de565b50600101610f5c565b80158015610fc3575081155b15610fe45760405163d498615960e01b8152600060048201526024016109de565b6000610fef83611185565b905060058111156110165760405163d498615960e01b8152600481018290526024016109de565b600061102184611153565b9050600061102f838361211d565b9050601c8111156110565760405163d498615960e01b8152600481018290526024016109de565b6000805b838110156110c2576000611071610c2689846111a2565b9050806000036110ad576040517ff44b422000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6110b7818461211d565b92505060010161105a565b506110cc8661146a565b81146110f7576110db8661146a565b60405163d498615960e01b81526004016109de91815260200190565b825b82811015610219576000611110610c2689846111a2565b9050801561114a576040517ff44b422000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001016110f9565b600060086001611165600260206122bd565b61116f91906122bd565b61117991906122d0565b8260ff911c1692915050565b60006008600180611198600260206122bd565b61116591906122bd565b6000601b8290036008028360ff911c1660c58111156111c3576111c361227b565b9392505050565b6000808260c58111156111df576111df61227b565b60ff16905060618110156111f957601f1660010192915050565b60618360c581111561120d5761120d61227b565b0361121b5750601492915050565b50600092915050565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061125d5761125d612130565b602090810291909101015260006112b57f746273746f72650000000000000000005265736f75726365496473000000000083837e0101000100000000000000000000000000000000000000000000000000000061148d565b90506112c18160f81c90565b949350505050565b60408051602081018790528082018690526060808201869052825180830390910181526080909101909152600061130084846114c3565b9050600061130e85856114e0565b6040805160018082528183019092529192506000919060208083019080368337019050509050898160008151811061134857611348612130565b60209081029190910101526113a07f746273746f72650000000000000000005461626c657300000000000000000000828686867e6003022020200000000000000000000000000000000000000000000000000061150c565b50505050505050505050565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106113e2576113e2612130565b6020026020010181815250506114657f746273746f72650000000000000000005265736f75726365496473000000000060001b8260008560405160200161143091151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611845565b505050565b6000600861147a600260206122bd565b61148491906122d0565b9190911c919050565b60006114ba61149c8686611861565b60ff858116601b0360080285901c166114b585876118b7565b6118f0565b95945050505050565b8151815160009181810160389190911b1760609190911b176111c3565b606082826040516020016114f59291906122e7565b604051602081830303815290604052905092915050565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361159857857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98686868660405161158b9493929190612352565b60405180910390a2610d68565b60006115a387611941565b905060005b815181101561167c5760008282815181106115c5576115c5612130565b602002602001015190506115f16001826affffffffffffffffffffff19166119ca90919063ffffffff16565b15611673576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90611640908c908c908c908c908c908c9060040161239c565b600060405180830381600087803b15801561165a57600080fd5b505af115801561166e573d6000803e3d6000fd5b505050505b506001016115a8565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9878787876040516116b39493929190612352565b60405180910390a260006116c78888611861565b905060006020870190506116df8260008951846119e8565b60006116ea85611185565b111561176e5760006116fc8a8a611aa6565b878155905060208601915060008060005b61171688611185565b8160ff1610156117695761172b8d8d83611afc565b92506117468a8260ff166028026038011c64ffffffffff1690565b915061175583600084886119e8565b61175f828661211d565b945060010161170d565b505050505b60005b83518110156113a057600084828151811061178e5761178e612130565b602002602001015190506117ba6002826affffffffffffffffffffff19166119ca90919063ffffffff16565b1561183c576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90611809908e908e908e908e908e908e9060040161239c565b600060405180830381600087803b15801561182357600080fd5b505af1158015611837573d6000803e3d6000fd5b505050505b50600101611771565b61185a858561185484876118b7565b85611b7c565b5050505050565b600082826040516020016118769291906123f5565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff168110156118e8576118de60ff601b83900360080287901c168361211d565b91506001016118bc565b509392505050565b6000602082106119165760208204840193506020828161191257611912612431565b0691505b508254600882021b6020829003808411156118e8576001850154600882021c82179150509392505050565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061197b5761197b612130565b602090810291909101015260006119b37f746273746f726500000000000000000053746f7265486f6f6b730000000000008383611e17565b90506112c16119c58260008451611e51565b611edf565b60008160ff16826119db8560581c90565b1660ff1614905092915050565b8215611a625760208310611a1257602083048401935060208381611a0e57611a0e612431565b0692505b8215611a625760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411611a53575050611aa0565b50600194909401939182900391015b5b60208210611a845780518455600190930192601f1990910190602001611a63565b8115611aa05783548151600019600885021c9182169119161784555b50505050565b60008282604051602001611abb9291906123f5565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b60008383604051602001611b119291906123f5565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff0000000000000000000000000000000000000000000000000000000000001603611c0657837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be848484604051611bf993929190612447565b60405180910390a2611aa0565b6000611c128585611861565b90506000611c1f86611941565b905060005b8151811015611cf4576000828281518110611c4157611c41612130565b60200260200101519050611c6d6004826affffffffffffffffffffff19166119ca90919063ffffffff16565b15611ceb576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90611cb8908b908b908b908b90600401612484565b600060405180830381600087803b158015611cd257600080fd5b505af1158015611ce6573d6000803e3d6000fd5b505050505b50600101611c24565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be868686604051611d2993929190612447565b60405180910390a2611d44828565ffffffffffff1685611ef0565b60005b8151811015610219576000828281518110611d6457611d64612130565b60200260200101519050611d906008826affffffffffffffffffffff19166119ca90919063ffffffff16565b15611e0e576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190611ddb908b908b908b908b90600401612484565b600060405180830381600087803b158015611df557600080fd5b505af1158015611e09573d6000803e3d6000fd5b505050505b50600101611d47565b60606112c1611e27858585611afc565b6000611e4c85611e378989611f06565b9060ff166028026038011c64ffffffffff1690565b611f19565b600081831180611e615750835182115b15611e9e578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016109de939291906124bd565b60208401611eac848261211d565b90506000611eba85856122bd565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b606060006111c38360156000611f3c565b61146583838351611f018560200190565b6119e8565b60006111c3611f158484611aa6565b5490565b60405160208101601f19603f84840101166040528282526118e885858584611fb7565b60606000611f4a8560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281611f7057611f70612431565b04905060405193506020840160208202810160405281855260005b82811015611fab578451871c825293870193602090910190600101611f8b565b50505050509392505050565b821561203e5760208310611fe157602083048401935060208381611fdd57611fdd612431565b0692505b821561203e5760208390036000818410156120045750600019600884021c61200e565b50600019600882021c5b8554600886021b81845116821982161784525081841161202f575050611aa0565b50600194909401939182900391015b5b602082106120605783548152600190930192601f199091019060200161203f565b8115611aa0576000600019600884021c8251865482191691161782525050505050565b6122a4806124e383390190565b600080604083850312156120a357600080fd5b823573ffffffffffffffffffffffffffffffffffffffff811681146120c757600080fd5b915060208301357fffffffffffffffffffffffffffff000000000000000000000000000000000000811681146120fc57600080fd5b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561025457610254612107565b634e487b7160e01b600052603260045260246000fd5b60005b83811015612161578181015183820152602001612149565b50506000910152565b60008151808452612182816020860160208601612146565b601f01601f19169290920160200192915050565b60008282518085526020808601955060208260051b8401016020860160005b848110156121e357601f198684030189526121d183835161216a565b988401989250908301906001016121b5565b5090979650505050505050565b86815285602082015284604082015283606082015260c06080820152600061221b60c0830185612196565b82810360a084015261222d8185612196565b9998505050505050505050565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006114ba606083018461216a565b634e487b7160e01b600052602160045260246000fd5b8281526040602082015260006112c1604083018461216a565b6020815260006111c36020830184612196565b8181038181111561025457610254612107565b808202811582820484141761025457610254612107565b600083516122f9818460208801612146565b83519083019061230d818360208801612146565b01949350505050565b60008151808452602080850194506020840160005b838110156123475781518752958201959082019060010161232b565b509495945050505050565b6080815260006123656080830187612316565b8281036020840152612377818761216a565b90508460408401528281036060840152612391818561216a565b979650505050505050565b86815260c0602082015260006123b560c0830188612316565b82810360408401526123c7818861216a565b905085606084015282810360808401526123e1818661216a565b9150508260a0830152979650505050505050565b8281526000602080830184516020860160005b8281101561242457815184529284019290840190600101612408565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b60608152600061245a6060830186612316565b65ffffffffffff85166020840152828103604084015261247a818561216a565b9695505050505050565b84815260806020820152600061249d6080830186612316565b65ffffffffffff851660408401528281036060840152612391818561216a565b6060815260006124d0606083018661216a565b6020830194909452506040015291905056fe608060405234801561001057600080fd5b50612284806100206000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806340c10f19116100975780639dc29fac116100665780639dc29fac146101e8578063a9059cbb146101fb578063dd62ed3e1461020e578063e1af802c1461022157600080fd5b806340c10f19146101ad57806345ec9354146101c257806370a08231146101cd57806395d89b41146101e057600080fd5b8063119df25f116100d3578063119df25f1461014a57806318160ddd1461016a57806323b872dd14610180578063313ce5671461019357600080fd5b806301ffc9a7146100fa57806306fdde0314610122578063095ea7b314610137575b600080fd5b61010d610108366004611d13565b610229565b60405190151581526020015b60405180910390f35b61012a6102c2565b6040516101199190611da5565b61010d610145366004611dcf565b6102e1565b610152610303565b6040516001600160a01b039091168152602001610119565b61017261030d565b604051908152602001610119565b61010d61018e366004611df9565b610327565b61019b610357565b60405160ff9091168152602001610119565b6101c06101bb366004611dcf565b61036c565b005b36601f190135610172565b6101726101db366004611e35565b6103cc565b61012a6103e7565b6101c06101f6366004611dcf565b6103fc565b61010d610209366004611dcf565b610453565b61017261021c366004611e50565b61046b565b610152610487565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee1270000000000000000000000000000000000000000000000000000000014806102bc57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60606102dc6102d76102d2610491565b6104af565b6104e1565b905090565b6000806102ec610303565b90506102f9818585610507565b5060019392505050565b60006102dc610665565b60006102dc61032261031d610491565b610697565b6106c9565b600080610332610303565b905061033f8582856106ee565b61034a858585610776565b60019150505b9392505050565b60006102dc6103676102d2610491565b61080c565b610374610854565b6001600160a01b0382166103bc576040517fec442f05000000000000000000000000000000000000000000000000000000008152600060048201526024015b60405180910390fd5b6103c86000838361086f565b5050565b60006102bc6103e16103dc610491565b610a37565b83610a69565b60606102dc6103f76102d2610491565b610ad7565b610404610854565b6001600160a01b038216610447576040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600060048201526024016103b3565b6103c88260008361086f565b60008061045e610303565b90506102f9818585610776565b600061035061048061047b610491565b610af6565b8484610b28565b60006102dc610bc3565b60008061049d30610bcd565b90506104a98160101b90565b91505090565b60006102bc613a3160f11b837f4d65746164617461000000000000000000000000000000000000000000000000610c52565b604080516000808252602082019092526060916104ff848383610cca565b949350505050565b6001600160a01b03831661054a576040517fe602df05000000000000000000000000000000000000000000000000000000008152600060048201526024016103b3565b6001600160a01b03821661058d576040517f94280d62000000000000000000000000000000000000000000000000000000008152600060048201526024016103b3565b6105a361059b61047b610491565b848484610d91565b6105ab610e48565b6001600160a01b031663c9a34acd7f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9256105ea866001600160a01b031690565b6001600160a01b0386166040805160208101889052016040516020818303038152906040526040518563ffffffff1660e01b815260040161062e9493929190611e99565b600060405180830381600087803b15801561064857600080fd5b505af115801561065c573d6000803e3d6000fd5b50505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806106945750335b90565b60006102bc613a3160f11b837f546f74616c537570706c79000000000000000000000000000000000000000000610c52565b6040805160008082526020820190925260006104ff848383630100080160dd1b610f23565b60006107056106fe61047b610491565b8585610b28565b905060001981146107705781811015610763576040517ffb8f41b20000000000000000000000000000000000000000000000000000000081526001600160a01b038416600482015260248101829052604481018390526064016103b3565b6107708484848403610507565b50505050565b6001600160a01b0383166107b9576040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600060048201526024016103b3565b6001600160a01b0382166107fc576040517fec442f05000000000000000000000000000000000000000000000000000000008152600060048201526024016103b3565b61080783838361086f565b505050565b6040805160008082526020820190925260006108498483837e01010201000000000000000000000000000000000000000000000000000000610f23565b60f81c949350505050565b61086d61086030610bcd565b610868610303565b610fe0565b565b6000610879610491565b9050600061088682610697565b9050600061089383610a37565b90506001600160a01b0386166108c5576108c082856108b1856106c9565b6108bb9190611ed4565b611081565b610935565b60006108d18288610a69565b905084811015610926576040517fe450d38c0000000000000000000000000000000000000000000000000000000081526001600160a01b038816600482015260248101829052604481018690526064016103b3565b61093382888784036110a8565b505b6001600160a01b03851661095c576109578285610951856106c9565b03611081565b610972565b61097281868661096c858a610a69565b016110a8565b61097a610e48565b6001600160a01b031663c9a34acd7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6109b9896001600160a01b031690565b6001600160a01b03891660408051602081018b9052016040516020818303038152906040526040518563ffffffff1660e01b81526004016109fd9493929190611e99565b600060405180830381600087803b158015610a1757600080fd5b505af1158015610a2b573d6000803e3d6000fd5b50505050505050505050565b60006102bc613a3160f11b837f42616c616e636573000000000000000000000000000000000000000000000000610c52565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b81600081518110610aae57610aae611ee7565b60209081029190910101526000610ace858383630100080160dd1b610f23565b95945050505050565b604080516000808252602082019092526060916104ff84836001610cca565b60006102bc613a3160f11b837f416c6c6f77616e63657300000000000000000000000000000000000000000000610c52565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b81600081518110610b6d57610b6d611ee7565b602002602001018181525050826001600160a01b031660001b81600181518110610b9957610b99611ee7565b60209081029190910101526000610bb9868383630100080160dd1b610f23565b9695505050505050565b60006102dc611110565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b81600081518110610c1257610c12611ee7565b602090810291909101015260006104ff7f7462776f726c6400000000000000000053797374656d526567697374727900008383630100080160dd1b610f23565b6000610c6060706010611ed4565b7fffff00000000000000000000000000000000000000000000000000000000000085167dffffffffffffffffffffffffffff00000000000000000000000000000000601086901c16176fffffffffffffffffffffffffffffffff19841690911c1790509392505050565b60606000610cd6611110565b9050306001600160a01b03821603610cfb57610cf385858561114f565b915050610350565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e78897790610d4490889088908890600401611f39565b600060405180830381865afa158015610d61573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610cf39190810190611f65565b509392505050565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110610dd257610dd2611ee7565b602002602001018181525050826001600160a01b031660001b81600181518110610dfe57610dfe611ee7565b602002602001018181525050610e418582600085604051602001610e2491815260200190565b60408051601f19818403018152919052630100080160dd1b611189565b5050505050565b600080610e5430610bcd565b60408051613a3160f11b60208201527f707570706574000000000000000000000000000000000000000000000000000060228201527f50757070657452656769737472790000000000000000000000000000000000006030820152919250600091610ed89101604051602081830303815290604052610ed290612012565b8361120c565b90506001600160a01b0381166102bc576040517f9434f7e1000000000000000000000000000000000000000000000000000000008152306004820152602481018390526044016103b3565b600080610f2e611110565b9050306001600160a01b03821603610f5457610f4c86868686611289565b9150506104ff565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990610f9f908990899089908990600401612039565b602060405180830381865afa158015610fbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4c9190612068565b6001600160a01b0381166110357f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff000000000000000000000000000000008516176112b6565b6001600160a01b0316146103c85761104c82611352565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016103b3929190612081565b60408051600080825260208201835291810183905290610807908490839060608201610e24565b60408051600180825281830190925260009160208083019080368337019050509050826001600160a01b031660001b816000815181106110ea576110ea611ee7565b6020026020010181815250506107708482600085604051602001610e2491815260200190565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b03168061114a573391505090565b919050565b60606104ff61115f858585611480565b60006111848561116f8989611500565b9060ff166028026038011c64ffffffffff1690565b611513565b6000611193611110565b9050306001600160a01b038216036111b7576111b28686868686611536565b611204565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae0906109fd90899089908990899089906004016120ac565b505050505050565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061124557611245611ee7565b6020908102919091010152600061127d8583837e14010014000000000000000000000000000000000000000000000000000000610f23565b60601c95945050505050565b6000610ace611298868661154b565b60ff858116601b0360080285901c166112b185876115a1565b6115d2565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106112ef576112ef611ee7565b602090810291909101015260006113477f7462776f726c640000000000000000004e616d6573706163654f776e6572000083837e14010014000000000000000000000000000000000000000000000000000000610f23565b60601c949350505050565b606081601081901b600061136583611623565b9050827fffffffffffffffffffffffffffff0000000000000000000000000000000000008316156113c0576113bb7fffffffffffffffffffffffffffff000000000000000000000000000000000000841661163a565b6113f7565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff1983161561141e576114198361163a565b611455565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001611467939291906120f3565b6040516020818303038152906040529350505050919050565b60008383604051602001611495929190612181565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b600061035061150f84846116c0565b5490565b60405160208101601f19603f8484010116604052828252610d8985858584611716565b610e41858561154584876115a1565b856117e2565b60008282604051602001611560929190612181565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff16811015610d89576115c860ff601b83900360080287901c1683611ed4565b91506001016115a6565b6000602082106115f8576020820484019350602082816115f4576115f46121bd565b0691505b508254600882021b602082900380841115610d89576001850154600882021c82179150509392505050565b600061163160706010611ed4565b9190911b919050565b606060005b6010811015611690576fffffffffffffffffffffffffffffffff198316600882021b7fff0000000000000000000000000000000000000000000000000000000000000016156116905760010161163f565b604080516fffffffffffffffffffffffffffffffff198516602082015281516030909101909152818152806104ff565b600082826040516020016116d5929190612181565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b821561179d57602083106117405760208304840193506020838161173c5761173c6121bd565b0692505b821561179d5760208390036000818410156117635750600019600884021c61176d565b50600019600882021c5b8554600886021b81845116821982161784525081841161178e575050610770565b50600194909401939182900391015b5b602082106117bf5783548152600190930192601f199091019060200161179e565b8115610770576000600019600884021c8251865482191691161782525050505050565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361186c57837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161185f939291906121d3565b60405180910390a2610770565b6000611878858561154b565b9050600061188586611a7d565b905060005b815181101561195a5760008282815181106118a7576118a7611ee7565b602002602001015190506118d36004826affffffffffffffffffffff1916611b0690919063ffffffff16565b15611951576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d9061191e908b908b908b908b90600401612206565b600060405180830381600087803b15801561193857600080fd5b505af115801561194c573d6000803e3d6000fd5b505050505b5060010161188a565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161198f939291906121d3565b60405180910390a26119aa828565ffffffffffff1685611b24565b60005b815181101561065c5760008282815181106119ca576119ca611ee7565b602002602001015190506119f66008826affffffffffffffffffffff1916611b0690919063ffffffff16565b15611a74576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190611a41908b908b908b908b90600401612206565b600060405180830381600087803b158015611a5b57600080fd5b505af1158015611a6f573d6000803e3d6000fd5b505050505b506001016119ad565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110611ab757611ab7611ee7565b60209081029190910101526000611aef7f746273746f726500000000000000000053746f7265486f6f6b73000000000000838361114f565b90506104ff611b018260008451611b3a565b611bc8565b60008160ff1682611b178560581c90565b1660ff1614905092915050565b61080783838351611b358560200190565b611bd9565b600081831180611b4a5750835182115b15611b87578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016103b39392919061223f565b60208401611b958482611ed4565b90506000611ba38585612264565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b606060006103508360156000611c98565b8215611c535760208310611c0357602083048401935060208381611bff57611bff6121bd565b0692505b8215611c535760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411611c44575050610770565b50600194909401939182900391015b5b60208210611c755780518455600190930192601f1990910190602001611c54565b8115610770576000600019600884021c8554835182191691161785555050505050565b60606000611ca68560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281611ccc57611ccc6121bd565b04905060405193506020840160208202810160405281855260005b82811015611d07578451871c825293870193602090910190600101611ce7565b50505050509392505050565b600060208284031215611d2557600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461035057600080fd5b60005b83811015611d70578181015183820152602001611d58565b50506000910152565b60008151808452611d91816020860160208601611d55565b601f01601f19169290920160200192915050565b6020815260006103506020830184611d79565b80356001600160a01b038116811461114a57600080fd5b60008060408385031215611de257600080fd5b611deb83611db8565b946020939093013593505050565b600080600060608486031215611e0e57600080fd5b611e1784611db8565b9250611e2560208501611db8565b9150604084013590509250925092565b600060208284031215611e4757600080fd5b61035082611db8565b60008060408385031215611e6357600080fd5b611e6c83611db8565b9150611e7a60208401611db8565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b848152836020820152826040820152608060608201526000610bb96080830184611d79565b634e487b7160e01b600052601160045260246000fd5b808201808211156102bc576102bc611ebe565b634e487b7160e01b600052603260045260246000fd5b60008151808452602080850194506020840160005b83811015611f2e57815187529582019590820190600101611f12565b509495945050505050565b838152606060208201526000611f526060830185611efd565b905060ff83166040830152949350505050565b600060208284031215611f7757600080fd5b815167ffffffffffffffff80821115611f8f57600080fd5b818401915084601f830112611fa357600080fd5b815181811115611fb557611fb5611e83565b604051601f8201601f19908116603f01168101908382118183101715611fdd57611fdd611e83565b81604052828152876020848701011115611ff657600080fd5b612007836020830160208801611d55565b979650505050505050565b80516020808301519190811015612033576000198160200360031b1b821691505b50919050565b8481526080602082015260006120526080830186611efd565b60ff949094166040830152506060015292915050565b60006020828403121561207a57600080fd5b5051919050565b6040815260006120946040830185611d79565b90506001600160a01b03831660208301529392505050565b85815260a0602082015260006120c560a0830187611efd565b60ff8616604084015282810360608401526120e08186611d79565b9150508260808301529695505050505050565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a000000000000000000000000000000000000000000000000000000000000008060028401528451612154816003860160208901611d55565b808401905081600382015284519150612174826004830160208801611d55565b0160040195945050505050565b8281526000602080830184516020860160005b828110156121b057815184529284019290840190600101612194565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b6060815260006121e66060830186611efd565b65ffffffffffff851660208401528281036040840152610bb98185611d79565b84815260806020820152600061221f6080830186611efd565b65ffffffffffff8516604084015282810360608401526120078185611d79565b6060815260006122526060830186611d79565b60208301949094525060400152919050565b818103818111156102bc576102bc611ebe56fea164736f6c6343000818000aa164736f6c6343000818000a","sourceMap":"1122:1793:147:-:0;;;;;644:4:59;600:49;;1263:36:147;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1215:85:147;;;1122:1793;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100725760003560e01c806345ec93541161005057806345ec9354146100d45780637c5b0335146100e7578063e1af802c146100fa57600080fd5b806301ffc9a714610077578063119df25f1461009f57806313861fb5146100bf575b600080fd5b61008a610085366004612af9565b610102565b60405190151581526020015b60405180910390f35b6100a76101e7565b6040516001600160a01b039091168152602001610096565b6100d26100cd366004612bd3565b6101f6565b005b604051601f193601358152602001610096565b6100d26100f5366004612bd3565b610749565b6100a761077b565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f6fdd1c8000000000000000000000000000000000000000000000000000000000148061019557507fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee12700000000000000000000000000000000000000000000000000000000145b806101e157507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101f1610785565b905090565b6102207f0000000000000000000000000000000000000000000000000000000000000000826107b7565b600080828060200190518101906102379190612cc7565b90925090507f9a8d9ccdcfd28f8a8f8f9a8c000000000000000000000000000000000000000071ffffffffffffffffffffffffffffffffffff198316016102c6576040517f0f31c63c00000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff19831660048201526024015b60405180910390fd5b60006102d061077b565b90506000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316838660405160240161033b9291906001600160a01b0392909216825271ffffffffffffffffffffffffffffffffffff1916602082015260400190565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f472466c2000000000000000000000000000000000000000000000000000000001790525161039e9190612d9f565b600060405180830381855af49150503d80600081146103d9576040519150601f19603f3d011682016040523d82523d6000602084013e6103de565b606091505b5091509150816103f1576103f1816107fc565b6104036103fd86610804565b85610836565b600061040e866108d8565b9050600061041c8583610925565b90507f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000601089901c16176001600160a01b03861663ef5d6bbb8261047d6101e7565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815260048101929092526001600160a01b03166024820152604401600060405180830381600087803b1580156104dc57600080fd5b505af11580156104f0573d6000803e3d6000fd5b505060408051613a3160f11b60208201527f65726332302d707570706574000000000000000000000000000000000000000060228201527f45524332305265676973747279000000000000000000000000000000000000006030820152610572935001905060405160208183030381529060405261056d90612dbb565b610c23565b6106bf576040517f6e7300000000000000000000000000000000000000000000000000000000000060208201527f65726332302d707570706574000000000000000000000000000000000000000060228201526001600160a01b0387169063b29e4089906030016040516020818303038152906040526105f190612dbb565b6040518263ffffffff1660e01b815260040161060f91815260200190565b600060405180830381600087803b15801561062957600080fd5b505af115801561063d573d6000803e3d6000fd5b505060408051613a3160f11b60208201527f65726332302d707570706574000000000000000000000000000000000000000060228201527f455243323052656769737472790000000000000000000000000000000000000060308201526106bf93500190506040516020818303038152906040526106ba90612dbb565b610cb0565b60408051613a3160f11b60208201527f65726332302d707570706574000000000000000000000000000000000000000060228201527f4552433230526567697374727900000000000000000000000000000000000000603082015261073e910160405160208183030381529060405261073790612dbb565b8284610d2c565b505050505050505050565b6040517fb6622fc000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006101f1610dec565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806107b45750335b90565b6107c18282610df6565b156107f8576040517f1401206800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b805160208201fd5b60006101e1613a3160f11b837f4d65746164617461000000000000000000000000000000000000000000000000610e10565b600061088582600001516040805160f89290921b7fff00000000000000000000000000000000000000000000000000000000000000166020830152805160018184030181526021909201905290565b9050600061089b83602001518460400151610e96565b905060006108b184602001518560400151610eb3565b6040805160008152602081019091529091506108d08682868686610edf565b505050505050565b60006101e17f7379000000000000000000000000000000000000000000000000000000000000837f455243323053797374656d000000000000000000000000000000000000000000610e10565b604080517f737900000000000000000000000000000000000000000000000000000000000060208201527f707570706574000000000000000000000000000000000000000000000000000060228201527f466163746f72790000000000000000000000000000000000000000000000000060308201526000916001600160a01b03851691633ae7af0891016040516020818303038152906040526109c890612dbb565b6040516024810186905260440160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb9eb8bfb00000000000000000000000000000000000000000000000000000000179052517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152610a65929190600401612e0b565b6000604051808303816000875af1158015610a84573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610aac9190810190612e24565b806020019051810190610abf9190612e6d565b90506001600160a01b03831663bfdfaff77f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617604080517f737900000000000000000000000000000000000000000000000000000000000060208201527f707570706574000000000000000000000000000000000000000000000000000060228201527f44656c65676174696f6e00000000000000000000000000000000000000000000603082015201604051602081830303815290604052610ba290612dbb565b604080516000815260208101918290527fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16909152610beb92919060248101612e96565b600060405180830381600087803b158015610c0557600080fd5b505af1158015610c19573d6000803e3d6000fd5b5050505092915050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610c5c57610c5c612eb5565b60209081029190910101526000610c9c7f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b610f94565b9050610ca88160f81c90565b949350505050565b610d29817e140100140000000000000000000000000000000000000000000000000000007e2001005f0000000000000000000000000000000000000000000000000000007e14010061000000000000000000000000000000000000000000000000000000610d1c611051565b610d246110d6565b61114d565b50565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610d6257610d62612eb5565b602002602001018181525050610de68482600085604051602001610db1919060609190911b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016815260140190565b60408051601f198184030181529190527e14010014000000000000000000000000000000000000000000000000000000611207565b50505050565b60006101f161127d565b6000610e098383805190602001206112bc565b9392505050565b6000610e1e60706010612ee1565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316901c601084901c7dffffffffffffffffffffffffffff00000000000000000000000000000000167fffff0000000000000000000000000000000000000000000000000000000000008616171790509392505050565b8151815160009181810160389190911b1760609190911b17610e09565b60608282604051602001610ec8929190612ef4565b604051602081830303815290604052905092915050565b6000610ee961127d565b9050306001600160a01b03821603610f0d57610f088686868686611376565b6108d0565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb90610f5a9089908990899089908990600401612f5f565b600060405180830381600087803b158015610f7457600080fd5b505af1158015610f88573d6000803e3d6000fd5b50505050505050505050565b600080610f9f61127d565b9050306001600160a01b03821603610fc557610fbd86868686611393565b915050610ca8565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990611010908990899089908990600401612fb0565b602060405180830381865afa15801561102d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fbd9190612fdf565b604080516001808252818301909252606091816020015b60608152602001906001900390816110685790505090506040518060400160405280600b81526020017f6e616d6573706163654964000000000000000000000000000000000000000000815250816000815181106110c8576110c8612eb5565b602002602001018190525090565b604080516001808252818301909252606091816020015b60608152602001906001900390816110ed5790505090506040518060400160405280600c81526020017f746f6b656e416464726573730000000000000000000000000000000000000000815250816000815181106110c8576110c8612eb5565b600061115761127d565b9050306001600160a01b0382160361117c576111778787878787876113c0565b6111fe565b6040517f0ba51f490000000000000000000000000000000000000000000000000000000081526001600160a01b03821690630ba51f49906111cb908a908a908a908a908a908a90600401613052565b600060405180830381600087803b1580156111e557600080fd5b505af11580156111f9573d6000803e3d6000fd5b505050505b50505050505050565b600061121161127d565b9050306001600160a01b0382160361123057610f08868686868661181b565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090610f5a908990899089908990899060040161309c565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b0316806112b7573391505090565b919050565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b8160008151811061130157611301612eb5565b602002602001018181525050828160018151811061132157611321612eb5565b602090810291909101015260006113617f7462776f726c64000000000000000000496e7374616c6c65644d6f64756c65738383630101000160d81b610f94565b905061136d8160f81c90565b95945050505050565b61138c85858585856113878b611830565b6118b5565b5050505050565b600061136d6113a28686611bee565b60ff858116601b0360080285901c166113bb8587611c44565b611c7d565b613a3160f11b867fffff000000000000000000000000000000000000000000000000000000000000161480159061143957507f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001614155b1561149a57613a3160f11b868760405160200161145891815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526102bd9392916004016130e3565b6114a385611cce565b6114ae846001611f15565b6114b9836000611f15565b60e084901c60e885901c0160ff168251146115195760e084901c60e885901c0160ff1682516040517f0f72cb98000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b60e085901c60e886901c0160ff168151146115795760e085901c60e886901c0160ff1681516040517f7dec4c00000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b60e085901c60e886901c0160ff1660e084901c60e885901c0160ff16146115f15760e085901c60e886901c0160ff1660e084901c60e885901c0160ff166040517ff29d4d88000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b6115fa856120b1565b611603846120b1565b1461165557611611856120b1565b61161a846120b1565b6040517f65cc0adf000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b61165e856120e3565b611667846120e3565b146116b957611675856120e3565b61167e846120e3565b6040517fedea9587000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b60005b6116c5866120b1565b811015611760576116ef6116d98583612100565b60c58111156116ea576116ea613124565b612121565b6008601b8390030287901c60ff1614611758576008601b8290030286901c60ff1661171d6116d98684612100565b6040517f254c7db4000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b6001016116bc565b5061176a86612181565b156117c457858660405160200161178391815260200190565b60408051601f19818403018152908290527fdfaaf9cf0000000000000000000000000000000000000000000000000000000082526102bd9291600401612e0b565b61181086868686866040516020016117dc919061313a565b604051602081830303815290604052866040516020016117fc919061313a565b6040516020818303038152906040526121fa565b6108d08660016122d1565b61138c858561182a8487611c44565b85612377565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161187f57507e60030220202000000000000000000000000000000000000000000000000000919050565b6101e16118ac7f746273746f72650000000000000000005461626c65730000000000000000000084612612565b60206000611c7d565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361194157857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a986868686604051611934949392919061314d565b60405180910390a26108d0565b600061194c8761262e565b905060005b8151811015611a2557600082828151811061196e5761196e612eb5565b6020026020010151905061199a6001826affffffffffffffffffffff19166126b790919063ffffffff16565b15611a1c576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c906119e9908c908c908c908c908c908c90600401613197565b600060405180830381600087803b158015611a0357600080fd5b505af1158015611a17573d6000803e3d6000fd5b505050505b50600101611951565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a987878787604051611a5c949392919061314d565b60405180910390a26000611a708888611bee565b90506000602087019050611a888260008951846126d5565b6000611a93856120e3565b1115611b17576000611aa58a8a612794565b878155905060208601915060008060005b611abf886120e3565b8160ff161015611b1257611ad48d8d836127ea565b9250611aef8a8260ff166028026038011c64ffffffffff1690565b9150611afe83600084886126d5565b611b088286612ee1565b9450600101611ab6565b505050505b60005b8351811015610f88576000848281518110611b3757611b37612eb5565b60200260200101519050611b636002826affffffffffffffffffffff19166126b790919063ffffffff16565b15611be5576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90611bb2908e908e908e908e908e908e90600401613197565b600060405180830381600087803b158015611bcc57600080fd5b505af1158015611be0573d6000803e3d6000fd5b505050505b50600101611b1a565b60008282604051602001611c039291906131f0565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff16811015611c7557611c6b60ff601b83900360080287901c1683612ee1565b9150600101611c49565b509392505050565b600060208210611ca357602082048401935060208281611c9f57611c9f61322c565b0691505b508254600882021b602082900380841115611c75576001850154600882021c82179150509392505050565b80611d05576040517fa019e4da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611d10826120e3565b90506005811115611d57576040517f6793df6200000000000000000000000000000000000000000000000000000000815260048101829052600560248201526044016102bd565b6000611d62836120b1565b90506000611d708383612ee1565b9050601c811115611db7576040517fecd893b900000000000000000000000000000000000000000000000000000000815260048101829052601c60248201526044016102bd565b6000805b83811015611e625760ff601b82900360080287901c166000819003611e0f576040517f53b2dd05000000000000000000000000000000000000000000000000000000008152600481018390526024016102bd565b6020811115611e4d576040517f7237f237000000000000000000000000000000000000000000000000000000008152600481018390526024016102bd565b611e578184612ee1565b925050600101611dbb565b50611e6c8561286a565b8114611eb857611e7b8561286a565b6040517feba964de0000000000000000000000000000000000000000000000000000000081526004810191909152602481018290526044016102bd565b825b601c8110156108d05760ff601b82900360080287901c168015611f0c576040517f1d8d44db000000000000000000000000000000000000000000000000000000008152600481018390526024016102bd565b50600101611eba565b80158015611f21575081155b15611f425760405163d498615960e01b8152600060048201526024016102bd565b6000611f4d836120e3565b90506005811115611f745760405163d498615960e01b8152600481018290526024016102bd565b6000611f7f846120b1565b90506000611f8d8383612ee1565b9050601c811115611fb45760405163d498615960e01b8152600481018290526024016102bd565b6000805b83811015612020576000611fcf6116d98984612100565b90508060000361200b576040517ff44b422000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6120158184612ee1565b925050600101611fb8565b5061202a8661286a565b8114612055576120398661286a565b60405163d498615960e01b81526004016102bd91815260200190565b825b828110156111fe57600061206e6116d98984612100565b905080156120a8576040517ff44b422000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50600101612057565b6000600860016120c360026020613242565b6120cd9190613242565b6120d79190613255565b8260ff911c1692915050565b600060086001806120f660026020613242565b6120c39190613242565b6000601b8290036008028360ff911c1660c5811115610e0957610e09613124565b6000808260c581111561213657612136613124565b60ff169050606181101561215057601f1660010192915050565b60618360c581111561216457612164613124565b036121725750601492915050565b50600092915050565b50919050565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106121ba576121ba612eb5565b60209081029190910101526000610c9c7f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b611393565b6040805160208101879052808201869052606080820186905282518083039091018152608090910190915260006122318484610e96565b9050600061223f8585610eb3565b6040805160018082528183019092529192506000919060208083019080368337019050509050898160008151811061227957612279612eb5565b6020908102919091010152610f887f746273746f72650000000000000000005461626c657300000000000000000000828686867e600302202020000000000000000000000000000000000000000000000000006118b5565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061230757612307612eb5565b6020026020010181815250506123727f746273746f72650000000000000000005265736f75726365496473000000000060001b8260008560405160200161235591151560f81b815260010190565b60408051601f19818403018152919052630101000160d81b61181b565b505050565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361240157837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8484846040516123f49392919061326c565b60405180910390a2610de6565b600061240d8585611bee565b9050600061241a8661262e565b905060005b81518110156124ef57600082828151811061243c5761243c612eb5565b602002602001015190506124686004826affffffffffffffffffffff19166126b790919063ffffffff16565b156124e6576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d906124b3908b908b908b908b906004016132a9565b600060405180830381600087803b1580156124cd57600080fd5b505af11580156124e1573d6000803e3d6000fd5b505050505b5060010161241f565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8686866040516125249392919061326c565b60405180910390a261253f828565ffffffffffff168561288d565b60005b81518110156111fe57600082828151811061255f5761255f612eb5565b6020026020010151905061258b6008826affffffffffffffffffffff19166126b790919063ffffffff16565b15612609576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba8721906125d6908b908b908b908b906004016132a9565b600060405180830381600087803b1580156125f057600080fd5b505af1158015612604573d6000803e3d6000fd5b505050505b50600101612542565b6040805160208101849052908101829052600090606001611c03565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061266857612668612eb5565b602090810291909101015260006126a07f746273746f726500000000000000000053746f7265486f6f6b7300000000000083836128a3565b9050610ca86126b282600084516128dd565b61296b565b60008160ff16826126c88560581c90565b1660ff1614905092915050565b821561274f57602083106126ff576020830484019350602083816126fb576126fb61322c565b0692505b821561274f5760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411612740575050610de6565b50600194909401939182900391015b5b602082106127715780518455600190930192601f1990910190602001612750565b8115610de6576000600019600884021c8554835182191691161785555050505050565b600082826040516020016127a99291906131f0565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b600083836040516020016127ff9291906131f0565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b6000600861287a60026020613242565b6128849190613255565b9190911c919050565b6123728383835161289e8560200190565b6126d5565b6060610ca86128b38585856127ea565b60006128d8856128c3898961297c565b9060ff166028026038011c64ffffffffff1690565b61298f565b6000818311806128ed5750835182115b1561292a578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016102bd939291906132e2565b602084016129388482612ee1565b905060006129468585613242565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000610e0983601560006129b2565b6000610e0961298b8484612794565b5490565b60405160208101601f19603f8484010116604052828252611c7585858584612a2d565b606060006129c08560801c90565b90506fffffffffffffffffffffffffffffffff851660008582816129e6576129e661322c565b04905060405193506020840160208202810160405281855260005b82811015612a21578451871c825293870193602090910190600101612a01565b50505050509392505050565b8215612ab45760208310612a5757602083048401935060208381612a5357612a5361322c565b0692505b8215612ab4576020839003600081841015612a7a5750600019600884021c612a84565b50600019600882021c5b8554600886021b818451168219821617845250818411612aa5575050610de6565b50600194909401939182900391015b5b60208210612ad65783548152600190930192601f1990910190602001612ab5565b8115610de6576000600019600884021c8251865482191691161782525050505050565b600060208284031215612b0b57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610e0957600080fd5b634e487b7160e01b600052604160045260246000fd5b6040516060810167ffffffffffffffff81118282101715612b7457612b74612b3b565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715612ba357612ba3612b3b565b604052919050565b600067ffffffffffffffff821115612bc557612bc5612b3b565b50601f01601f191660200190565b600060208284031215612be557600080fd5b813567ffffffffffffffff811115612bfc57600080fd5b8201601f81018413612c0d57600080fd5b8035612c20612c1b82612bab565b612b7a565b818152856020838501011115612c3557600080fd5b81602084016020830137600091810160200191909152949350505050565b60005b83811015612c6e578181015183820152602001612c56565b50506000910152565b6000612c85612c1b84612bab565b9050828152838383011115612c9957600080fd5b610e09836020830184612c53565b600082601f830112612cb857600080fd5b610e0983835160208501612c77565b60008060408385031215612cda57600080fd5b825171ffffffffffffffffffffffffffffffffffff1981168114612cfd57600080fd5b602084015190925067ffffffffffffffff80821115612d1b57600080fd5b9084019060608287031215612d2f57600080fd5b612d37612b51565b825160ff81168114612d4857600080fd5b8152602083015182811115612d5c57600080fd5b612d6888828601612ca7565b602083015250604083015182811115612d8057600080fd5b612d8c88828601612ca7565b6040830152508093505050509250929050565b60008251612db1818460208701612c53565b9190910192915050565b8051602080830151919081101561217b5760001960209190910360031b1b16919050565b60008151808452612df7816020860160208601612c53565b601f01601f19169290920160200192915050565b828152604060208201526000610ca86040830184612ddf565b600060208284031215612e3657600080fd5b815167ffffffffffffffff811115612e4d57600080fd5b8201601f81018413612e5e57600080fd5b610ca884825160208401612c77565b600060208284031215612e7f57600080fd5b81516001600160a01b0381168114610e0957600080fd5b83815282602082015260606040820152600061136d6060830184612ddf565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b808201808211156101e1576101e1612ecb565b60008351612f06818460208801612c53565b835190830190612f1a818360208801612c53565b01949350505050565b60008151808452602080850194506020840160005b83811015612f5457815187529582019590820190600101612f38565b509495945050505050565b85815260a060208201526000612f7860a0830187612f23565b8281036040840152612f8a8187612ddf565b90508460608401528281036080840152612fa48185612ddf565b98975050505050505050565b848152608060208201526000612fc96080830186612f23565b60ff949094166040830152506060015292915050565b600060208284031215612ff157600080fd5b5051919050565b60008282518085526020808601955060208260051b8401016020860160005b8481101561304557601f19868403018952613033838351612ddf565b98840198925090830190600101613017565b5090979650505050505050565b86815285602082015284604082015283606082015260c06080820152600061307d60c0830185612ff8565b82810360a084015261308f8185612ff8565b9998505050505050505050565b85815260a0602082015260006130b560a0830187612f23565b60ff8616604084015282810360608401526130d08186612ddf565b9150508260808301529695505050505050565b7fffff0000000000000000000000000000000000000000000000000000000000008416815282602082015260606040820152600061136d6060830184612ddf565b634e487b7160e01b600052602160045260246000fd5b602081526000610e096020830184612ff8565b6080815260006131606080830187612f23565b82810360208401526131728187612ddf565b9050846040840152828103606084015261318c8185612ddf565b979650505050505050565b86815260c0602082015260006131b060c0830188612f23565b82810360408401526131c28188612ddf565b905085606084015282810360808401526131dc8186612ddf565b9150508260a0830152979650505050505050565b8281526000602080830184516020860160005b8281101561321f57815184529284019290840190600101613203565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b818103818111156101e1576101e1612ecb565b80820281158282048414176101e1576101e1612ecb565b60608152600061327f6060830186612f23565b65ffffffffffff85166020840152828103604084015261329f8185612ddf565b9695505050505050565b8481526080602082015260006132c26080830186612f23565b65ffffffffffff85166040840152828103606084015261318c8185612ddf565b6060815260006132f56060830186612ddf565b6020830194909452506040015291905056fea164736f6c6343000818000a","sourceMap":"1122:1793:147:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;984:308:59;;;;;;:::i;:::-;;:::i;:::-;;;516:14:227;;509:22;491:41;;479:2;464:18;984:308:59;;;;;;;;1262:113:64;;;:::i;:::-;;;-1:-1:-1;;;;;707:55:227;;;689:74;;677:2;662:18;1262:113:64;543:226:227;1305:1507:147;;;;;;:::i;:::-;;:::i;:::-;;1616:110:64;;;-1:-1:-1;;3800:14:64;3796:25;3783:39;2632:25:227;;2620:2;2605:18;1616:110:64;2486:177:227;2816:97:147;;;;;;:::i;:::-;;:::i;1942:98:64:-;;;:::i;984:308:59:-;1108:4;1133:40;;;1148:25;1133:40;;:104;;-1:-1:-1;1183:54:59;;;1198:39;1183:54;1133:104;:154;;;-1:-1:-1;1247:40:59;;;1262:25;1247:40;1133:154;1120:167;984:308;-1:-1:-1;;984:308:59:o;1262:113:64:-;1305:14;1334:36;:34;:36::i;:::-;1327:43;;1262:113;:::o;1305:1507:147:-;1427:40;1447:6;1455:11;1427:19;:40::i;:::-;1494:17;1513:33;1561:11;1550:53;;;;;;;;;;;;:::i;:::-;1493:110;;-1:-1:-1;1493:110:147;-1:-1:-1;1676:29:147;-1:-1:-1;;1676:29:147;;;1672:96;;1722:39;;;;;-1:-1:-1;;4839:79:227;;1722:39:147;;;4821:98:227;4794:18;;1722:39:147;;;;;;;;1672:96;1818:16;1848:8;:6;:8::i;:::-;1818:39;;1864:12;1878:23;1905:19;-1:-1:-1;;;;;1905:32:147;2002:5;2009:9;1945:75;;;;;;;;-1:-1:-1;;;;;5142:55:227;;;;5124:74;;-1:-1:-1;;5234:79:227;5229:2;5214:18;;5207:107;5112:2;5097:18;;4930:390;1945:75:147;;;;-1:-1:-1;;1945:75:147;;;;;;;;;;;;;;;;;;;;1905:121;;;1945:75;1905:121;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1863:163;;;;2037:7;2032:41;;2046:27;2062:10;2046:15;:27::i;:::-;2111:56;2129:27;2146:9;2129:16;:27::i;:::-;2158:8;2111:17;:56::i;:::-;2219:24;2246:25;2261:9;2246:14;:25::i;:::-;2219:52;;2277:14;2294:34;2307:5;2314:13;2294:12;:34::i;:::-;2277:51;-1:-1:-1;1597:18:65;1620:33;451:5:20;1620:33:65;;;;1589:65;-1:-1:-1;;;;;2468:23:147;;;1589:65:65;2505:12:147;:10;:12::i;:::-;2468:50;;;;;;;;;;;;;5822:25:227;;;;-1:-1:-1;;;;;5883:55:227;5863:18;;;5856:83;5795:18;;2468:50:147;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;803:76:153;;;-1:-1:-1;;;803:76:153;;;6133:92:227;836:16:153;6241:11:227;;;6234:100;854:24:153;6350:12:227;;;6343:101;2577:46:147;;-1:-1:-1;6460:12:227;;-1:-1:-1;803:76:153;;;;;;;;;;;;795:85;;;:::i;:::-;2577:21:147;:46::i;:::-;2572:167;;426:54:153;;443:18;426:54;;;7000:92:227;463:16:153;7108:11:227;;;7101:100;-1:-1:-1;;;;;2633:23:147;;;;;7217:12:227;;426:54:153;;;;;;;;;;;;418:63;;;:::i;:::-;2633:44:147;;;;;;;;;;;;;2632:25:227;;2620:2;2605:18;;2486:177;2633:44:147;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;803:76:153;;;-1:-1:-1;;;803:76:153;;;6133:92:227;836:16:153;6241:11:227;;;6234:100;854:24:153;6350:12:227;;;6343:101;2685:47:147;;-1:-1:-1;6460:12:227;;-1:-1:-1;803:76:153;;;;;;;;;;;;795:85;;;:::i;:::-;2685:22:147;:47::i;:::-;803:76:153;;;-1:-1:-1;;;803:76:153;;;6133:92:227;836:16:153;6241:11:227;;;6234:100;854:24:153;6350:12:227;;;6343:101;2744:63:147;;6460:12:227;803:76:153;;;;;;;;;;;;795:85;;;:::i;:::-;2787:11:147;2800:6;2744:17;:63::i;:::-;1355:1457;;;;;;;;1305:1507;:::o;2816:97::-;2876:32;;;;;;;;;;;;;;1942:98:64;1981:7;2003:32;:30;:32::i;2992:383::-;3278:34;3282:14;3278:34;3265:48;3259:4;3255:59;;3325:45;;-1:-1:-1;3360:10:64;3325:45;2992:383;:::o;1990:194:59:-;2092:39;2104:13;2119:11;2092;:39::i;:::-;2088:92;;;2148:25;;;;;;;;;;;;;;2088:92;1990:194;;:::o;348:217:103:-;551:6;545:13;538:4;530:6;526:17;519:40;1047:181:159;1106:10;1129:96;-1:-1:-1;;;1192:9:159;1209:13;1129:25;:96::i;14291:444:156:-;14373:24;14400:29;14413:6;:15;;;17383:26;;;10248:3:227;10244:16;;;;10262:66;10240:89;17383:26:156;;;10228:102:227;17383:26:156;;;;;;;;;10346:11:227;;;;17383:26:156;;;17295:119;14400:29;14373:56;;14436:30;14469:41;14483:6;:11;;;14496:6;:13;;;14469;:41::i;:::-;14436:74;;14516:25;14544:41;14558:6;:11;;;14571:6;:13;;;14544;:41::i;:::-;14621:16;;;14592:26;14621:16;;;;;;;;14516:69;;-1:-1:-1;14644:86:156;14666:8;14621:16;14687:11;14700:15;14516:69;14644:21;:86::i;:::-;14367:368;;;;14291:444;;:::o;1230:184:159:-;1287:10;1310:101;1346:15;1374:9;1391:17;1310:25;:101::i;799:322:197:-;740:64:196;;;757:15;740:64;;;6133:92:227;405:17:196;6241:11:227;;;6234:100;785:18:196;6350:12:227;;;6343:101;869:14:197;;-1:-1:-1;;;;;914:10:197;;;;;6460:12:227;740:64:196;;;;;;;;;;;;732:73;;;:::i;:::-;941:60:197;;;;;2632:25:227;;;2605:18;;941:60:197;;;-1:-1:-1;;941:60:197;;;;;;;;;;;;;;;;;;;;914:88;;941:60;914:88;;;;;;;;;941:60;914:88;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;914:88:197;;;;;;;;;;;;:::i;:::-;898:123;;;;;;;;;;;;:::i;:::-;889:132;-1:-1:-1;;;;;;1025:33:197;;;696:18:106;578:36:65;2955:46;;2954:74;603:67:196;;;620:15;603:67;;;6133:92:227;405:17:196;6241:11:227;;;6234:100;648:21:196;6350:12:227;;;6343:101;6460:12;603:67:196;;;;;;;;;;;;595:76;;;:::i;:::-;1105:12:197;;;1115:1;1105:12;;;;;;;;;1025:93;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;799:322;;;;:::o;2502:315:31:-;2615:16;;;2629:1;2615:16;;;;;;;;;2567:11;;;;2615:16;;;;;;;;;;;;-1:-1:-1;2615:16:31;2586:45;;2670:10;2637:9;2647:1;2637:12;;;;;;;;:::i;:::-;;;;;;;;;;:44;2688:13;2704:64;973:66;2741:9;2688:13;-1:-1:-1;;;2704:26:31;:64::i;:::-;2688:80;;2782:29;2803:5;2790:20;;7169:5;7083:97;2782:29;2774:38;2502:315;-1:-1:-1;;;;2502:315:31:o;2056:166:157:-;2110:107;2136:8;1045:66;1199;1356;2186:13;:11;:13::i;:::-;2201:15;:13;:15::i;:::-;2110:25;:107::i;:::-;2056:166;:::o;4768:301::-;4892:16;;;4906:1;4892:16;;;;;;;;;4863:26;;4892:16;;;;;;;;;;;-1:-1:-1;4892:16:157;4863:45;;4947:11;4914:9;4924:1;4914:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;4966:98;4993:8;5003:9;5014:1;5035:12;5017:32;;;;;;;9664:2:227;9660:15;;;;9677:66;9656:88;9644:101;;9770:2;9761:12;;9515:264;5017:32:157;;;;-1:-1:-1;;5017:32:157;;;;;;;;;1045:66;4966:26;:98::i;:::-;4857:212;4768:301;;;:::o;4048:97:64:-;4089:7;4111:29;:27;:29::i;1579:176:59:-;1672:4;1691:59;1712:13;1737:11;1727:22;;;;;;1691:20;:59::i;:::-;1684:66;1579:176;-1:-1:-1;;;1579:176:59:o;1046:257:65:-;1133:10;1262:26;438:6;451:5:20;1262:26:65;:::i;:::-;1244:13;;;:45;;451:5:20;1208:31:65;;;;;1189:15;;;:51;:101;;-1:-1:-1;1046:257:65;;;;;:::o;17605:336:156:-;17889:18;;17909:20;;17705:30;;2662:5:3;;;975:16;2694:39;;;;2675:59;2776:23;2761:39;;;;2742:59;17866:64:156;2518:351:3;18106:168:156;18194:12;18245:4;18260:6;18221:48;;;;;;;;;:::i;:::-;;;;;;;;;;;;;18214:55;;18106:168;;;;:::o;6458:480:28:-;6645:21;6669:17;:15;:17::i;:::-;6645:41;-1:-1:-1;6721:4:28;-1:-1:-1;;;;;6696:30:28;;;6692:242;;6736:79;6756:7;6765:8;6775:10;6787:14;6803:11;6736:19;:79::i;:::-;6692:242;;;6836:91;;;;;-1:-1:-1;;;;;6836:31:28;;;;;:91;;6868:7;;6877:8;;6887:10;;6899:14;;6915:11;;6836:91;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6639:299;6458:480;;;;;:::o;17775:457::-;17932:7;17947:21;17971:17;:15;:17::i;:::-;17947:41;-1:-1:-1;18023:4:28;-1:-1:-1;;;;;17998:30:28;;;17994:234;;18045:68;18070:7;18079:8;18089:10;18101:11;18045:24;:68::i;:::-;18038:75;;;;;17994:234;18141:80;;;;;-1:-1:-1;;;;;18141:36:28;;;;;:80;;18178:7;;18187:8;;18197:10;;18209:11;;18141:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;1558:142:157:-;1647:15;;;1660:1;1647:15;;;;;;;;;1604:24;;1647:15;;;;;;;;;;;;;;;;;;;;1636:26;;1668:27;;;;;;;;;;;;;;;;;:8;1677:1;1668:11;;;;;;;;:::i;:::-;;;;;;:27;;;;1558:142;:::o;1840:151::-;1935:15;;;1948:1;1935:15;;;;;;;;;1888:26;;1935:15;;;;;;;;;;;;;;;;;;;;1922:28;;1956:30;;;;;;;;;;;;;;;;;:10;1967:1;1956:13;;;;;;;;:::i;5644:520:28:-;5847:21;5871:17;:15;:17::i;:::-;5847:41;-1:-1:-1;5923:4:28;-1:-1:-1;;;;;5898:30:28;;;5894:266;;5938:91;5962:7;5971:11;5984:9;5995:11;6008:8;6018:10;5938:23;:91::i;:::-;5894:266;;;6050:103;;;;;-1:-1:-1;;;;;6050:35:28;;;;;:103;;6086:7;;6095:11;;6108:9;;6119:11;;6132:8;;6142:10;;6050:103;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5894:266;5841:323;5644:520;;;;;;:::o;10761:455::-;10933:21;10957:17;:15;:17::i;:::-;10933:41;-1:-1:-1;11009:4:28;-1:-1:-1;;;;;10984:30:28;;;10980:232;;11024:74;11049:7;11058:8;11068:10;11080:4;11086:11;11024:24;:74::i;10980:232::-;11119:86;;;;;-1:-1:-1;;;;;11119:36:28;;;;;:86;;11156:7;;11165:8;;11175:10;;11187:4;;11193:11;;11119:86;;;:::i;1836:227::-;1066:42;1925:22;1886:7;;-1:-1:-1;;;;;1925:22:28;;1953:106;;2001:10;1994:17;;;1836:227;:::o;1953:106::-;2039:13;1836:227;-1:-1:-1;1836:227:28:o;3547:382:78:-;3682:16;;;3696:1;3682:16;;;;;;;;3629;;;;3682;3696:1;3682:16;;;;;;;;;;-1:-1:-1;3682:16:78;3653:45;;3743:13;-1:-1:-1;;;;;3727:31:78;3719:40;;3704:9;3714:1;3704:12;;;;;;;;:::i;:::-;;;;;;:55;;;;;3780:13;3765:9;3775:1;3765:12;;;;;;;;:::i;:::-;;;;;;;;;;:28;3800:13;3816:64;1084:66;3853:9;3800:13;-1:-1:-1;;;3816:26:78;:64::i;:::-;3800:80;;3894:29;3915:5;3902:20;;7169:5:31;7083:97;3894:29:78;3886:38;3547:382;-1:-1:-1;;;;;3547:382:78:o;11748:286:24:-;11935:94;11945:7;11954:8;11964:10;11976:14;11992:11;12005:23;12020:7;12005:14;:23::i;:::-;11935:9;:94::i;:::-;11748:286;;;;;:::o;35853:541::-;36010:7;36147:242;36191:59;36232:7;36241:8;36191:40;:59::i;:::-;36268:31;;;;4323:19:4;:27;579:1:34;4322:44:4;4288:79;;;4275:93;36317:63:24;36356:11;36369:10;36317:38;:63::i;:::-;36147:17;:242::i;6622:2614::-;-1:-1:-1;;;6882:7:24;:35;;;;;;:83;;-1:-1:-1;6942:23:24;6921:7;:44;;;;6882:83;6878:209;;;-1:-1:-1;;;7037:7:24;7070;7053:25;;;;;;15292:19:227;;15336:2;15327:12;;15132:213;7053:25:24;;;;-1:-1:-1;;7053:25:24;;;;;;;;;;6982:98;;;;;;;;;;:::i;6878:209::-;7133:22;:11;:20;:22::i;:::-;7196:40;:9;7229:4;7196:18;:40::i;:::-;7242:43;:11;7277:5;7242:20;:43::i;:::-;1683:38:34;5236:60:21;;;1515:34:34;5159:59:21;;;5153:144;5138:159;;7373:8:24;:15;:40;7369:148;;1683:38:34;5236:60:21;;;1515:34:34;5159:59:21;;;5153:144;5138:159;;7494:15:24;;7430:80;;;;;;;;15992:25:227;;;;16033:18;;;16026:34;15965:18;;7430:80:24;15818:248:227;7369:148:24;1683:38:34;5236:60:21;;;1515:34:34;5159:59:21;;;5153:144;5138:159;;7567:10:24;:17;:44;7563:158;;1683:38:34;5236:60:21;;;1515:34:34;5159:59:21;;;5153:144;5138:159;;7696:17:24;;7628:86;;;;;;;;15992:25:227;;;;16033:18;;;16026:34;15965:18;;7628:86:24;15818:248:227;7563:158:24;1683:38:34;5236:60:21;;;1515:34:34;5159:59:21;;;5153:144;5138:159;;1683:38:34;5236:60:21;;;1515:34:34;5159:59:21;;;5153:144;5138:159;;7778:50:24;7774:171;;1683:38:34;5236:60:21;;;1515:34:34;5159:59:21;;;5153:144;5138:159;;1683:38:34;5236:60:21;;;1515:34:34;5159:59:21;;;5153:144;5138:159;;7845:93:24;;;;;;;;15992:25:227;;;;16033:18;;;16026:34;15965:18;;7845:93:24;15818:248:227;7774:171:24;7987:29;:11;:27;:29::i;:::-;7954;:11;:27;:29::i;:::-;:62;7950:225;;8092:29;:11;:27;:29::i;:::-;8131;:11;:27;:29::i;:::-;8033:135;;;;;;;;15992:25:227;;;;16033:18;;;16026:34;15965:18;;8033:135:24;15818:248:227;7950:225:24;8218:30;:11;:28;:30::i;:::-;8184;:11;:28;:30::i;:::-;:64;8180:230;;8325:30;:11;:28;:30::i;:::-;8365;:11;:28;:30::i;:::-;8265:138;;;;;;;;15992:25:227;;;;16033:18;;;16026:34;15965:18;;8265:138:24;15818:248:227;8180:230:24;8507:9;8502:314;8522:29;:11;:27;:29::i;:::-;8518:1;:33;8502:314;;;8596:44;:22;:11;8616:1;8596:19;:22::i;:::-;:42;;;;;;;;:::i;:::-;;:44::i;:::-;579:1:34;4323:19:4;:27;;;4322:44;4288:79;;;4275:93;;8570:70:24;8566:244;;579:1:34;4323:19:4;:27;;;4322:44;4288:79;;;4275:93;;8747:44:24;:22;:11;8767:1;8747:19;:22::i;:44::-;8659:142;;;;;;;;15992:25:227;;;;16033:18;;;16026:34;15965:18;;8659:142:24;15818:248:227;8566:244:24;8553:3;;8502:314;;;;8878:31;8901:7;8878:22;:31::i;:::-;8874:140;;;8964:7;8997;8980:25;;;;;;15292:19:227;;15336:2;15327:12;;15132:213;8980:25:24;;;;-1:-1:-1;;8980:25:24;;;;;;;;;;8926:81;;;;;;;;;:::i;8874:140::-;9055:103;9067:7;9076:11;9089:9;9100:11;9124:8;9113:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;9146:10;9135:22;;;;;;;;:::i;:::-;;;;;;;;;;;;;9055:11;:103::i;:::-;9194:37;9217:7;9226:4;9194:22;:37::i;22789:355::-;22961:178;22995:7;23020:8;23050:63;23089:11;23102:10;23050:38;:63::i;:::-;23128:4;22961:16;:178::i;4000:652::-;4067:11;4303:64;;;4299:111;;-1:-1:-1;1342:66:33;;4000:652:24;-1:-1:-1;4000:652:24:o;4299:111::-;4454:185;4500:85;1213:66:33;4576:7:24;4500:40;:85::i;:::-;4605:2;4627:1;4454:17;:185::i;12894:3165::-;13189:23;13168:7;:44;;;13164:211;;13295:7;13266:88;13304:8;13314:10;13326:14;13342:11;13266:88;;;;;;;;;:::i;:::-;;;;;;;;13362:7;;13164:211;13513:22;13538:24;13554:7;13538:15;:24::i;:::-;13513:49;;13573:9;13568:340;13588:5;:12;13584:1;:16;13568:340;;;13615:9;13637:5;13643:1;13637:8;;;;;;;;:::i;:::-;;;;;;;13615:31;;13658:33;409:6:36;13658:4:24;:14;;;;;:33;;;;:::i;:::-;13654:248;;;13703:190;;;;;3536:35:5;;;;;13703:47:24;;:190;;13762:7;;13781:8;;13801:10;;13823:14;;13849:11;;13872;;13703:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13654:248;-1:-1:-1;13602:3:24;;13568:340;;;;13985:7;13956:88;13994:8;14004:10;14016:14;14032:11;13956:88;;;;;;;;;:::i;:::-;;;;;;;;14108:26;14137:59;14178:7;14187:8;14137:40;:59::i;:::-;14108:88;-1:-1:-1;14202:21:24;894:4:19;884:15;;14202:54:24;;14262:149;14300:18;14334:1;14351:10;:17;14391:13;14262;:149::i;:::-;14511:1;14478:30;:11;:28;:30::i;:::-;:34;14474:1174;;;14597:33;14633:66;14681:7;14690:8;14633:47;:66::i;:::-;695:28:23;;;14597:102:24;-1:-1:-1;894:4:19;884:15;;14873:47:24;;15029:27;15064:25;15102:7;15097:545;15115:30;:11;:28;:30::i;:::-;15111:1;:34;;;15097:545;;;15181:63;15223:7;15232:8;15242:1;15181:41;:63::i;:::-;15159:85;-1:-1:-1;15274:25:24;:14;15297:1;7070:16:3;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;15274:25:24;15254:45;;15309:170;15351:19;15390:1;15411:17;15455:13;15309;:170::i;:::-;15489:34;15506:17;15489:34;;:::i;:::-;;-1:-1:-1;15620:3:24;;15097:545;;;;14514:1134;;;14474:1174;15722:9;15717:338;15737:5;:12;15733:1;:16;15717:338;;;15764:9;15786:5;15792:1;15786:8;;;;;;;;:::i;:::-;;;;;;;15764:31;;15807:32;503:6:36;15807:4:24;:14;;;;;:32;;;;:::i;:::-;15803:246;;;15851:189;;;;;3536:35:5;;;;;15851:46:24;;:189;;15909:7;;15928:8;;15948:10;;15970:14;;15996:11;;16019;;15851:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15803:246;-1:-1:-1;15751:3:24;;15717:338;;50488:191;50590:7;50654;50663:8;50637:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;50637:35:24;;;;;;;;;50627:46;;50637:35;50627:46;;;;42043:22;50620:53;;50488:191;-1:-1:-1;;;50488:191:24:o;51505:242::-;51601:7;;;51640:84;51660:10;51656:14;;:1;:14;51640:84;;;51685:32;4275:93:4;4323:19;:27;;;579:1:34;4322:44:4;4288:79;;;4275:93;51685:32:24;;:::i;:::-;;-1:-1:-1;51672:3:24;;51640:84;;;-1:-1:-1;51736:6:24;51505:242;-1:-1:-1;;;51505:242:24:o;8945:812:23:-;9043:14;9079:2;9069:6;:12;9065:112;;9138:2;9129:6;:11;9111:29;;;;9160:2;9150:12;;;;;;:::i;:::-;;;;9065:112;-1:-1:-1;9368:21:23;;9353:12;9341:25;;9337:53;9516:2;:11;;;9598:22;;;9594:159;;;9734:1;9718:14;9714:22;9708:29;9693:12;9678:13;9674:32;9670:68;9662:6;9659:80;9649:90;;9059:698;8945:812;;;;;:::o;6618:1665:4:-;6301:45;6681:87;;6723:38;;;;;;;;;;;;;;6681:87;6774:25;6802:30;:11;:28;:30::i;:::-;6774:58;;943:1:34;6842:17:4;:38;6838:156;;;6897:90;;;;;;;;15992:25:227;;;943:1:34;16033:18:227;;;16026:34;15965:18;;6897:90:4;15818:248:227;6838:156:4;7000:24;7027:29;:11;:27;:29::i;:::-;7000:56;-1:-1:-1;7062:23:4;7088:36;7107:17;7000:56;7088:36;:::i;:::-;7062:62;;689:2:34;7134:15:4;:34;7130:141;;;7185:79;;;;;;;;15992:25:227;;;689:2:34;16033:18:227;;;16026:34;15965:18;;7185:79:4;15818:248:227;7130:141:4;7313:25;7349:9;7344:429;7364:16;7360:1;:20;7344:429;;;4275:93;4323:19;:27;;;579:1:34;4322:44:4;4288:79;;;4275:93;7392:24;7453:21;;;7449:234;;7493:52;;;;;;;;2632:25:227;;;2605:18;;7493:52:4;2486:177:227;7449:234:4;376:2:34;7564:16:4;:28;7560:123;;;7611:63;;;;;;;;2632:25:227;;;2605:18;;7611:63:4;2486:177:227;7560:123:4;7690:37;7711:16;7690:37;;:::i;:::-;;-1:-1:-1;;7755:3:4;;7344:429;;;;7840:30;:11;:28;:30::i;:::-;7819:17;:51;7815:184;;7942:30;:11;:28;:30::i;:::-;7887:105;;;;;;;;15992:25:227;;;;16033:18;;;16026:34;;;15965:18;;7887:105:4;15818:248:227;7815:184:4;8055:16;8038:241;689:2:34;8073:1:4;:20;8038:241;;;4275:93;4323:19;:27;;;579:1:34;4322:44:4;4288:79;;;4275:93;8169:21;;8165:108;;8209:55;;;;;;;;2632:25:227;;;2605:18;;8209:55:4;2486:177:227;8165:108:4;-1:-1:-1;8095:3:4;;8038:241;;5760:1635:21;5867:10;5866:11;:31;;;;-1:-1:-1;6301:45:4;;5881:16:21;5862:81;;;5906:37;;-1:-1:-1;;;5906:37:21;;5941:1;5906:37;;;2632:25:227;2605:18;;5906:37:21;2486:177:227;5862:81:21;6006:25;6034;:6;:23;:25::i;:::-;6006:53;;943:1:34;6069:17:21;:38;6065:104;;;6116:53;;-1:-1:-1;;;6116:53:21;;;;;2632:25:227;;;2605:18;;6116:53:21;2486:177:227;6065:104:21;6176:24;6203;:6;:22;:24::i;:::-;6176:51;-1:-1:-1;6297:23:21;6323:36;6342:17;6176:51;6323:36;:::i;:::-;6297:62;;689:2:34;6369:15:21;:34;6365:98;;;6412:51;;-1:-1:-1;;;6412:51:21;;;;;2632:25:227;;;2605:18;;6412:51:21;2486:177:227;6365:98:21;6524:25;6560:9;6555:314;6575:16;6571:1;:20;6555:314;;;6603:24;6630:39;:17;:6;6645:1;6630:14;:17::i;:39::-;6603:66;;6681:16;6701:1;6681:21;6677:102;;6721:49;;;;;;;;;;;;;;6677:102;6786:37;6807:16;6786:37;;:::i;:::-;;-1:-1:-1;;6851:3:21;;6555:314;;;;6937:25;:6;:23;:25::i;:::-;6916:17;:46;6912:135;;7014:25;:6;:23;:25::i;:::-;6979:61;;-1:-1:-1;;;6979:61:21;;;;;;2632:25:227;;2620:2;2605:18;;2486:177;6912:135:21;7122:16;7105:286;7144:15;7140:1;:19;7105:286;;;7171:24;7198:39;:17;:6;7213:1;7198:14;:17::i;:39::-;7171:66;-1:-1:-1;7249:20:21;;7245:101;;7288:49;;;;;;;;;;;;;;7245:101;-1:-1:-1;7373:3:21;;7105:286;;4979:171:4;5052:7;579:1:34;1532;1516:13;1528:1;376:2;1516:13;:::i;:::-;:17;;;;:::i;:::-;1515:34;;;;:::i;:::-;5088:11:4;5067:78;5080:64;;5067:78;;4979:171;-1:-1:-1;;4979:171:4:o;5377:173::-;5451:7;579:1:34;1704;;1684:13;1696:1;376:2;1684:13;:::i;:::-;:17;;;;:::i;4019:206:21:-;4089:10;4179:19;:27;;;4210:1;4178:33;4157:6;4132:82;4149:63;;4132:82;;;;;;;;;:::i;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;2858:314:31:-;2972:16;;;2986:1;2972:16;;;;;;;;;2924:11;;;;2972:16;;;;;;;;;;;;-1:-1:-1;2972:16:31;2943:45;;3027:10;2994:9;3004:1;2994:12;;;;;;;;:::i;:::-;;;;;;;;;;:44;3045:13;3061:62;973:66;3096:9;3045:13;-1:-1:-1;;;3061:24:31;:62::i;19797:677:33:-;24365:53;;;;;;21691:19:227;;;21726:12;;;21719:28;;;24338:12:33;21763::227;;;21756:28;;;24365:53:33;;;;;;;;;;21800:12:227;;;;24365:53:33;;;20088:30;20121:55;20135:18;20155:20;20121:13;:55::i;:::-;20088:88;;20182:25;20210:55;20224:18;20244:20;20210:13;:55::i;:::-;20301:16;;;20315:1;20301:16;;;;;;;;;20182:83;;-1:-1:-1;20272:26:33;;20301:16;;;;;;;;;;;;-1:-1:-1;20301:16:33;20272:45;;20356:7;20323:9;20333:1;20323:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;20371:98;1213:66;20401:9;20412:11;20425:15;20442:12;1342:66;20371:19;:98::i;4222:268:31:-;4322:16;;;4336:1;4322:16;;;;;;;;;4293:26;;4322:16;;;;;;;;;;;-1:-1:-1;4322:16:31;4293:45;;4377:10;4344:9;4354:1;4344:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4395:90;973:66;957:83;;4430:9;4441:1;4462:6;4444:26;;;;;;19946:14:227;19939:22;19934:3;19930:32;19918:45;;19988:1;19979:11;;19795:201;4444:26:31;;;;-1:-1:-1;;4444:26:31;;;;;;;;;-1:-1:-1;;;4395:24:31;:90::i;:::-;4287:203;4222:268;;:::o;16695:1682:24:-;16895:23;16874:7;:44;;;16870:235;;17028:7;16981:103;17047:8;17064:5;17077:4;16981:103;;;;;;;;:::i;:::-;;;;;;;;17092:7;;16870:235;17111:16;17130:59;17171:7;17180:8;17130:40;:59::i;:::-;17111:78;;17335:22;17360:24;17376:7;17360:15;:24::i;:::-;17335:49;;17395:9;17390:328;17410:5;:12;17406:1;:16;17390:328;;;17437:9;17459:5;17465:1;17459:8;;;;;;;;:::i;:::-;;;;;;;17437:31;;17480:41;614:6:36;17480:4:24;:14;;;;;:41;;;;:::i;:::-;17476:236;;;17533:170;;;;;3536:35:5;;;;;17533:54:24;;:170;;17609:7;;17638:8;;17665:5;;17688:4;;17533:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17476:236;-1:-1:-1;17424:3:24;;17390:328;;;;17822:7;17775:103;17841:8;17858:5;17871:4;17775:103;;;;;;;;:::i;:::-;;;;;;;;17928:70;17960:8;17978:5;17928:70;;17991:4;17928:13;:70::i;:::-;18052:9;18047:326;18067:5;:12;18063:1;:16;18047:326;;;18094:9;18116:5;18122:1;18116:8;;;;;;;;:::i;:::-;;;;;;;18094:31;;18137:40;723:6:36;18137:4:24;:14;;;;;:40;;;;:::i;:::-;18133:234;;;18189:169;;;;;3536:35:5;;;;;18189:53:24;;:169;;18264:7;;18293:8;;18320:5;;18343:4;;18189:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18133:234;-1:-1:-1;18081:3:24;;18047:326;;50931:282;51176:30;;;;;;21325:19:227;;;21360:12;;;21353:28;;;51019:7:24;;21397:12:227;;51176:30:24;21137:278:227;3658:342:32;3774:16;;;3788:1;3774:16;;;;;;;;;3715:22;;3745:26;;3774:16;;;;;;;;;;;;-1:-1:-1;3774:16:32;3745:45;;3829:7;3796:9;3806:1;3796:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;3844:18;3865:49;971:66;3901:9;3844:18;3865:25;:49::i;:::-;3844:70;;3928:66;:44;3949:5;3956:1;3959:5;:12;3928:20;:44::i;:::-;:64;:66::i;3035:136:5:-;3105:4;3157:9;3124:42;;3143:9;3125:15;3135:4;3934:26;;;3804:162;3125:15;:27;3124:42;;;3117:49;;3035:136;;;;:::o;1489:2340:23:-;1602:10;;1598:1504;;1755:2;1745:6;:12;1741:122;;1818:2;1809:6;:11;1791:29;;;;1842:2;1832:12;;;;;;:::i;:::-;;;;1741:122;1953:10;;1949:1147;;2161:2;:11;;;2035:21;-1:-1:-1;;579:1:34;804:25:35;;782:48;2208:18:23;2193:33;;2395:12;2387:6;2383:25;2442:4;2431:9;2427:20;2419:28;;2497:13;2491:20;2480:9;2476:36;2458:54;;2745:4;2741:9;2724:14;2718:21;2714:37;2645:4;2633:10;2629:21;2572:193;2544:14;2524:253;;2836:13;2826:6;:23;2822:36;;2851:7;;;;2822:36;-1:-1:-1;2999:1:23;2981:19;;;;;3054:23;;;;;3012:30;1949:1147;3132:253;3149:2;3139:6;:12;3132:253;;3244:20;;3221:44;;3318:1;3300:19;;;;-1:-1:-1;;3358:12:23;;;;3346:2;3329:19;3132:253;;;3453:10;;3449:376;;3473:12;-1:-1:-1;;579:1:34;804:25:35;;782:48;3761:21:23;;3672:20;;3694:9;;3668:36;3757:32;;3617:184;3573:238;;-1:-1:-1;1489:2340:23;;;;:::o;53053:230:24:-;53174:7;53258;53267:8;53241:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;53241:35:24;;;;;;;;;53231:46;;53241:35;53231:46;;;;42206:40;53204:73;;53053:230;-1:-1:-1;;;53053:230:24:o;52424:274::-;52568:7;52673;52682:8;52656:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;52646:46;;;;;;52625:17;52618:25;;52598:45;;;42115:34;52598:45;:94;52590:103;;52583:110;;52424:274;;;;;:::o;4598:171:4:-;4672:7;579:1:34;1354:13;1366:1;376:2;1354:13;:::i;:::-;1353:30;;;;:::i;:::-;4694:70:4;;;;;4598:171;-1:-1:-1;4598:171:4:o;966:162:23:-;1055:68;1061:14;1077:6;1085:4;:11;1098:24;1117:4;894::19;884:15;;758:151;1098:24:23;1055:5;:68::i;36862:522:24:-;36998:12;37122:257;37161:79;37203:7;37212:8;37222:17;37161:41;:79::i;:::-;37258:1;37277:93;37352:17;37277:66;37325:7;37334:8;37277:47;:66::i;:::-;:74;7070:16:3;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;37277:93:24;37122:12;:257::i;2003:574:22:-;2094:5;2189:3;2181:5;:11;:32;;;;2202:4;:11;2196:3;:17;2181:32;2177:93;;;2253:4;2259:5;2266:3;2222:48;;;;;;;;;;;;;:::i;2177:93::-;2336:4;2326:15;;2383:16;2394:5;2326:15;2383:16;:::i;:::-;;-1:-1:-1;2405:12:22;2420:11;2426:5;2420:3;:11;:::i;:::-;692:17;2555:15;2547:3;2536:14;;;;2535:36;;;;;;-1:-1:-1;;;;;2003:574:22:o;40103:220:38:-;40169:24;40201:30;40234:32;40252:6;40260:2;40264:1;40234:17;:32::i;53621:303:24:-;53742:14;53836:82;53867:48;53897:7;53906:8;53867:29;:48::i;:::-;4711:21:23;;4605:137;5042:669;5458:4;5452:11;5499:4;5487:17;;-1:-1:-1;;5373:16:23;5546:26;;;5373:16;5369:32;5518:4;5511:63;5618:6;5610;5603:22;5636:51;5641:14;5657:6;5665;5673:13;5636:4;:51::i;2681:1129:40:-;2801:22;2831:21;2855;:11;2997:3:22;2975:25;;2901:104;2855:21:40;2831:45;-1:-1:-1;692:17:22;3238:38;;2882:20:40;3044:11;3238:38:22;3044:11:40;3029:26;;;;:::i;:::-;;3015:40;;3164:4;3158:11;3149:20;;3207:4;3200:5;3196:16;3267:4;3254:11;3250:22;3236:12;3232:41;3226:4;3219:55;3317:11;3310:5;3303:26;3360:1;3337:463;3376:11;3373:1;3370:18;3337:463;;;3770:20;;3749:42;;3728:64;;3642:31;;;;3555:4;3537:23;;;;3463:1;3456:9;3337:463;;;3341:28;;3116:690;;;2681:1129;;;;;:::o;6076:2380:23:-;6193:10;;6189:1542;;6346:2;6336:6;:12;6332:122;;6409:2;6400:6;:11;6382:29;;;;6433:2;6423:12;;;;;;:::i;:::-;;;;6332:122;6544:10;;6540:1185;;6752:2;:11;;;6626:21;6810:22;;;6806:135;;;-1:-1:-1;;;579:1:34;804:25:35;;782:48;6806:135:23;;;-1:-1:-1;;;579:1:34;804:25:35;;782:48;6806:135:23;7135:14;7129:21;7114:12;7106:6;7102:25;7098:53;7375:4;7359:13;7353:20;7349:31;7285:4;7281:9;7269:10;7265:26;7210:184;7183:13;7163:243;;7465:13;7455:6;:23;7451:36;;7480:7;;;;7451:36;-1:-1:-1;7628:1:23;7610:19;;;;;7683:23;;;;;7641:30;6540:1185;7760:253;7777:2;7767:6;:12;7760:253;;7871:21;;7849:44;;7946:1;7928:19;;;;-1:-1:-1;;7986:12:23;;;;7974:2;7957:19;7760:253;;;8081:10;;8077:375;;8101:12;-1:-1:-1;;579:1:34;804:25:35;;782:48;8389:20:23;;8299:21;;8322:9;;8295:37;8385:31;;8244:184;8201:237;;-1:-1:-1;6076:2380:23;;;;:::o;14:332:227:-;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:227;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:227;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:227:o;1560:245::-;1608:4;1641:18;1633:6;1630:30;1627:56;;;1663:18;;:::i;:::-;-1:-1:-1;1720:2:227;1708:15;-1:-1:-1;;1704:88:227;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:227;;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:227: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:227;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:1179::-;3606:6;3614;3667:2;3655:9;3646:7;3642:23;3638:32;3635:52;;;3683:1;3680;3673:12;3635:52;3715:9;3709:16;-1:-1:-1;;3758:5:227;3754:78;3747:5;3744:89;3734:117;;3847:1;3844;3837:12;3734:117;3919:2;3904:18;;3898:25;3870:5;;-1:-1:-1;3942:18:227;3972:14;;;3969:34;;;3999:1;3996;3989:12;3969:34;4022:22;;;;4078:4;4060:16;;;4056:27;4053:47;;;4096:1;4093;4086:12;4053:47;4124:22;;:::i;:::-;4176:2;4170:9;4223:4;4214:7;4210:18;4201:7;4198:31;4188:59;;4243:1;4240;4233:12;4188:59;4256:24;;4319:2;4311:11;;4305:18;4335:16;;;4332:36;;;4364:1;4361;4354:12;4332:36;4402:56;4450:7;4439:8;4435:2;4431:17;4402:56;:::i;:::-;4397:2;4388:7;4384:16;4377:82;;4498:2;4494;4490:11;4484:18;4527:2;4517:8;4514:16;4511:36;;;4543:1;4540;4533:12;4511:36;4581:56;4629:7;4618:8;4614:2;4610:17;4581:56;:::i;:::-;4576:2;4567:7;4563:16;4556:82;;4657:7;4647:17;;;;;3491:1179;;;;;:::o;5325:287::-;5454:3;5492:6;5486:13;5508:66;5567:6;5562:3;5555:4;5547:6;5543:17;5508:66;:::i;:::-;5590:16;;;;;5325:287;-1:-1:-1;;5325:287:227:o;6483:357::-;6601:12;;6648:4;6637:16;;;6631:23;;6601:12;6666:16;;6663:171;;;-1:-1:-1;;6740:4:227;6736:17;;;;6733:1;6729:25;6725:98;6714:110;;6483:357;-1:-1:-1;6483:357:227:o;7453:329::-;7494:3;7532:5;7526:12;7559:6;7554:3;7547:19;7575:76;7644:6;7637:4;7632:3;7628:14;7621:4;7614:5;7610:16;7575:76;:::i;:::-;7696:2;7684:15;-1:-1:-1;;7680:88:227;7671:98;;;;7771:4;7667:109;;7453:329;-1:-1:-1;;7453:329:227:o;7787:319::-;7993:6;7982:9;7975:25;8036:2;8031;8020:9;8016:18;8009:30;7956:4;8056:44;8096:2;8085:9;8081:18;8073:6;8056:44;:::i;8111:458::-;8190:6;8243:2;8231:9;8222:7;8218:23;8214:32;8211:52;;;8259:1;8256;8249:12;8211:52;8292:9;8286:16;8325:18;8317:6;8314:30;8311:50;;;8357:1;8354;8347:12;8311:50;8380:22;;8433:4;8425:13;;8421:27;-1:-1:-1;8411:55:227;;8462:1;8459;8452:12;8411:55;8485:78;8555:7;8550:2;8544:9;8539:2;8535;8531:11;8485:78;:::i;8574:321::-;8652:6;8705:2;8693:9;8684:7;8680:23;8676:32;8673:52;;;8721:1;8718;8711:12;8673:52;8753:9;8747:16;-1:-1:-1;;;;;8796:5:227;8792:54;8785:5;8782:65;8772:93;;8861:1;8858;8851:12;8900:421;9165:6;9154:9;9147:25;9208:6;9203:2;9192:9;9188:18;9181:34;9251:2;9246;9235:9;9231:18;9224:30;9128:4;9271:44;9311:2;9300:9;9296:18;9288:6;9271:44;:::i;9326:184::-;-1:-1:-1;;;9375:1:227;9368:88;9475:4;9472:1;9465:15;9499:4;9496:1;9489:15;9784:184;-1:-1:-1;;;9833:1:227;9826:88;9933:4;9930:1;9923:15;9957:4;9954:1;9947:15;9973:125;10038:9;;;10059:10;;;10056:36;;;10072:18;;:::i;10368:492::-;10543:3;10581:6;10575:13;10597:66;10656:6;10651:3;10644:4;10636:6;10632:17;10597:66;:::i;:::-;10726:13;;10685:16;;;;10748:70;10726:13;10685:16;10795:4;10783:17;;10748:70;:::i;:::-;10834:20;;10368:492;-1:-1:-1;;;;10368:492:227:o;10865:439::-;10918:3;10956:5;10950:12;10983:6;10978:3;10971:19;11009:4;11038;11033:3;11029:14;11022:21;;11077:4;11070:5;11066:16;11100:1;11110:169;11124:6;11121:1;11118:13;11110:169;;;11185:13;;11173:26;;11219:12;;;;11254:15;;;;11146:1;11139:9;11110:169;;;-1:-1:-1;11295:3:227;;10865:439;-1:-1:-1;;;;;10865:439:227:o;11309:792::-;11702:6;11691:9;11684:25;11745:3;11740:2;11729:9;11725:18;11718:31;11665:4;11772:57;11824:3;11813:9;11809:19;11801:6;11772:57;:::i;:::-;11877:9;11869:6;11865:22;11860:2;11849:9;11845:18;11838:50;11911:32;11936:6;11928;11911:32;:::i;:::-;11897:46;;11979:6;11974:2;11963:9;11959:18;11952:34;12035:9;12027:6;12023:22;12017:3;12006:9;12002:19;11995:51;12063:32;12088:6;12080;12063:32;:::i;:::-;12055:40;11309:792;-1:-1:-1;;;;;;;;11309:792:227:o;12106:546::-;12428:6;12417:9;12410:25;12471:3;12466:2;12455:9;12451:18;12444:31;12391:4;12492:57;12544:3;12533:9;12529:19;12521:6;12492:57;:::i;:::-;12597:4;12585:17;;;;12580:2;12565:18;;12558:45;-1:-1:-1;12634:2:227;12619:18;12612:34;12484:65;12106:546;-1:-1:-1;;12106:546:227:o;12657:184::-;12727:6;12780:2;12768:9;12759:7;12755:23;12751:32;12748:52;;;12796:1;12793;12786:12;12748:52;-1:-1:-1;12819:16:227;;12657:184;-1:-1:-1;12657:184:227:o;12846:656::-;12898:3;12929;12961:5;12955:12;12988:6;12983:3;12976:19;13014:4;13043;13038:3;13034:14;13027:21;;13101:4;13091:6;13088:1;13084:14;13077:5;13073:26;13069:37;13140:4;13133:5;13129:16;13163:1;13173:303;13187:6;13184:1;13181:13;13173:303;;;-1:-1:-1;;13262:5:227;13256:4;13252:16;13248:89;13243:3;13236:102;13359:37;13391:4;13382:6;13376:13;13359:37;:::i;:::-;13454:12;;;;13351:45;-1:-1:-1;13419:15:227;;;;13209:1;13202:9;13173:303;;;-1:-1:-1;13492:4:227;;12846:656;-1:-1:-1;;;;;;;12846:656:227:o;13507:908::-;14033:6;14022:9;14015:25;14076:6;14071:2;14060:9;14056:18;14049:34;14119:6;14114:2;14103:9;14099:18;14092:34;14162:6;14157:2;14146:9;14142:18;14135:34;14206:3;14200;14189:9;14185:19;14178:32;13996:4;14233:56;14284:3;14273:9;14269:19;14261:6;14233:56;:::i;:::-;14338:9;14330:6;14326:22;14320:3;14309:9;14305:19;14298:51;14366:43;14402:6;14394;14366:43;:::i;:::-;14358:51;13507:908;-1:-1:-1;;;;;;;;;13507:908:227:o;14420:707::-;14788:6;14777:9;14770:25;14831:3;14826:2;14815:9;14811:18;14804:31;14751:4;14858:57;14910:3;14899:9;14895:19;14887:6;14858:57;:::i;:::-;14963:4;14955:6;14951:17;14946:2;14935:9;14931:18;14924:45;15017:9;15009:6;15005:22;15000:2;14989:9;14985:18;14978:50;15045:32;15070:6;15062;15045:32;:::i;:::-;15037:40;;;15114:6;15108:3;15097:9;15093:19;15086:35;14420:707;;;;;;;;:::o;15350:463::-;15596:66;15588:6;15584:79;15573:9;15566:98;15700:6;15695:2;15684:9;15680:18;15673:34;15743:2;15738;15727:9;15723:18;15716:30;15547:4;15763:44;15803:2;15792:9;15788:18;15780:6;15763:44;:::i;16071:184::-;-1:-1:-1;;;16120:1:227;16113:88;16220:4;16217:1;16210:15;16244:4;16241:1;16234:15;16586:280;16785:2;16774:9;16767:21;16748:4;16805:55;16856:2;16845:9;16841:18;16833:6;16805:55;:::i;16871:689::-;17205:3;17194:9;17187:22;17168:4;17232:57;17284:3;17273:9;17269:19;17261:6;17232:57;:::i;:::-;17337:9;17329:6;17325:22;17320:2;17309:9;17305:18;17298:50;17371:32;17396:6;17388;17371:32;:::i;:::-;17357:46;;17439:6;17434:2;17423:9;17419:18;17412:34;17494:9;17486:6;17482:22;17477:2;17466:9;17462:18;17455:50;17522:32;17547:6;17539;17522:32;:::i;:::-;17514:40;16871:689;-1:-1:-1;;;;;;;16871:689:227:o;17565:896::-;18018:6;18007:9;18000:25;18061:3;18056:2;18045:9;18041:18;18034:31;17981:4;18088:57;18140:3;18129:9;18125:19;18117:6;18088:57;:::i;:::-;18193:9;18185:6;18181:22;18176:2;18165:9;18161:18;18154:50;18227:32;18252:6;18244;18227:32;:::i;:::-;18213:46;;18295:6;18290:2;18279:9;18275:18;18268:34;18351:9;18343:6;18339:22;18333:3;18322:9;18318:19;18311:51;18379:32;18404:6;18396;18379:32;:::i;:::-;18371:40;;;18448:6;18442:3;18431:9;18427:19;18420:35;17565:896;;;;;;;;;:::o;18466:639::-;18716:6;18711:3;18704:19;18686:3;18742:2;18775;18770:3;18766:12;18807:6;18801:13;18872:2;18864:6;18860:15;18893:1;18903:175;18917:6;18914:1;18911:13;18903:175;;;18980:13;;18966:28;;19016:14;;;;19053:15;;;;18939:1;18932:9;18903:175;;;-1:-1:-1;19094:5:227;;18466:639;-1:-1:-1;;;;;;;18466:639:227:o;19110:184::-;-1:-1:-1;;;19159:1:227;19152:88;19259:4;19256:1;19249:15;19283:4;19280:1;19273:15;19489:128;19556:9;;;19577:11;;;19574:37;;;19591:18;;:::i;19622:168::-;19695:9;;;19726;;19743:15;;;19737:22;;19723:37;19713:71;;19764:18;;:::i;20001:511::-;20252:2;20241:9;20234:21;20215:4;20278:56;20330:2;20319:9;20315:18;20307:6;20278:56;:::i;:::-;20382:14;20374:6;20370:27;20365:2;20354:9;20350:18;20343:55;20446:9;20438:6;20434:22;20429:2;20418:9;20414:18;20407:50;20474:32;20499:6;20491;20474:32;:::i;:::-;20466:40;20001:511;-1:-1:-1;;;;;;20001:511:227:o;20517:615::-;20827:6;20816:9;20809:25;20870:3;20865:2;20854:9;20850:18;20843:31;20790:4;20897:57;20949:3;20938:9;20934:19;20926:6;20897:57;:::i;:::-;21002:14;20994:6;20990:27;20985:2;20974:9;20970:18;20963:55;21066:9;21058:6;21054:22;21049:2;21038:9;21034:18;21027:50;21094:32;21119:6;21111;21094:32;:::i;21823:359::-;22026:2;22015:9;22008:21;21989:4;22046:44;22086:2;22075:9;22071:18;22063:6;22046:44;:::i;:::-;22121:2;22106:18;;22099:34;;;;-1:-1:-1;22164:2:227;22149:18;22142:34;22038:52;21823:359;-1:-1:-1;21823:359:227:o","linkReferences":{},"immutableReferences":{"23061":[{"start":507,"length":32}],"92617":[{"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\":\"ERC20Module_InvalidNamespace\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FieldLayout_Empty\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"staticDataLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"computedStaticDataLength\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthDoesNotFitInAWord\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsNotZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyDynamicFields\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyFields\",\"type\":\"error\"},{\"inputs\":[],\"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\":\"Schema_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Schema_StaticTypeAfterDynamicType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Slice_OutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"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\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"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\":{\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"computedStaticDataLength\":\"The computed static data length.\",\"staticDataLength\":\"The static data length of the field layout.\"}}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"Module_MissingDependency(address)\":[{\"params\":{\"dependency\":\"The address of the dependency.\"}}],\"Schema_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the schema.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}]},\"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\":{\"errors\":{\"FieldLayout_Empty()\":[{\"notice\":\"Error raised when the provided field layout is empty.\"}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has an invalid static data length.\"}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length that does not fit in a word (32 bytes).\"}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a nonzero static data length.\"}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length of zero.\"}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many dynamic fields.\"}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many fields.\"}],\"Module_AlreadyInstalled()\":[{\"notice\":\"Error raised if the provided module is already installed.\"}],\"Module_MissingDependency(address)\":[{\"notice\":\"Error raised if the provided module is missing a dependency.\"}],\"Module_NonRootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in non-root is not supported.\"}],\"Module_RootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in root is not supported.\"}],\"Schema_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided schema has an invalid length.\"}],\"Schema_StaticTypeAfterDynamicType()\":[{\"notice\":\"Error raised when a static type is placed after a dynamic type in a schema.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided field names length is invalid.\"}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided key names length is invalid.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided static data length is invalid.\"}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema dynamic length is invalid.\"}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided value schema length is invalid.\"}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema static length is invalid.\"}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"notice\":\"Error raised if the provided table already exists.\"}]},\"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/erc20-puppet/ERC20Module.sol\":\"ERC20Module\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@latticexyz/=node_modules/@latticexyz/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x167af6321dc89c2e5850e31949b1d64ab70bb1cc809daa54a030e8ff30f35411\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e4b1a2d5da7e4f79349f5257a62b4c6ffe110d6e18fe407099aec71a2f3b2539\",\"dweb:/ipfs/QmQXqehp55UecYyuYTiPBKSnuedqYybXfCCjoPPrZ2hnRw\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x0128498e258f144cf98f0aa9aa0b39955273f31ca5464258a4cac8b3dbdb1b35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cab457b868f39aaab35cb80ec4446606a0647a128234a2e3a16188d609efdd33\",\"dweb:/ipfs/QmP4DeduAZfLBG7uN7DUuEoqom6sairSkwU3vb22MZMHL9\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0xfc18616186545cf0eedcf4baf9615f4677d1fde01dab4ed3b6cd088a3c65a850\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4c64f4893e34fb14cbd86a33272fc773875482f53e784a0f1c9b52f774939ba\",\"dweb:/ipfs/QmP4ZRD4bsAeYzsY5s6z1TKnLF8oFRnSkD71tzHBz2Haqm\"]},\"node_modules/@latticexyz/world/src/DelegationControl.sol\":{\"keccak256\":\"0x8fa0fe6f180267dd17948607704000850b896dd16570525a2347949023022b54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45a984963246009d0021961527210f77b0af851b18cdc9efc7ef0ed3c7b98958\",\"dweb:/ipfs/QmU8JAbabZeujX18JF4KCaCW34PbwSe8zR6Cc1cNRUJ4Bh\"]},\"node_modules/@latticexyz/world/src/IDelegationControl.sol\":{\"keccak256\":\"0x7cc2fbdd8ff6c996e19fab46c1031b76355da74973cebf45ce4df4b035d566bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://857d577f84a68018a3392ec4540c15e80326aaf4b0f224d0d239605abacfc0f3\",\"dweb:/ipfs/QmVEr3rTH1F1BFaCTMd7MmuceTqASwKBcMRnuFZ4tUAYmR\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/Module.sol\":{\"keccak256\":\"0xd99e81434439567e123dbade39850ea3e439ed7a33fe9a609ca6f1e08214908d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a00f6f27be952688d8db4ed77667d55219a56a04973db4d421a2776eb46da88b\",\"dweb:/ipfs/QmRqDmtDwZ8pXCcJFzwP7JDtUk86LmhWDrZBKy6q9UK9rz\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"node_modules/@latticexyz/world/src/codegen/tables/InstalledModules.sol\":{\"keccak256\":\"0x50a1f277a00f01e3cb97a85f0fc624ae2192a726136720b6a900b465a7aecc05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8f3cd87cc0b905d5b75d134d95176630404e76c0f0a343cbd17b8338e1492c0b\",\"dweb:/ipfs/QmURFDNBdUWgh57apX9n7VF68rSQeQrpc5to4FFV6bbJgN\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597\",\"dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e\",\"dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol\":{\"keccak256\":\"0xcb1e9fd5cd02cbb7125f2a64c02f89272d4b0f2afc0b43f24b727f023ef06493\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f4a923e67dea1c1c0a978cbb89d4e27f6e0205f49efe0556ac90b358bd2062ab\",\"dweb:/ipfs/QmZww8gDH9kyXsCaTYWzupNhL1QqR1emAbb5VifFWhDWYF\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7\",\"dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22\",\"dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV\"]},\"node_modules/@latticexyz/world/src/modules/init/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"src/modules/erc20-puppet/ERC20Module.sol\":{\"keccak256\":\"0x25e2b481c28b4be69b2103a2e98b9e4c5ddf81b373726b2ae9f00c14af53a217\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://01d4973ca1b88c8f640c6f6c65a50691bf50707ba7ec89c4bd46488450eeec12\",\"dweb:/ipfs/QmPpwGqc3HL8CctbPbKaXSse97Mm5mq7AwyxP5DcrpwQeJ\"]},\"src/modules/erc20-puppet/ERC20System.sol\":{\"keccak256\":\"0xf3cd154bdc6d3f7ad3727ee9852a2858c13b9d19a1b67c8ade74b812abc67ad9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4761ee9c4d3e0cf92147950d18e267dbbabf735d7ac5f7b09ae63c86968cf466\",\"dweb:/ipfs/QmSFNphuAUT1VbNegRjsXQaWttWL1UCLUixSXjAapbPn5s\"]},\"src/modules/erc20-puppet/IERC20.sol\":{\"keccak256\":\"0x4da2e95751daa6444c24063c1da6886380a487b958808d888f6f4f4b1da7b60b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://111b988299e13500d38a87e2a6309087f42abd6a871e6e9c5da7bc7d09c71b2c\",\"dweb:/ipfs/QmWyShHQnKFNvZdKyKmsuRCwhYRrz2UMqHP2oLnHvqArdj\"]},\"src/modules/erc20-puppet/IERC20Errors.sol\":{\"keccak256\":\"0x704a9e25590a92a80d153552fbe79a83fe0a80a8f6eaa8d2ccaca70649e40fce\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e6ae9510a9c5023299a1064c945b652336a31f5cd225bbe9a72f9e2fd81ada2\",\"dweb:/ipfs/QmdvTCUs3ZiP5unHGdwJz3MxAR5b7K7bYVTZjBT8xadBVR\"]},\"src/modules/erc20-puppet/IERC20Events.sol\":{\"keccak256\":\"0xee632339ff14c1e5e6994ce3c605799761f24f40093cabf3b091f6dcbd9ef8ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0c7a33110c14cfc32011bda15c4330d8f193d133c1f34448f1566f44a0663bd\",\"dweb:/ipfs/QmadwRXGu4H2H3WxgEchXTyLx5PKSLZd7VHvRPEZ5zAgaZ\"]},\"src/modules/erc20-puppet/IERC20Mintable.sol\":{\"keccak256\":\"0x51e2b57003ef9fd5e87b7dcd451628e361ff26e0f82a089897e43def4cf35163\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3b8478ba8a5562432dfcfc02cb35d38b95e0e16d1771c3619d8140a04bbf5208\",\"dweb:/ipfs/QmRBBjFW4dm2qQHdysj3ci9NGpaywbMsN2zjQAUNbXydhL\"]},\"src/modules/erc20-puppet/constants.sol\":{\"keccak256\":\"0xf5bc462ba7a0209d4d13b27f6038d2484c978250d9177d1814813a9fa6c67f0e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25f1dafb6cabe5bb70021625bd025d7249aed86dfc8567b9e5d8c2c32da847b4\",\"dweb:/ipfs/QmbAAQHU2q6Dm66CqbrwUtWyCbwndKZtrpE3oneFtaYMxX\"]},\"src/modules/erc20-puppet/tables/Allowances.sol\":{\"keccak256\":\"0x51bdf129e0b116fd8ec04c2a292ce00a3211b5ddd0fe1313ff252be0f6c915d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b8e2f4cc58db358e38b386d21b2c575fa4ae573e12487cbe56f7bec753f43a2\",\"dweb:/ipfs/QmQUEomWFs9kHM1BiBkDMnu8pFxdn7XEUaidxW5bWwDeqt\"]},\"src/modules/erc20-puppet/tables/ERC20Metadata.sol\":{\"keccak256\":\"0xb90f1f9f228a91b4e558d5d40bfbdb7c0970f3d57b5afe9f77fd20fab8969b94\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://56090ae6307d15fc2d86ef240dc5e0b3d338de1d5873faf0d2894d2018ca4a03\",\"dweb:/ipfs/QmWWbqFBZtVQffPtmNv8b9B7dRDtNYY5HvUbdYyBr6YxXS\"]},\"src/modules/erc20-puppet/tables/ERC20Registry.sol\":{\"keccak256\":\"0x927159d7916a1da7a8aa08e26503d1e1769afbc1f65aeae7209764ce4cb2f939\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f9d2c47d8320366b19a088c343263197d518fa6bec75bf182b385e8e141ca13e\",\"dweb:/ipfs/QmNfj3GcgUpwZKG9ZobNiLEKQ2P1DfKYzfZ8tFFiM6STPj\"]},\"src/modules/erc20-puppet/tables/TotalSupply.sol\":{\"keccak256\":\"0x7021c83769d9c4e3d4026101d625c6c42cd972ff1c77ec121780ef42c161d933\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eae00cc4fda10f7cb5ea3007a00158227501f4c0a3236ec9c69c3d005704502a\",\"dweb:/ipfs/QmTfbddu92e2a6TnXZyVpk9zKTaHcyqGnaWtdh1jwm3DVB\"]},\"src/modules/erc20-puppet/utils.sol\":{\"keccak256\":\"0x93469cfd699997e1b980433ad416566a87da0cc925a55752c98dc86c76c63b32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00bd06095ef07edea5827d0fde62110f8ce92ed8e20946d04e39a558700e045e\",\"dweb:/ipfs/QmdvVCsFD8ktvJFV56NDkgQ3oBsSb9vLNcwVm6uwTuUuPR\"]},\"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\":\"0x37273e42577e71b80621bcaa9132b8f9d28ded452242fb478fd7e52f382b83a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://26403866f063923a910cc1e6f4ff7b0e74e4f343b1222675658d1b9a1ecdbe14\",\"dweb:/ipfs/QmSTqLMbg9PvyFkVexVbLPUPLr1aBuBtcfnBZGbqEaje7Q\"]},\"src/modules/puppet/utils.sol\":{\"keccak256\":\"0x0c07e1daf167a9ebcf81d1b176e4aef23d12b0bc01333c572c0482b699fd199d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f2ec0928e530ae3b75aadfe224a5c1654d0c26b8f10e06e490274fff3871489\",\"dweb:/ipfs/QmPLfak2kwefQ5tcNFxuE9TXsQ4PVkvTraHWZU8PK9GkR4\"]},\"src/modules/tokens/tables/Balances.sol\":{\"keccak256\":\"0x6397f165aed38d2e921a0ae4f280f8079e0241d24bce2915c99ce69ea036b0cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b9ecc3fe44da5dc9c2532d85b288f6d9dfc28ea5a0899fe32faa1d7d78bd047\",\"dweb:/ipfs/QmayMhjNZJNRKjyxC7AEXkx87ePDu4rNVqZ7eDRTzk8Jrc\"]},\"src/utils/AccessControlLib.sol\":{\"keccak256\":\"0x9fb1520ec94ce3396760a235db900192b4990c78fd459c449896a74c32b83542\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4025b37988ece6915b2c867702a4a381829755dd9e5b0b0b32ade85649b00b2a\",\"dweb:/ipfs/QmUsLyetPdhtSdN3MicE1uphXWscKBPSBif8Sd83RC1E6Z\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"bytes14","name":"namespace","type":"bytes14"}],"type":"error","name":"ERC20Module_InvalidNamespace"},{"inputs":[],"type":"error","name":"FieldLayout_Empty"},{"inputs":[{"internalType":"uint256","name":"staticDataLength","type":"uint256"},{"internalType":"uint256","name":"computedStaticDataLength","type":"uint256"}],"type":"error","name":"FieldLayout_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsNotZero"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsZero"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyDynamicFields"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyFields"},{"inputs":[],"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":"Schema_InvalidLength"},{"inputs":[],"type":"error","name":"Schema_StaticTypeAfterDynamicType"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Slice_OutOfBounds"},{"inputs":[{"internalType":"uint256","name":"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":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"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/erc20-puppet/ERC20Module.sol":"ERC20Module"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x167af6321dc89c2e5850e31949b1d64ab70bb1cc809daa54a030e8ff30f35411","urls":["bzz-raw://e4b1a2d5da7e4f79349f5257a62b4c6ffe110d6e18fe407099aec71a2f3b2539","dweb:/ipfs/QmQXqehp55UecYyuYTiPBKSnuedqYybXfCCjoPPrZ2hnRw"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x0128498e258f144cf98f0aa9aa0b39955273f31ca5464258a4cac8b3dbdb1b35","urls":["bzz-raw://cab457b868f39aaab35cb80ec4446606a0647a128234a2e3a16188d609efdd33","dweb:/ipfs/QmP4DeduAZfLBG7uN7DUuEoqom6sairSkwU3vb22MZMHL9"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0xfc18616186545cf0eedcf4baf9615f4677d1fde01dab4ed3b6cd088a3c65a850","urls":["bzz-raw://b4c64f4893e34fb14cbd86a33272fc773875482f53e784a0f1c9b52f774939ba","dweb:/ipfs/QmP4ZRD4bsAeYzsY5s6z1TKnLF8oFRnSkD71tzHBz2Haqm"],"license":"MIT"},"node_modules/@latticexyz/world/src/DelegationControl.sol":{"keccak256":"0x8fa0fe6f180267dd17948607704000850b896dd16570525a2347949023022b54","urls":["bzz-raw://45a984963246009d0021961527210f77b0af851b18cdc9efc7ef0ed3c7b98958","dweb:/ipfs/QmU8JAbabZeujX18JF4KCaCW34PbwSe8zR6Cc1cNRUJ4Bh"],"license":"MIT"},"node_modules/@latticexyz/world/src/IDelegationControl.sol":{"keccak256":"0x7cc2fbdd8ff6c996e19fab46c1031b76355da74973cebf45ce4df4b035d566bf","urls":["bzz-raw://857d577f84a68018a3392ec4540c15e80326aaf4b0f224d0d239605abacfc0f3","dweb:/ipfs/QmVEr3rTH1F1BFaCTMd7MmuceTqASwKBcMRnuFZ4tUAYmR"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"node_modules/@latticexyz/world/src/Module.sol":{"keccak256":"0xd99e81434439567e123dbade39850ea3e439ed7a33fe9a609ca6f1e08214908d","urls":["bzz-raw://a00f6f27be952688d8db4ed77667d55219a56a04973db4d421a2776eb46da88b","dweb:/ipfs/QmRqDmtDwZ8pXCcJFzwP7JDtUk86LmhWDrZBKy6q9UK9rz"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/InstalledModules.sol":{"keccak256":"0x50a1f277a00f01e3cb97a85f0fc624ae2192a726136720b6a900b465a7aecc05","urls":["bzz-raw://8f3cd87cc0b905d5b75d134d95176630404e76c0f0a343cbd17b8338e1492c0b","dweb:/ipfs/QmURFDNBdUWgh57apX9n7VF68rSQeQrpc5to4FFV6bbJgN"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614","urls":["bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597","dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc","urls":["bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e","dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol":{"keccak256":"0xcb1e9fd5cd02cbb7125f2a64c02f89272d4b0f2afc0b43f24b727f023ef06493","urls":["bzz-raw://f4a923e67dea1c1c0a978cbb89d4e27f6e0205f49efe0556ac90b358bd2062ab","dweb:/ipfs/QmZww8gDH9kyXsCaTYWzupNhL1QqR1emAbb5VifFWhDWYF"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c","urls":["bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7","dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz"],"license":"MIT"},"node_modules/@latticexyz/world/src/constants.sol":{"keccak256":"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5","urls":["bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22","dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"src/modules/erc20-puppet/ERC20Module.sol":{"keccak256":"0x25e2b481c28b4be69b2103a2e98b9e4c5ddf81b373726b2ae9f00c14af53a217","urls":["bzz-raw://01d4973ca1b88c8f640c6f6c65a50691bf50707ba7ec89c4bd46488450eeec12","dweb:/ipfs/QmPpwGqc3HL8CctbPbKaXSse97Mm5mq7AwyxP5DcrpwQeJ"],"license":"MIT"},"src/modules/erc20-puppet/ERC20System.sol":{"keccak256":"0xf3cd154bdc6d3f7ad3727ee9852a2858c13b9d19a1b67c8ade74b812abc67ad9","urls":["bzz-raw://4761ee9c4d3e0cf92147950d18e267dbbabf735d7ac5f7b09ae63c86968cf466","dweb:/ipfs/QmSFNphuAUT1VbNegRjsXQaWttWL1UCLUixSXjAapbPn5s"],"license":"MIT"},"src/modules/erc20-puppet/IERC20.sol":{"keccak256":"0x4da2e95751daa6444c24063c1da6886380a487b958808d888f6f4f4b1da7b60b","urls":["bzz-raw://111b988299e13500d38a87e2a6309087f42abd6a871e6e9c5da7bc7d09c71b2c","dweb:/ipfs/QmWyShHQnKFNvZdKyKmsuRCwhYRrz2UMqHP2oLnHvqArdj"],"license":"MIT"},"src/modules/erc20-puppet/IERC20Errors.sol":{"keccak256":"0x704a9e25590a92a80d153552fbe79a83fe0a80a8f6eaa8d2ccaca70649e40fce","urls":["bzz-raw://0e6ae9510a9c5023299a1064c945b652336a31f5cd225bbe9a72f9e2fd81ada2","dweb:/ipfs/QmdvTCUs3ZiP5unHGdwJz3MxAR5b7K7bYVTZjBT8xadBVR"],"license":"MIT"},"src/modules/erc20-puppet/IERC20Events.sol":{"keccak256":"0xee632339ff14c1e5e6994ce3c605799761f24f40093cabf3b091f6dcbd9ef8ff","urls":["bzz-raw://a0c7a33110c14cfc32011bda15c4330d8f193d133c1f34448f1566f44a0663bd","dweb:/ipfs/QmadwRXGu4H2H3WxgEchXTyLx5PKSLZd7VHvRPEZ5zAgaZ"],"license":"MIT"},"src/modules/erc20-puppet/IERC20Mintable.sol":{"keccak256":"0x51e2b57003ef9fd5e87b7dcd451628e361ff26e0f82a089897e43def4cf35163","urls":["bzz-raw://3b8478ba8a5562432dfcfc02cb35d38b95e0e16d1771c3619d8140a04bbf5208","dweb:/ipfs/QmRBBjFW4dm2qQHdysj3ci9NGpaywbMsN2zjQAUNbXydhL"],"license":"MIT"},"src/modules/erc20-puppet/constants.sol":{"keccak256":"0xf5bc462ba7a0209d4d13b27f6038d2484c978250d9177d1814813a9fa6c67f0e","urls":["bzz-raw://25f1dafb6cabe5bb70021625bd025d7249aed86dfc8567b9e5d8c2c32da847b4","dweb:/ipfs/QmbAAQHU2q6Dm66CqbrwUtWyCbwndKZtrpE3oneFtaYMxX"],"license":"MIT"},"src/modules/erc20-puppet/tables/Allowances.sol":{"keccak256":"0x51bdf129e0b116fd8ec04c2a292ce00a3211b5ddd0fe1313ff252be0f6c915d0","urls":["bzz-raw://5b8e2f4cc58db358e38b386d21b2c575fa4ae573e12487cbe56f7bec753f43a2","dweb:/ipfs/QmQUEomWFs9kHM1BiBkDMnu8pFxdn7XEUaidxW5bWwDeqt"],"license":"MIT"},"src/modules/erc20-puppet/tables/ERC20Metadata.sol":{"keccak256":"0xb90f1f9f228a91b4e558d5d40bfbdb7c0970f3d57b5afe9f77fd20fab8969b94","urls":["bzz-raw://56090ae6307d15fc2d86ef240dc5e0b3d338de1d5873faf0d2894d2018ca4a03","dweb:/ipfs/QmWWbqFBZtVQffPtmNv8b9B7dRDtNYY5HvUbdYyBr6YxXS"],"license":"MIT"},"src/modules/erc20-puppet/tables/ERC20Registry.sol":{"keccak256":"0x927159d7916a1da7a8aa08e26503d1e1769afbc1f65aeae7209764ce4cb2f939","urls":["bzz-raw://f9d2c47d8320366b19a088c343263197d518fa6bec75bf182b385e8e141ca13e","dweb:/ipfs/QmNfj3GcgUpwZKG9ZobNiLEKQ2P1DfKYzfZ8tFFiM6STPj"],"license":"MIT"},"src/modules/erc20-puppet/tables/TotalSupply.sol":{"keccak256":"0x7021c83769d9c4e3d4026101d625c6c42cd972ff1c77ec121780ef42c161d933","urls":["bzz-raw://eae00cc4fda10f7cb5ea3007a00158227501f4c0a3236ec9c69c3d005704502a","dweb:/ipfs/QmTfbddu92e2a6TnXZyVpk9zKTaHcyqGnaWtdh1jwm3DVB"],"license":"MIT"},"src/modules/erc20-puppet/utils.sol":{"keccak256":"0x93469cfd699997e1b980433ad416566a87da0cc925a55752c98dc86c76c63b32","urls":["bzz-raw://00bd06095ef07edea5827d0fde62110f8ce92ed8e20946d04e39a558700e045e","dweb:/ipfs/QmdvVCsFD8ktvJFV56NDkgQ3oBsSb9vLNcwVm6uwTuUuPR"],"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":"0x37273e42577e71b80621bcaa9132b8f9d28ded452242fb478fd7e52f382b83a6","urls":["bzz-raw://26403866f063923a910cc1e6f4ff7b0e74e4f343b1222675658d1b9a1ecdbe14","dweb:/ipfs/QmSTqLMbg9PvyFkVexVbLPUPLr1aBuBtcfnBZGbqEaje7Q"],"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":"0x6397f165aed38d2e921a0ae4f280f8079e0241d24bce2915c99ce69ea036b0cc","urls":["bzz-raw://8b9ecc3fe44da5dc9c2532d85b288f6d9dfc28ea5a0899fe32faa1d7d78bd047","dweb:/ipfs/QmayMhjNZJNRKjyxC7AEXkx87ePDu4rNVqZ7eDRTzk8Jrc"],"license":"MIT"},"src/utils/AccessControlLib.sol":{"keccak256":"0x9fb1520ec94ce3396760a235db900192b4990c78fd459c449896a74c32b83542","urls":["bzz-raw://4025b37988ece6915b2c867702a4a381829755dd9e5b0b0b32ade85649b00b2a","dweb:/ipfs/QmUsLyetPdhtSdN3MicE1uphXWscKBPSBif8Sd83RC1E6Z"],"license":"MIT"}},"version":1},"id":147}
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":"EncodedLengths"},{"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":"ERC20Module_InvalidNamespace","inputs":[{"name":"namespace","type":"bytes14","internalType":"bytes14"}]},{"type":"error","name":"FieldLayout_Empty","inputs":[]},{"type":"error","name":"FieldLayout_InvalidStaticDataLength","inputs":[{"name":"staticDataLength","type":"uint256","internalType":"uint256"},{"name":"computedStaticDataLength","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsNotZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyDynamicFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"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":"Schema_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Schema_StaticTypeAfterDynamicType","inputs":[]},{"type":"error","name":"Slice_OutOfBounds","inputs":[{"name":"data","type":"bytes","internalType":"bytes"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_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":"0x60c0604081905230608052620000159062000053565b604051809103906000f08015801562000032573d6000803e3d6000fd5b506001600160a01b031660a0523480156200004c57600080fd5b5062000061565b6147b3806200339b83390190565b60805160a0516133146200008760003960006102d7015260006101fb01526133146000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c806345ec93541161005057806345ec9354146100d45780637c5b0335146100e7578063e1af802c146100fa57600080fd5b806301ffc9a714610077578063119df25f1461009f57806313861fb5146100bf575b600080fd5b61008a610085366004612af9565b610102565b60405190151581526020015b60405180910390f35b6100a76101e7565b6040516001600160a01b039091168152602001610096565b6100d26100cd366004612bd3565b6101f6565b005b604051601f193601358152602001610096565b6100d26100f5366004612bd3565b610749565b6100a761077b565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f6fdd1c8000000000000000000000000000000000000000000000000000000000148061019557507fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee12700000000000000000000000000000000000000000000000000000000145b806101e157507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101f1610785565b905090565b6102207f0000000000000000000000000000000000000000000000000000000000000000826107b7565b600080828060200190518101906102379190612cc7565b90925090507f9a8d9ccdcfd28f8a8f8f9a8c000000000000000000000000000000000000000071ffffffffffffffffffffffffffffffffffff198316016102c6576040517f0f31c63c00000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff19831660048201526024015b60405180910390fd5b60006102d061077b565b90506000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316838660405160240161033b9291906001600160a01b0392909216825271ffffffffffffffffffffffffffffffffffff1916602082015260400190565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f472466c2000000000000000000000000000000000000000000000000000000001790525161039e9190612d9f565b600060405180830381855af49150503d80600081146103d9576040519150601f19603f3d011682016040523d82523d6000602084013e6103de565b606091505b5091509150816103f1576103f1816107fc565b6104036103fd86610804565b85610836565b600061040e866108d8565b9050600061041c8583610925565b90507f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000601089901c16176001600160a01b03861663ef5d6bbb8261047d6101e7565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815260048101929092526001600160a01b03166024820152604401600060405180830381600087803b1580156104dc57600080fd5b505af11580156104f0573d6000803e3d6000fd5b505060408051613a3160f11b60208201527f65726332302d707570706574000000000000000000000000000000000000000060228201527f45524332305265676973747279000000000000000000000000000000000000006030820152610572935001905060405160208183030381529060405261056d90612dbb565b610c23565b6106bf576040517f6e7300000000000000000000000000000000000000000000000000000000000060208201527f65726332302d707570706574000000000000000000000000000000000000000060228201526001600160a01b0387169063b29e4089906030016040516020818303038152906040526105f190612dbb565b6040518263ffffffff1660e01b815260040161060f91815260200190565b600060405180830381600087803b15801561062957600080fd5b505af115801561063d573d6000803e3d6000fd5b505060408051613a3160f11b60208201527f65726332302d707570706574000000000000000000000000000000000000000060228201527f455243323052656769737472790000000000000000000000000000000000000060308201526106bf93500190506040516020818303038152906040526106ba90612dbb565b610cb0565b60408051613a3160f11b60208201527f65726332302d707570706574000000000000000000000000000000000000000060228201527f4552433230526567697374727900000000000000000000000000000000000000603082015261073e910160405160208183030381529060405261073790612dbb565b8284610d2c565b505050505050505050565b6040517fb6622fc000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006101f1610dec565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806107b45750335b90565b6107c18282610df6565b156107f8576040517f1401206800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b805160208201fd5b60006101e1613a3160f11b837f4d65746164617461000000000000000000000000000000000000000000000000610e10565b600061088582600001516040805160f89290921b7fff00000000000000000000000000000000000000000000000000000000000000166020830152805160018184030181526021909201905290565b9050600061089b83602001518460400151610e96565b905060006108b184602001518560400151610eb3565b6040805160008152602081019091529091506108d08682868686610edf565b505050505050565b60006101e17f7379000000000000000000000000000000000000000000000000000000000000837f455243323053797374656d000000000000000000000000000000000000000000610e10565b604080517f737900000000000000000000000000000000000000000000000000000000000060208201527f707570706574000000000000000000000000000000000000000000000000000060228201527f466163746f72790000000000000000000000000000000000000000000000000060308201526000916001600160a01b03851691633ae7af0891016040516020818303038152906040526109c890612dbb565b6040516024810186905260440160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb9eb8bfb00000000000000000000000000000000000000000000000000000000179052517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152610a65929190600401612e0b565b6000604051808303816000875af1158015610a84573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610aac9190810190612e24565b806020019051810190610abf9190612e6d565b90506001600160a01b03831663bfdfaff77f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617604080517f737900000000000000000000000000000000000000000000000000000000000060208201527f707570706574000000000000000000000000000000000000000000000000000060228201527f44656c65676174696f6e00000000000000000000000000000000000000000000603082015201604051602081830303815290604052610ba290612dbb565b604080516000815260208101918290527fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16909152610beb92919060248101612e96565b600060405180830381600087803b158015610c0557600080fd5b505af1158015610c19573d6000803e3d6000fd5b5050505092915050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610c5c57610c5c612eb5565b60209081029190910101526000610c9c7f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b610f94565b9050610ca88160f81c90565b949350505050565b610d29817e140100140000000000000000000000000000000000000000000000000000007e2001005f0000000000000000000000000000000000000000000000000000007e14010061000000000000000000000000000000000000000000000000000000610d1c611051565b610d246110d6565b61114d565b50565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610d6257610d62612eb5565b602002602001018181525050610de68482600085604051602001610db1919060609190911b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016815260140190565b60408051601f198184030181529190527e14010014000000000000000000000000000000000000000000000000000000611207565b50505050565b60006101f161127d565b6000610e098383805190602001206112bc565b9392505050565b6000610e1e60706010612ee1565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316901c601084901c7dffffffffffffffffffffffffffff00000000000000000000000000000000167fffff0000000000000000000000000000000000000000000000000000000000008616171790509392505050565b8151815160009181810160389190911b1760609190911b17610e09565b60608282604051602001610ec8929190612ef4565b604051602081830303815290604052905092915050565b6000610ee961127d565b9050306001600160a01b03821603610f0d57610f088686868686611376565b6108d0565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb90610f5a9089908990899089908990600401612f5f565b600060405180830381600087803b158015610f7457600080fd5b505af1158015610f88573d6000803e3d6000fd5b50505050505050505050565b600080610f9f61127d565b9050306001600160a01b03821603610fc557610fbd86868686611393565b915050610ca8565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990611010908990899089908990600401612fb0565b602060405180830381865afa15801561102d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fbd9190612fdf565b604080516001808252818301909252606091816020015b60608152602001906001900390816110685790505090506040518060400160405280600b81526020017f6e616d6573706163654964000000000000000000000000000000000000000000815250816000815181106110c8576110c8612eb5565b602002602001018190525090565b604080516001808252818301909252606091816020015b60608152602001906001900390816110ed5790505090506040518060400160405280600c81526020017f746f6b656e416464726573730000000000000000000000000000000000000000815250816000815181106110c8576110c8612eb5565b600061115761127d565b9050306001600160a01b0382160361117c576111778787878787876113c0565b6111fe565b6040517f0ba51f490000000000000000000000000000000000000000000000000000000081526001600160a01b03821690630ba51f49906111cb908a908a908a908a908a908a90600401613052565b600060405180830381600087803b1580156111e557600080fd5b505af11580156111f9573d6000803e3d6000fd5b505050505b50505050505050565b600061121161127d565b9050306001600160a01b0382160361123057610f08868686868661181b565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090610f5a908990899089908990899060040161309c565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b0316806112b7573391505090565b919050565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b8160008151811061130157611301612eb5565b602002602001018181525050828160018151811061132157611321612eb5565b602090810291909101015260006113617f7462776f726c64000000000000000000496e7374616c6c65644d6f64756c65738383630101000160d81b610f94565b905061136d8160f81c90565b95945050505050565b61138c85858585856113878b611830565b6118b5565b5050505050565b600061136d6113a28686611bee565b60ff858116601b0360080285901c166113bb8587611c44565b611c7d565b613a3160f11b867fffff000000000000000000000000000000000000000000000000000000000000161480159061143957507f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001614155b1561149a57613a3160f11b868760405160200161145891815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526102bd9392916004016130e3565b6114a385611cce565b6114ae846001611f15565b6114b9836000611f15565b60e084901c60e885901c0160ff168251146115195760e084901c60e885901c0160ff1682516040517f0f72cb98000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b60e085901c60e886901c0160ff168151146115795760e085901c60e886901c0160ff1681516040517f7dec4c00000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b60e085901c60e886901c0160ff1660e084901c60e885901c0160ff16146115f15760e085901c60e886901c0160ff1660e084901c60e885901c0160ff166040517ff29d4d88000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b6115fa856120b1565b611603846120b1565b1461165557611611856120b1565b61161a846120b1565b6040517f65cc0adf000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b61165e856120e3565b611667846120e3565b146116b957611675856120e3565b61167e846120e3565b6040517fedea9587000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b60005b6116c5866120b1565b811015611760576116ef6116d98583612100565b60c58111156116ea576116ea613124565b612121565b6008601b8390030287901c60ff1614611758576008601b8290030286901c60ff1661171d6116d98684612100565b6040517f254c7db4000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b6001016116bc565b5061176a86612181565b156117c457858660405160200161178391815260200190565b60408051601f19818403018152908290527fdfaaf9cf0000000000000000000000000000000000000000000000000000000082526102bd9291600401612e0b565b61181086868686866040516020016117dc919061313a565b604051602081830303815290604052866040516020016117fc919061313a565b6040516020818303038152906040526121fa565b6108d08660016122d1565b61138c858561182a8487611c44565b85612377565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161187f57507e60030220202000000000000000000000000000000000000000000000000000919050565b6101e16118ac7f746273746f72650000000000000000005461626c65730000000000000000000084612612565b60206000611c7d565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361194157857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a986868686604051611934949392919061314d565b60405180910390a26108d0565b600061194c8761262e565b905060005b8151811015611a2557600082828151811061196e5761196e612eb5565b6020026020010151905061199a6001826affffffffffffffffffffff19166126b790919063ffffffff16565b15611a1c576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c906119e9908c908c908c908c908c908c90600401613197565b600060405180830381600087803b158015611a0357600080fd5b505af1158015611a17573d6000803e3d6000fd5b505050505b50600101611951565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a987878787604051611a5c949392919061314d565b60405180910390a26000611a708888611bee565b90506000602087019050611a888260008951846126d5565b6000611a93856120e3565b1115611b17576000611aa58a8a612794565b878155905060208601915060008060005b611abf886120e3565b8160ff161015611b1257611ad48d8d836127ea565b9250611aef8a8260ff166028026038011c64ffffffffff1690565b9150611afe83600084886126d5565b611b088286612ee1565b9450600101611ab6565b505050505b60005b8351811015610f88576000848281518110611b3757611b37612eb5565b60200260200101519050611b636002826affffffffffffffffffffff19166126b790919063ffffffff16565b15611be5576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90611bb2908e908e908e908e908e908e90600401613197565b600060405180830381600087803b158015611bcc57600080fd5b505af1158015611be0573d6000803e3d6000fd5b505050505b50600101611b1a565b60008282604051602001611c039291906131f0565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff16811015611c7557611c6b60ff601b83900360080287901c1683612ee1565b9150600101611c49565b509392505050565b600060208210611ca357602082048401935060208281611c9f57611c9f61322c565b0691505b508254600882021b602082900380841115611c75576001850154600882021c82179150509392505050565b80611d05576040517fa019e4da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611d10826120e3565b90506005811115611d57576040517f6793df6200000000000000000000000000000000000000000000000000000000815260048101829052600560248201526044016102bd565b6000611d62836120b1565b90506000611d708383612ee1565b9050601c811115611db7576040517fecd893b900000000000000000000000000000000000000000000000000000000815260048101829052601c60248201526044016102bd565b6000805b83811015611e625760ff601b82900360080287901c166000819003611e0f576040517f53b2dd05000000000000000000000000000000000000000000000000000000008152600481018390526024016102bd565b6020811115611e4d576040517f7237f237000000000000000000000000000000000000000000000000000000008152600481018390526024016102bd565b611e578184612ee1565b925050600101611dbb565b50611e6c8561286a565b8114611eb857611e7b8561286a565b6040517feba964de0000000000000000000000000000000000000000000000000000000081526004810191909152602481018290526044016102bd565b825b601c8110156108d05760ff601b82900360080287901c168015611f0c576040517f1d8d44db000000000000000000000000000000000000000000000000000000008152600481018390526024016102bd565b50600101611eba565b80158015611f21575081155b15611f425760405163d498615960e01b8152600060048201526024016102bd565b6000611f4d836120e3565b90506005811115611f745760405163d498615960e01b8152600481018290526024016102bd565b6000611f7f846120b1565b90506000611f8d8383612ee1565b9050601c811115611fb45760405163d498615960e01b8152600481018290526024016102bd565b6000805b83811015612020576000611fcf6116d98984612100565b90508060000361200b576040517ff44b422000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6120158184612ee1565b925050600101611fb8565b5061202a8661286a565b8114612055576120398661286a565b60405163d498615960e01b81526004016102bd91815260200190565b825b828110156111fe57600061206e6116d98984612100565b905080156120a8576040517ff44b422000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50600101612057565b6000600860016120c360026020613242565b6120cd9190613242565b6120d79190613255565b8260ff911c1692915050565b600060086001806120f660026020613242565b6120c39190613242565b6000601b8290036008028360ff911c1660c5811115610e0957610e09613124565b6000808260c581111561213657612136613124565b60ff169050606181101561215057601f1660010192915050565b60618360c581111561216457612164613124565b036121725750601492915050565b50600092915050565b50919050565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106121ba576121ba612eb5565b60209081029190910101526000610c9c7f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b611393565b6040805160208101879052808201869052606080820186905282518083039091018152608090910190915260006122318484610e96565b9050600061223f8585610eb3565b6040805160018082528183019092529192506000919060208083019080368337019050509050898160008151811061227957612279612eb5565b6020908102919091010152610f887f746273746f72650000000000000000005461626c657300000000000000000000828686867e600302202020000000000000000000000000000000000000000000000000006118b5565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061230757612307612eb5565b6020026020010181815250506123727f746273746f72650000000000000000005265736f75726365496473000000000060001b8260008560405160200161235591151560f81b815260010190565b60408051601f19818403018152919052630101000160d81b61181b565b505050565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361240157837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8484846040516123f49392919061326c565b60405180910390a2610de6565b600061240d8585611bee565b9050600061241a8661262e565b905060005b81518110156124ef57600082828151811061243c5761243c612eb5565b602002602001015190506124686004826affffffffffffffffffffff19166126b790919063ffffffff16565b156124e6576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d906124b3908b908b908b908b906004016132a9565b600060405180830381600087803b1580156124cd57600080fd5b505af11580156124e1573d6000803e3d6000fd5b505050505b5060010161241f565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8686866040516125249392919061326c565b60405180910390a261253f828565ffffffffffff168561288d565b60005b81518110156111fe57600082828151811061255f5761255f612eb5565b6020026020010151905061258b6008826affffffffffffffffffffff19166126b790919063ffffffff16565b15612609576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba8721906125d6908b908b908b908b906004016132a9565b600060405180830381600087803b1580156125f057600080fd5b505af1158015612604573d6000803e3d6000fd5b505050505b50600101612542565b6040805160208101849052908101829052600090606001611c03565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061266857612668612eb5565b602090810291909101015260006126a07f746273746f726500000000000000000053746f7265486f6f6b7300000000000083836128a3565b9050610ca86126b282600084516128dd565b61296b565b60008160ff16826126c88560581c90565b1660ff1614905092915050565b821561274f57602083106126ff576020830484019350602083816126fb576126fb61322c565b0692505b821561274f5760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411612740575050610de6565b50600194909401939182900391015b5b602082106127715780518455600190930192601f1990910190602001612750565b8115610de6576000600019600884021c8554835182191691161785555050505050565b600082826040516020016127a99291906131f0565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b600083836040516020016127ff9291906131f0565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b6000600861287a60026020613242565b6128849190613255565b9190911c919050565b6123728383835161289e8560200190565b6126d5565b6060610ca86128b38585856127ea565b60006128d8856128c3898961297c565b9060ff166028026038011c64ffffffffff1690565b61298f565b6000818311806128ed5750835182115b1561292a578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016102bd939291906132e2565b602084016129388482612ee1565b905060006129468585613242565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000610e0983601560006129b2565b6000610e0961298b8484612794565b5490565b60405160208101601f19603f8484010116604052828252611c7585858584612a2d565b606060006129c08560801c90565b90506fffffffffffffffffffffffffffffffff851660008582816129e6576129e661322c565b04905060405193506020840160208202810160405281855260005b82811015612a21578451871c825293870193602090910190600101612a01565b50505050509392505050565b8215612ab45760208310612a5757602083048401935060208381612a5357612a5361322c565b0692505b8215612ab4576020839003600081841015612a7a5750600019600884021c612a84565b50600019600882021c5b8554600886021b818451168219821617845250818411612aa5575050610de6565b50600194909401939182900391015b5b60208210612ad65783548152600190930192601f1990910190602001612ab5565b8115610de6576000600019600884021c8251865482191691161782525050505050565b600060208284031215612b0b57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610e0957600080fd5b634e487b7160e01b600052604160045260246000fd5b6040516060810167ffffffffffffffff81118282101715612b7457612b74612b3b565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715612ba357612ba3612b3b565b604052919050565b600067ffffffffffffffff821115612bc557612bc5612b3b565b50601f01601f191660200190565b600060208284031215612be557600080fd5b813567ffffffffffffffff811115612bfc57600080fd5b8201601f81018413612c0d57600080fd5b8035612c20612c1b82612bab565b612b7a565b818152856020838501011115612c3557600080fd5b81602084016020830137600091810160200191909152949350505050565b60005b83811015612c6e578181015183820152602001612c56565b50506000910152565b6000612c85612c1b84612bab565b9050828152838383011115612c9957600080fd5b610e09836020830184612c53565b600082601f830112612cb857600080fd5b610e0983835160208501612c77565b60008060408385031215612cda57600080fd5b825171ffffffffffffffffffffffffffffffffffff1981168114612cfd57600080fd5b602084015190925067ffffffffffffffff80821115612d1b57600080fd5b9084019060608287031215612d2f57600080fd5b612d37612b51565b825160ff81168114612d4857600080fd5b8152602083015182811115612d5c57600080fd5b612d6888828601612ca7565b602083015250604083015182811115612d8057600080fd5b612d8c88828601612ca7565b6040830152508093505050509250929050565b60008251612db1818460208701612c53565b9190910192915050565b8051602080830151919081101561217b5760001960209190910360031b1b16919050565b60008151808452612df7816020860160208601612c53565b601f01601f19169290920160200192915050565b828152604060208201526000610ca86040830184612ddf565b600060208284031215612e3657600080fd5b815167ffffffffffffffff811115612e4d57600080fd5b8201601f81018413612e5e57600080fd5b610ca884825160208401612c77565b600060208284031215612e7f57600080fd5b81516001600160a01b0381168114610e0957600080fd5b83815282602082015260606040820152600061136d6060830184612ddf565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b808201808211156101e1576101e1612ecb565b60008351612f06818460208801612c53565b835190830190612f1a818360208801612c53565b01949350505050565b60008151808452602080850194506020840160005b83811015612f5457815187529582019590820190600101612f38565b509495945050505050565b85815260a060208201526000612f7860a0830187612f23565b8281036040840152612f8a8187612ddf565b90508460608401528281036080840152612fa48185612ddf565b98975050505050505050565b848152608060208201526000612fc96080830186612f23565b60ff949094166040830152506060015292915050565b600060208284031215612ff157600080fd5b5051919050565b60008282518085526020808601955060208260051b8401016020860160005b8481101561304557601f19868403018952613033838351612ddf565b98840198925090830190600101613017565b5090979650505050505050565b86815285602082015284604082015283606082015260c06080820152600061307d60c0830185612ff8565b82810360a084015261308f8185612ff8565b9998505050505050505050565b85815260a0602082015260006130b560a0830187612f23565b60ff8616604084015282810360608401526130d08186612ddf565b9150508260808301529695505050505050565b7fffff0000000000000000000000000000000000000000000000000000000000008416815282602082015260606040820152600061136d6060830184612ddf565b634e487b7160e01b600052602160045260246000fd5b602081526000610e096020830184612ff8565b6080815260006131606080830187612f23565b82810360208401526131728187612ddf565b9050846040840152828103606084015261318c8185612ddf565b979650505050505050565b86815260c0602082015260006131b060c0830188612f23565b82810360408401526131c28188612ddf565b905085606084015282810360808401526131dc8186612ddf565b9150508260a0830152979650505050505050565b8281526000602080830184516020860160005b8281101561321f57815184529284019290840190600101613203565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b818103818111156101e1576101e1612ecb565b80820281158282048414176101e1576101e1612ecb565b60608152600061327f6060830186612f23565b65ffffffffffff85166020840152828103604084015261329f8185612ddf565b9695505050505050565b8481526080602082015260006132c26080830186612f23565b65ffffffffffff85166040840152828103606084015261318c8185612ddf565b6060815260006132f56060830186612ddf565b6020830194909452506040015291905056fea164736f6c6343000818000a608060405234801561001057600080fd5b50614793806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063472466c214610030575b600080fd5b61004361003e366004612090565b610045565b005b6000601082901c7dffffffffffffffffffffffffffff00000000000000000000000000000000167f6e73000000000000000000000000000000000000000000000000000000000000176040517fb29e40890000000000000000000000000000000000000000000000000000000081526004810182905290915073ffffffffffffffffffffffffffffffffffffffff84169063b29e408990602401600060405180830381600087803b1580156100f957600080fd5b505af115801561010d573d6000803e3d6000fd5b5050505061012261011d83610222565b61025a565b61013361012e836102d6565b610308565b61014461013f83610374565b6103a6565b8273ffffffffffffffffffffffffffffffffffffffff16633350b6a9610169846103fc565b60405161017590612083565b604051809103906000f080158015610191573d6000803e3d6000fd5b506040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff16602482015260016044820152606401600060405180830381600087803b15801561020557600080fd5b505af1158015610219573d6000803e3d6000fd5b50505050505050565b6000610254613a3160f11b837f416c6c6f77616e63657300000000000000000000000000000000000000000000610445565b92915050565b6102d3817e200100200000000000000000000000000000000000000000000000000000007e280200616100000000000000000000000000000000000000000000000000007e2001001f0000000000000000000000000000000000000000000000000000006102c66104cc565b6102ce6105a4565b61061b565b50565b6000610254613a3160f11b837f42616c616e636573000000000000000000000000000000000000000000000000610445565b6102d3817e200100200000000000000000000000000000000000000000000000000000007e140100610000000000000000000000000000000000000000000000000000007e2001001f0000000000000000000000000000000000000000000000000000006102c66106ee565b6000610254613a3160f11b837f4d65746164617461000000000000000000000000000000000000000000000000610445565b6102d3817e0101020100000000000000000000000000000000000000000000000000000060007e01010200c5c5000000000000000000000000000000000000000000000000006103f4610765565b6102ce610798565b60006102547f7379000000000000000000000000000000000000000000000000000000000000837f455243323053797374656d0000000000000000000000000000000000000000005b60006104536070601061211d565b7fffff00000000000000000000000000000000000000000000000000000000000085167dffffffffffffffffffffffffffff00000000000000000000000000000000601086901c16177fffffffffffffffffffffffffffffffff00000000000000000000000000000000841690911c1790509392505050565b6040805160028082526060828101909352816020015b60608152602001906001900390816104e25790505090506040518060400160405280600781526020017f6163636f756e74000000000000000000000000000000000000000000000000008152508160008151811061054257610542612130565b60200260200101819052506040518060400160405280600781526020017f7370656e646572000000000000000000000000000000000000000000000000008152508160018151811061059657610596612130565b602002602001018190525090565b604080516001808252818301909252606091816020015b60608152602001906001900390816105bb5790505090506040518060400160405280600581526020017f76616c75650000000000000000000000000000000000000000000000000000008152508160008151811061059657610596612130565b60006106256108b8565b90503073ffffffffffffffffffffffffffffffffffffffff82160361065757610652878787878787610904565b610219565b6040517f0ba51f4900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821690630ba51f49906106b3908a908a908a908a908a908a906004016121f0565b600060405180830381600087803b1580156106cd57600080fd5b505af11580156106e1573d6000803e3d6000fd5b5050505050505050505050565b604080516001808252818301909252606091816020015b60608152602001906001900390816107055790505090506040518060400160405280600781526020017f6163636f756e74000000000000000000000000000000000000000000000000008152508160008151811061059657610596612130565b60408051600080825260208201909252606091610792565b606081526020019060019003908161077d5790505b50905090565b60408051600380825260808201909252606091816020015b60608152602001906001900390816107b05790505090506040518060400160405280600881526020017f646563696d616c730000000000000000000000000000000000000000000000008152508160008151811061081057610810612130565b60200260200101819052506040518060400160405280600481526020017f6e616d65000000000000000000000000000000000000000000000000000000008152508160018151811061086457610864612130565b60200260200101819052506040518060400160405280600681526020017f73796d626f6c00000000000000000000000000000000000000000000000000008152508160028151811061059657610596612130565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e1755460009073ffffffffffffffffffffffffffffffffffffffff16806108ff573391505090565b919050565b613a3160f11b867fffff000000000000000000000000000000000000000000000000000000000000161480159061097d57507f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001614155b156109e757613a3160f11b868760405160200161099c91815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526109de93929160040161223a565b60405180910390fd5b6109f085610d70565b6109fb846001610fb7565b610a06836000610fb7565b60e084901c60e885901c0160ff16825114610a665760e084901c60e885901c0160ff1682516040517f0f72cb98000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016109de565b60e085901c60e886901c0160ff16815114610ac65760e085901c60e886901c0160ff1681516040517f7dec4c00000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016109de565b60e085901c60e886901c0160ff1660e084901c60e885901c0160ff1614610b3e5760e085901c60e886901c0160ff1660e084901c60e885901c0160ff166040517ff29d4d88000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016109de565b610b4785611153565b610b5084611153565b14610ba257610b5e85611153565b610b6784611153565b6040517f65cc0adf000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016109de565b610bab85611185565b610bb484611185565b14610c0657610bc285611185565b610bcb84611185565b6040517fedea9587000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016109de565b60005b610c1286611153565b811015610cad57610c3c610c2685836111a2565b60c5811115610c3757610c3761227b565b6111ca565b6008601b8390030287901c60ff1614610ca5576008601b8290030286901c60ff16610c6a610c2686846111a2565b6040517f254c7db4000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016109de565b600101610c09565b50610cb786611224565b15610d11578586604051602001610cd091815260200190565b60408051601f19818403018152908290527fdfaaf9cf0000000000000000000000000000000000000000000000000000000082526109de9291600401612291565b610d5d8686868686604051602001610d2991906122aa565b60405160208183030381529060405286604051602001610d4991906122aa565b6040516020818303038152906040526112c9565b610d688660016113ac565b505050505050565b80610da7576040517fa019e4da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610db282611185565b90506005811115610df9576040517f6793df6200000000000000000000000000000000000000000000000000000000815260048101829052600560248201526044016109de565b6000610e0483611153565b90506000610e12838361211d565b9050601c811115610e59576040517fecd893b900000000000000000000000000000000000000000000000000000000815260048101829052601c60248201526044016109de565b6000805b83811015610f045760ff601b82900360080287901c166000819003610eb1576040517f53b2dd05000000000000000000000000000000000000000000000000000000008152600481018390526024016109de565b6020811115610eef576040517f7237f237000000000000000000000000000000000000000000000000000000008152600481018390526024016109de565b610ef9818461211d565b925050600101610e5d565b50610f0e8561146a565b8114610f5a57610f1d8561146a565b6040517feba964de0000000000000000000000000000000000000000000000000000000081526004810191909152602481018290526044016109de565b825b601c811015610d685760ff601b82900360080287901c168015610fae576040517f1d8d44db000000000000000000000000000000000000000000000000000000008152600481018390526024016109de565b50600101610f5c565b80158015610fc3575081155b15610fe45760405163d498615960e01b8152600060048201526024016109de565b6000610fef83611185565b905060058111156110165760405163d498615960e01b8152600481018290526024016109de565b600061102184611153565b9050600061102f838361211d565b9050601c8111156110565760405163d498615960e01b8152600481018290526024016109de565b6000805b838110156110c2576000611071610c2689846111a2565b9050806000036110ad576040517ff44b422000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6110b7818461211d565b92505060010161105a565b506110cc8661146a565b81146110f7576110db8661146a565b60405163d498615960e01b81526004016109de91815260200190565b825b82811015610219576000611110610c2689846111a2565b9050801561114a576040517ff44b422000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001016110f9565b600060086001611165600260206122bd565b61116f91906122bd565b61117991906122d0565b8260ff911c1692915050565b60006008600180611198600260206122bd565b61116591906122bd565b6000601b8290036008028360ff911c1660c58111156111c3576111c361227b565b9392505050565b6000808260c58111156111df576111df61227b565b60ff16905060618110156111f957601f1660010192915050565b60618360c581111561120d5761120d61227b565b0361121b5750601492915050565b50600092915050565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061125d5761125d612130565b602090810291909101015260006112b57f746273746f72650000000000000000005265736f75726365496473000000000083837e0101000100000000000000000000000000000000000000000000000000000061148d565b90506112c18160f81c90565b949350505050565b60408051602081018790528082018690526060808201869052825180830390910181526080909101909152600061130084846114c3565b9050600061130e85856114e0565b6040805160018082528183019092529192506000919060208083019080368337019050509050898160008151811061134857611348612130565b60209081029190910101526113a07f746273746f72650000000000000000005461626c657300000000000000000000828686867e6003022020200000000000000000000000000000000000000000000000000061150c565b50505050505050505050565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106113e2576113e2612130565b6020026020010181815250506114657f746273746f72650000000000000000005265736f75726365496473000000000060001b8260008560405160200161143091151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611845565b505050565b6000600861147a600260206122bd565b61148491906122d0565b9190911c919050565b60006114ba61149c8686611861565b60ff858116601b0360080285901c166114b585876118b7565b6118f0565b95945050505050565b8151815160009181810160389190911b1760609190911b176111c3565b606082826040516020016114f59291906122e7565b604051602081830303815290604052905092915050565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361159857857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98686868660405161158b9493929190612352565b60405180910390a2610d68565b60006115a387611941565b905060005b815181101561167c5760008282815181106115c5576115c5612130565b602002602001015190506115f16001826affffffffffffffffffffff19166119ca90919063ffffffff16565b15611673576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90611640908c908c908c908c908c908c9060040161239c565b600060405180830381600087803b15801561165a57600080fd5b505af115801561166e573d6000803e3d6000fd5b505050505b506001016115a8565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9878787876040516116b39493929190612352565b60405180910390a260006116c78888611861565b905060006020870190506116df8260008951846119e8565b60006116ea85611185565b111561176e5760006116fc8a8a611aa6565b878155905060208601915060008060005b61171688611185565b8160ff1610156117695761172b8d8d83611afc565b92506117468a8260ff166028026038011c64ffffffffff1690565b915061175583600084886119e8565b61175f828661211d565b945060010161170d565b505050505b60005b83518110156113a057600084828151811061178e5761178e612130565b602002602001015190506117ba6002826affffffffffffffffffffff19166119ca90919063ffffffff16565b1561183c576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90611809908e908e908e908e908e908e9060040161239c565b600060405180830381600087803b15801561182357600080fd5b505af1158015611837573d6000803e3d6000fd5b505050505b50600101611771565b61185a858561185484876118b7565b85611b7c565b5050505050565b600082826040516020016118769291906123f5565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff168110156118e8576118de60ff601b83900360080287901c168361211d565b91506001016118bc565b509392505050565b6000602082106119165760208204840193506020828161191257611912612431565b0691505b508254600882021b6020829003808411156118e8576001850154600882021c82179150509392505050565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061197b5761197b612130565b602090810291909101015260006119b37f746273746f726500000000000000000053746f7265486f6f6b730000000000008383611e17565b90506112c16119c58260008451611e51565b611edf565b60008160ff16826119db8560581c90565b1660ff1614905092915050565b8215611a625760208310611a1257602083048401935060208381611a0e57611a0e612431565b0692505b8215611a625760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411611a53575050611aa0565b50600194909401939182900391015b5b60208210611a845780518455600190930192601f1990910190602001611a63565b8115611aa05783548151600019600885021c9182169119161784555b50505050565b60008282604051602001611abb9291906123f5565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b60008383604051602001611b119291906123f5565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff0000000000000000000000000000000000000000000000000000000000001603611c0657837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be848484604051611bf993929190612447565b60405180910390a2611aa0565b6000611c128585611861565b90506000611c1f86611941565b905060005b8151811015611cf4576000828281518110611c4157611c41612130565b60200260200101519050611c6d6004826affffffffffffffffffffff19166119ca90919063ffffffff16565b15611ceb576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90611cb8908b908b908b908b90600401612484565b600060405180830381600087803b158015611cd257600080fd5b505af1158015611ce6573d6000803e3d6000fd5b505050505b50600101611c24565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be868686604051611d2993929190612447565b60405180910390a2611d44828565ffffffffffff1685611ef0565b60005b8151811015610219576000828281518110611d6457611d64612130565b60200260200101519050611d906008826affffffffffffffffffffff19166119ca90919063ffffffff16565b15611e0e576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190611ddb908b908b908b908b90600401612484565b600060405180830381600087803b158015611df557600080fd5b505af1158015611e09573d6000803e3d6000fd5b505050505b50600101611d47565b60606112c1611e27858585611afc565b6000611e4c85611e378989611f06565b9060ff166028026038011c64ffffffffff1690565b611f19565b600081831180611e615750835182115b15611e9e578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016109de939291906124bd565b60208401611eac848261211d565b90506000611eba85856122bd565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b606060006111c38360156000611f3c565b61146583838351611f018560200190565b6119e8565b60006111c3611f158484611aa6565b5490565b60405160208101601f19603f84840101166040528282526118e885858584611fb7565b60606000611f4a8560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281611f7057611f70612431565b04905060405193506020840160208202810160405281855260005b82811015611fab578451871c825293870193602090910190600101611f8b565b50505050509392505050565b821561203e5760208310611fe157602083048401935060208381611fdd57611fdd612431565b0692505b821561203e5760208390036000818410156120045750600019600884021c61200e565b50600019600882021c5b8554600886021b81845116821982161784525081841161202f575050611aa0565b50600194909401939182900391015b5b602082106120605783548152600190930192601f199091019060200161203f565b8115611aa0576000600019600884021c8251865482191691161782525050505050565b6122a4806124e383390190565b600080604083850312156120a357600080fd5b823573ffffffffffffffffffffffffffffffffffffffff811681146120c757600080fd5b915060208301357fffffffffffffffffffffffffffff000000000000000000000000000000000000811681146120fc57600080fd5b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561025457610254612107565b634e487b7160e01b600052603260045260246000fd5b60005b83811015612161578181015183820152602001612149565b50506000910152565b60008151808452612182816020860160208601612146565b601f01601f19169290920160200192915050565b60008282518085526020808601955060208260051b8401016020860160005b848110156121e357601f198684030189526121d183835161216a565b988401989250908301906001016121b5565b5090979650505050505050565b86815285602082015284604082015283606082015260c06080820152600061221b60c0830185612196565b82810360a084015261222d8185612196565b9998505050505050505050565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006114ba606083018461216a565b634e487b7160e01b600052602160045260246000fd5b8281526040602082015260006112c1604083018461216a565b6020815260006111c36020830184612196565b8181038181111561025457610254612107565b808202811582820484141761025457610254612107565b600083516122f9818460208801612146565b83519083019061230d818360208801612146565b01949350505050565b60008151808452602080850194506020840160005b838110156123475781518752958201959082019060010161232b565b509495945050505050565b6080815260006123656080830187612316565b8281036020840152612377818761216a565b90508460408401528281036060840152612391818561216a565b979650505050505050565b86815260c0602082015260006123b560c0830188612316565b82810360408401526123c7818861216a565b905085606084015282810360808401526123e1818661216a565b9150508260a0830152979650505050505050565b8281526000602080830184516020860160005b8281101561242457815184529284019290840190600101612408565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b60608152600061245a6060830186612316565b65ffffffffffff85166020840152828103604084015261247a818561216a565b9695505050505050565b84815260806020820152600061249d6080830186612316565b65ffffffffffff851660408401528281036060840152612391818561216a565b6060815260006124d0606083018661216a565b6020830194909452506040015291905056fe608060405234801561001057600080fd5b50612284806100206000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806340c10f19116100975780639dc29fac116100665780639dc29fac146101e8578063a9059cbb146101fb578063dd62ed3e1461020e578063e1af802c1461022157600080fd5b806340c10f19146101ad57806345ec9354146101c257806370a08231146101cd57806395d89b41146101e057600080fd5b8063119df25f116100d3578063119df25f1461014a57806318160ddd1461016a57806323b872dd14610180578063313ce5671461019357600080fd5b806301ffc9a7146100fa57806306fdde0314610122578063095ea7b314610137575b600080fd5b61010d610108366004611d13565b610229565b60405190151581526020015b60405180910390f35b61012a6102c2565b6040516101199190611da5565b61010d610145366004611dcf565b6102e1565b610152610303565b6040516001600160a01b039091168152602001610119565b61017261030d565b604051908152602001610119565b61010d61018e366004611df9565b610327565b61019b610357565b60405160ff9091168152602001610119565b6101c06101bb366004611dcf565b61036c565b005b36601f190135610172565b6101726101db366004611e35565b6103cc565b61012a6103e7565b6101c06101f6366004611dcf565b6103fc565b61010d610209366004611dcf565b610453565b61017261021c366004611e50565b61046b565b610152610487565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee1270000000000000000000000000000000000000000000000000000000014806102bc57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60606102dc6102d76102d2610491565b6104af565b6104e1565b905090565b6000806102ec610303565b90506102f9818585610507565b5060019392505050565b60006102dc610665565b60006102dc61032261031d610491565b610697565b6106c9565b600080610332610303565b905061033f8582856106ee565b61034a858585610776565b60019150505b9392505050565b60006102dc6103676102d2610491565b61080c565b610374610854565b6001600160a01b0382166103bc576040517fec442f05000000000000000000000000000000000000000000000000000000008152600060048201526024015b60405180910390fd5b6103c86000838361086f565b5050565b60006102bc6103e16103dc610491565b610a37565b83610a69565b60606102dc6103f76102d2610491565b610ad7565b610404610854565b6001600160a01b038216610447576040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600060048201526024016103b3565b6103c88260008361086f565b60008061045e610303565b90506102f9818585610776565b600061035061048061047b610491565b610af6565b8484610b28565b60006102dc610bc3565b60008061049d30610bcd565b90506104a98160101b90565b91505090565b60006102bc613a3160f11b837f4d65746164617461000000000000000000000000000000000000000000000000610c52565b604080516000808252602082019092526060916104ff848383610cca565b949350505050565b6001600160a01b03831661054a576040517fe602df05000000000000000000000000000000000000000000000000000000008152600060048201526024016103b3565b6001600160a01b03821661058d576040517f94280d62000000000000000000000000000000000000000000000000000000008152600060048201526024016103b3565b6105a361059b61047b610491565b848484610d91565b6105ab610e48565b6001600160a01b031663c9a34acd7f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9256105ea866001600160a01b031690565b6001600160a01b0386166040805160208101889052016040516020818303038152906040526040518563ffffffff1660e01b815260040161062e9493929190611e99565b600060405180830381600087803b15801561064857600080fd5b505af115801561065c573d6000803e3d6000fd5b50505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806106945750335b90565b60006102bc613a3160f11b837f546f74616c537570706c79000000000000000000000000000000000000000000610c52565b6040805160008082526020820190925260006104ff848383630100080160dd1b610f23565b60006107056106fe61047b610491565b8585610b28565b905060001981146107705781811015610763576040517ffb8f41b20000000000000000000000000000000000000000000000000000000081526001600160a01b038416600482015260248101829052604481018390526064016103b3565b6107708484848403610507565b50505050565b6001600160a01b0383166107b9576040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600060048201526024016103b3565b6001600160a01b0382166107fc576040517fec442f05000000000000000000000000000000000000000000000000000000008152600060048201526024016103b3565b61080783838361086f565b505050565b6040805160008082526020820190925260006108498483837e01010201000000000000000000000000000000000000000000000000000000610f23565b60f81c949350505050565b61086d61086030610bcd565b610868610303565b610fe0565b565b6000610879610491565b9050600061088682610697565b9050600061089383610a37565b90506001600160a01b0386166108c5576108c082856108b1856106c9565b6108bb9190611ed4565b611081565b610935565b60006108d18288610a69565b905084811015610926576040517fe450d38c0000000000000000000000000000000000000000000000000000000081526001600160a01b038816600482015260248101829052604481018690526064016103b3565b61093382888784036110a8565b505b6001600160a01b03851661095c576109578285610951856106c9565b03611081565b610972565b61097281868661096c858a610a69565b016110a8565b61097a610e48565b6001600160a01b031663c9a34acd7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6109b9896001600160a01b031690565b6001600160a01b03891660408051602081018b9052016040516020818303038152906040526040518563ffffffff1660e01b81526004016109fd9493929190611e99565b600060405180830381600087803b158015610a1757600080fd5b505af1158015610a2b573d6000803e3d6000fd5b50505050505050505050565b60006102bc613a3160f11b837f42616c616e636573000000000000000000000000000000000000000000000000610c52565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b81600081518110610aae57610aae611ee7565b60209081029190910101526000610ace858383630100080160dd1b610f23565b95945050505050565b604080516000808252602082019092526060916104ff84836001610cca565b60006102bc613a3160f11b837f416c6c6f77616e63657300000000000000000000000000000000000000000000610c52565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b81600081518110610b6d57610b6d611ee7565b602002602001018181525050826001600160a01b031660001b81600181518110610b9957610b99611ee7565b60209081029190910101526000610bb9868383630100080160dd1b610f23565b9695505050505050565b60006102dc611110565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b81600081518110610c1257610c12611ee7565b602090810291909101015260006104ff7f7462776f726c6400000000000000000053797374656d526567697374727900008383630100080160dd1b610f23565b6000610c6060706010611ed4565b7fffff00000000000000000000000000000000000000000000000000000000000085167dffffffffffffffffffffffffffff00000000000000000000000000000000601086901c16176fffffffffffffffffffffffffffffffff19841690911c1790509392505050565b60606000610cd6611110565b9050306001600160a01b03821603610cfb57610cf385858561114f565b915050610350565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e78897790610d4490889088908890600401611f39565b600060405180830381865afa158015610d61573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610cf39190810190611f65565b509392505050565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110610dd257610dd2611ee7565b602002602001018181525050826001600160a01b031660001b81600181518110610dfe57610dfe611ee7565b602002602001018181525050610e418582600085604051602001610e2491815260200190565b60408051601f19818403018152919052630100080160dd1b611189565b5050505050565b600080610e5430610bcd565b60408051613a3160f11b60208201527f707570706574000000000000000000000000000000000000000000000000000060228201527f50757070657452656769737472790000000000000000000000000000000000006030820152919250600091610ed89101604051602081830303815290604052610ed290612012565b8361120c565b90506001600160a01b0381166102bc576040517f9434f7e1000000000000000000000000000000000000000000000000000000008152306004820152602481018390526044016103b3565b600080610f2e611110565b9050306001600160a01b03821603610f5457610f4c86868686611289565b9150506104ff565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990610f9f908990899089908990600401612039565b602060405180830381865afa158015610fbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4c9190612068565b6001600160a01b0381166110357f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff000000000000000000000000000000008516176112b6565b6001600160a01b0316146103c85761104c82611352565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016103b3929190612081565b60408051600080825260208201835291810183905290610807908490839060608201610e24565b60408051600180825281830190925260009160208083019080368337019050509050826001600160a01b031660001b816000815181106110ea576110ea611ee7565b6020026020010181815250506107708482600085604051602001610e2491815260200190565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b03168061114a573391505090565b919050565b60606104ff61115f858585611480565b60006111848561116f8989611500565b9060ff166028026038011c64ffffffffff1690565b611513565b6000611193611110565b9050306001600160a01b038216036111b7576111b28686868686611536565b611204565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae0906109fd90899089908990899089906004016120ac565b505050505050565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061124557611245611ee7565b6020908102919091010152600061127d8583837e14010014000000000000000000000000000000000000000000000000000000610f23565b60601c95945050505050565b6000610ace611298868661154b565b60ff858116601b0360080285901c166112b185876115a1565b6115d2565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106112ef576112ef611ee7565b602090810291909101015260006113477f7462776f726c640000000000000000004e616d6573706163654f776e6572000083837e14010014000000000000000000000000000000000000000000000000000000610f23565b60601c949350505050565b606081601081901b600061136583611623565b9050827fffffffffffffffffffffffffffff0000000000000000000000000000000000008316156113c0576113bb7fffffffffffffffffffffffffffff000000000000000000000000000000000000841661163a565b6113f7565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff1983161561141e576114198361163a565b611455565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001611467939291906120f3565b6040516020818303038152906040529350505050919050565b60008383604051602001611495929190612181565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b600061035061150f84846116c0565b5490565b60405160208101601f19603f8484010116604052828252610d8985858584611716565b610e41858561154584876115a1565b856117e2565b60008282604051602001611560929190612181565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff16811015610d89576115c860ff601b83900360080287901c1683611ed4565b91506001016115a6565b6000602082106115f8576020820484019350602082816115f4576115f46121bd565b0691505b508254600882021b602082900380841115610d89576001850154600882021c82179150509392505050565b600061163160706010611ed4565b9190911b919050565b606060005b6010811015611690576fffffffffffffffffffffffffffffffff198316600882021b7fff0000000000000000000000000000000000000000000000000000000000000016156116905760010161163f565b604080516fffffffffffffffffffffffffffffffff198516602082015281516030909101909152818152806104ff565b600082826040516020016116d5929190612181565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b821561179d57602083106117405760208304840193506020838161173c5761173c6121bd565b0692505b821561179d5760208390036000818410156117635750600019600884021c61176d565b50600019600882021c5b8554600886021b81845116821982161784525081841161178e575050610770565b50600194909401939182900391015b5b602082106117bf5783548152600190930192601f199091019060200161179e565b8115610770576000600019600884021c8251865482191691161782525050505050565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361186c57837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161185f939291906121d3565b60405180910390a2610770565b6000611878858561154b565b9050600061188586611a7d565b905060005b815181101561195a5760008282815181106118a7576118a7611ee7565b602002602001015190506118d36004826affffffffffffffffffffff1916611b0690919063ffffffff16565b15611951576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d9061191e908b908b908b908b90600401612206565b600060405180830381600087803b15801561193857600080fd5b505af115801561194c573d6000803e3d6000fd5b505050505b5060010161188a565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161198f939291906121d3565b60405180910390a26119aa828565ffffffffffff1685611b24565b60005b815181101561065c5760008282815181106119ca576119ca611ee7565b602002602001015190506119f66008826affffffffffffffffffffff1916611b0690919063ffffffff16565b15611a74576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190611a41908b908b908b908b90600401612206565b600060405180830381600087803b158015611a5b57600080fd5b505af1158015611a6f573d6000803e3d6000fd5b505050505b506001016119ad565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110611ab757611ab7611ee7565b60209081029190910101526000611aef7f746273746f726500000000000000000053746f7265486f6f6b73000000000000838361114f565b90506104ff611b018260008451611b3a565b611bc8565b60008160ff1682611b178560581c90565b1660ff1614905092915050565b61080783838351611b358560200190565b611bd9565b600081831180611b4a5750835182115b15611b87578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016103b39392919061223f565b60208401611b958482611ed4565b90506000611ba38585612264565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b606060006103508360156000611c98565b8215611c535760208310611c0357602083048401935060208381611bff57611bff6121bd565b0692505b8215611c535760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411611c44575050610770565b50600194909401939182900391015b5b60208210611c755780518455600190930192601f1990910190602001611c54565b8115610770576000600019600884021c8554835182191691161785555050505050565b60606000611ca68560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281611ccc57611ccc6121bd565b04905060405193506020840160208202810160405281855260005b82811015611d07578451871c825293870193602090910190600101611ce7565b50505050509392505050565b600060208284031215611d2557600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461035057600080fd5b60005b83811015611d70578181015183820152602001611d58565b50506000910152565b60008151808452611d91816020860160208601611d55565b601f01601f19169290920160200192915050565b6020815260006103506020830184611d79565b80356001600160a01b038116811461114a57600080fd5b60008060408385031215611de257600080fd5b611deb83611db8565b946020939093013593505050565b600080600060608486031215611e0e57600080fd5b611e1784611db8565b9250611e2560208501611db8565b9150604084013590509250925092565b600060208284031215611e4757600080fd5b61035082611db8565b60008060408385031215611e6357600080fd5b611e6c83611db8565b9150611e7a60208401611db8565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b848152836020820152826040820152608060608201526000610bb96080830184611d79565b634e487b7160e01b600052601160045260246000fd5b808201808211156102bc576102bc611ebe565b634e487b7160e01b600052603260045260246000fd5b60008151808452602080850194506020840160005b83811015611f2e57815187529582019590820190600101611f12565b509495945050505050565b838152606060208201526000611f526060830185611efd565b905060ff83166040830152949350505050565b600060208284031215611f7757600080fd5b815167ffffffffffffffff80821115611f8f57600080fd5b818401915084601f830112611fa357600080fd5b815181811115611fb557611fb5611e83565b604051601f8201601f19908116603f01168101908382118183101715611fdd57611fdd611e83565b81604052828152876020848701011115611ff657600080fd5b612007836020830160208801611d55565b979650505050505050565b80516020808301519190811015612033576000198160200360031b1b821691505b50919050565b8481526080602082015260006120526080830186611efd565b60ff949094166040830152506060015292915050565b60006020828403121561207a57600080fd5b5051919050565b6040815260006120946040830185611d79565b90506001600160a01b03831660208301529392505050565b85815260a0602082015260006120c560a0830187611efd565b60ff8616604084015282810360608401526120e08186611d79565b9150508260808301529695505050505050565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a000000000000000000000000000000000000000000000000000000000000008060028401528451612154816003860160208901611d55565b808401905081600382015284519150612174826004830160208801611d55565b0160040195945050505050565b8281526000602080830184516020860160005b828110156121b057815184529284019290840190600101612194565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b6060815260006121e66060830186611efd565b65ffffffffffff851660208401528281036040840152610bb98185611d79565b84815260806020820152600061221f6080830186611efd565b65ffffffffffff8516604084015282810360608401526120078185611d79565b6060815260006122526060830186611d79565b60208301949094525060400152919050565b818103818111156102bc576102bc611ebe56fea164736f6c6343000818000aa164736f6c6343000818000a","sourceMap":"1122:1793:147:-:0;;;;;644:4:59;600:49;;1263:36:147;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1215:85:147;;;1122:1793;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100725760003560e01c806345ec93541161005057806345ec9354146100d45780637c5b0335146100e7578063e1af802c146100fa57600080fd5b806301ffc9a714610077578063119df25f1461009f57806313861fb5146100bf575b600080fd5b61008a610085366004612af9565b610102565b60405190151581526020015b60405180910390f35b6100a76101e7565b6040516001600160a01b039091168152602001610096565b6100d26100cd366004612bd3565b6101f6565b005b604051601f193601358152602001610096565b6100d26100f5366004612bd3565b610749565b6100a761077b565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f6fdd1c8000000000000000000000000000000000000000000000000000000000148061019557507fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee12700000000000000000000000000000000000000000000000000000000145b806101e157507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101f1610785565b905090565b6102207f0000000000000000000000000000000000000000000000000000000000000000826107b7565b600080828060200190518101906102379190612cc7565b90925090507f9a8d9ccdcfd28f8a8f8f9a8c000000000000000000000000000000000000000071ffffffffffffffffffffffffffffffffffff198316016102c6576040517f0f31c63c00000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff19831660048201526024015b60405180910390fd5b60006102d061077b565b90506000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316838660405160240161033b9291906001600160a01b0392909216825271ffffffffffffffffffffffffffffffffffff1916602082015260400190565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f472466c2000000000000000000000000000000000000000000000000000000001790525161039e9190612d9f565b600060405180830381855af49150503d80600081146103d9576040519150601f19603f3d011682016040523d82523d6000602084013e6103de565b606091505b5091509150816103f1576103f1816107fc565b6104036103fd86610804565b85610836565b600061040e866108d8565b9050600061041c8583610925565b90507f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000601089901c16176001600160a01b03861663ef5d6bbb8261047d6101e7565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815260048101929092526001600160a01b03166024820152604401600060405180830381600087803b1580156104dc57600080fd5b505af11580156104f0573d6000803e3d6000fd5b505060408051613a3160f11b60208201527f65726332302d707570706574000000000000000000000000000000000000000060228201527f45524332305265676973747279000000000000000000000000000000000000006030820152610572935001905060405160208183030381529060405261056d90612dbb565b610c23565b6106bf576040517f6e7300000000000000000000000000000000000000000000000000000000000060208201527f65726332302d707570706574000000000000000000000000000000000000000060228201526001600160a01b0387169063b29e4089906030016040516020818303038152906040526105f190612dbb565b6040518263ffffffff1660e01b815260040161060f91815260200190565b600060405180830381600087803b15801561062957600080fd5b505af115801561063d573d6000803e3d6000fd5b505060408051613a3160f11b60208201527f65726332302d707570706574000000000000000000000000000000000000000060228201527f455243323052656769737472790000000000000000000000000000000000000060308201526106bf93500190506040516020818303038152906040526106ba90612dbb565b610cb0565b60408051613a3160f11b60208201527f65726332302d707570706574000000000000000000000000000000000000000060228201527f4552433230526567697374727900000000000000000000000000000000000000603082015261073e910160405160208183030381529060405261073790612dbb565b8284610d2c565b505050505050505050565b6040517fb6622fc000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006101f1610dec565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806107b45750335b90565b6107c18282610df6565b156107f8576040517f1401206800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b805160208201fd5b60006101e1613a3160f11b837f4d65746164617461000000000000000000000000000000000000000000000000610e10565b600061088582600001516040805160f89290921b7fff00000000000000000000000000000000000000000000000000000000000000166020830152805160018184030181526021909201905290565b9050600061089b83602001518460400151610e96565b905060006108b184602001518560400151610eb3565b6040805160008152602081019091529091506108d08682868686610edf565b505050505050565b60006101e17f7379000000000000000000000000000000000000000000000000000000000000837f455243323053797374656d000000000000000000000000000000000000000000610e10565b604080517f737900000000000000000000000000000000000000000000000000000000000060208201527f707570706574000000000000000000000000000000000000000000000000000060228201527f466163746f72790000000000000000000000000000000000000000000000000060308201526000916001600160a01b03851691633ae7af0891016040516020818303038152906040526109c890612dbb565b6040516024810186905260440160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb9eb8bfb00000000000000000000000000000000000000000000000000000000179052517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152610a65929190600401612e0b565b6000604051808303816000875af1158015610a84573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610aac9190810190612e24565b806020019051810190610abf9190612e6d565b90506001600160a01b03831663bfdfaff77f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617604080517f737900000000000000000000000000000000000000000000000000000000000060208201527f707570706574000000000000000000000000000000000000000000000000000060228201527f44656c65676174696f6e00000000000000000000000000000000000000000000603082015201604051602081830303815290604052610ba290612dbb565b604080516000815260208101918290527fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16909152610beb92919060248101612e96565b600060405180830381600087803b158015610c0557600080fd5b505af1158015610c19573d6000803e3d6000fd5b5050505092915050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610c5c57610c5c612eb5565b60209081029190910101526000610c9c7f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b610f94565b9050610ca88160f81c90565b949350505050565b610d29817e140100140000000000000000000000000000000000000000000000000000007e2001005f0000000000000000000000000000000000000000000000000000007e14010061000000000000000000000000000000000000000000000000000000610d1c611051565b610d246110d6565b61114d565b50565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610d6257610d62612eb5565b602002602001018181525050610de68482600085604051602001610db1919060609190911b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016815260140190565b60408051601f198184030181529190527e14010014000000000000000000000000000000000000000000000000000000611207565b50505050565b60006101f161127d565b6000610e098383805190602001206112bc565b9392505050565b6000610e1e60706010612ee1565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316901c601084901c7dffffffffffffffffffffffffffff00000000000000000000000000000000167fffff0000000000000000000000000000000000000000000000000000000000008616171790509392505050565b8151815160009181810160389190911b1760609190911b17610e09565b60608282604051602001610ec8929190612ef4565b604051602081830303815290604052905092915050565b6000610ee961127d565b9050306001600160a01b03821603610f0d57610f088686868686611376565b6108d0565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb90610f5a9089908990899089908990600401612f5f565b600060405180830381600087803b158015610f7457600080fd5b505af1158015610f88573d6000803e3d6000fd5b50505050505050505050565b600080610f9f61127d565b9050306001600160a01b03821603610fc557610fbd86868686611393565b915050610ca8565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990611010908990899089908990600401612fb0565b602060405180830381865afa15801561102d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fbd9190612fdf565b604080516001808252818301909252606091816020015b60608152602001906001900390816110685790505090506040518060400160405280600b81526020017f6e616d6573706163654964000000000000000000000000000000000000000000815250816000815181106110c8576110c8612eb5565b602002602001018190525090565b604080516001808252818301909252606091816020015b60608152602001906001900390816110ed5790505090506040518060400160405280600c81526020017f746f6b656e416464726573730000000000000000000000000000000000000000815250816000815181106110c8576110c8612eb5565b600061115761127d565b9050306001600160a01b0382160361117c576111778787878787876113c0565b6111fe565b6040517f0ba51f490000000000000000000000000000000000000000000000000000000081526001600160a01b03821690630ba51f49906111cb908a908a908a908a908a908a90600401613052565b600060405180830381600087803b1580156111e557600080fd5b505af11580156111f9573d6000803e3d6000fd5b505050505b50505050505050565b600061121161127d565b9050306001600160a01b0382160361123057610f08868686868661181b565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090610f5a908990899089908990899060040161309c565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b0316806112b7573391505090565b919050565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b8160008151811061130157611301612eb5565b602002602001018181525050828160018151811061132157611321612eb5565b602090810291909101015260006113617f7462776f726c64000000000000000000496e7374616c6c65644d6f64756c65738383630101000160d81b610f94565b905061136d8160f81c90565b95945050505050565b61138c85858585856113878b611830565b6118b5565b5050505050565b600061136d6113a28686611bee565b60ff858116601b0360080285901c166113bb8587611c44565b611c7d565b613a3160f11b867fffff000000000000000000000000000000000000000000000000000000000000161480159061143957507f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001614155b1561149a57613a3160f11b868760405160200161145891815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526102bd9392916004016130e3565b6114a385611cce565b6114ae846001611f15565b6114b9836000611f15565b60e084901c60e885901c0160ff168251146115195760e084901c60e885901c0160ff1682516040517f0f72cb98000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b60e085901c60e886901c0160ff168151146115795760e085901c60e886901c0160ff1681516040517f7dec4c00000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b60e085901c60e886901c0160ff1660e084901c60e885901c0160ff16146115f15760e085901c60e886901c0160ff1660e084901c60e885901c0160ff166040517ff29d4d88000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b6115fa856120b1565b611603846120b1565b1461165557611611856120b1565b61161a846120b1565b6040517f65cc0adf000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b61165e856120e3565b611667846120e3565b146116b957611675856120e3565b61167e846120e3565b6040517fedea9587000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b60005b6116c5866120b1565b811015611760576116ef6116d98583612100565b60c58111156116ea576116ea613124565b612121565b6008601b8390030287901c60ff1614611758576008601b8290030286901c60ff1661171d6116d98684612100565b6040517f254c7db4000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016102bd565b6001016116bc565b5061176a86612181565b156117c457858660405160200161178391815260200190565b60408051601f19818403018152908290527fdfaaf9cf0000000000000000000000000000000000000000000000000000000082526102bd9291600401612e0b565b61181086868686866040516020016117dc919061313a565b604051602081830303815290604052866040516020016117fc919061313a565b6040516020818303038152906040526121fa565b6108d08660016122d1565b61138c858561182a8487611c44565b85612377565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161187f57507e60030220202000000000000000000000000000000000000000000000000000919050565b6101e16118ac7f746273746f72650000000000000000005461626c65730000000000000000000084612612565b60206000611c7d565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361194157857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a986868686604051611934949392919061314d565b60405180910390a26108d0565b600061194c8761262e565b905060005b8151811015611a2557600082828151811061196e5761196e612eb5565b6020026020010151905061199a6001826affffffffffffffffffffff19166126b790919063ffffffff16565b15611a1c576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c906119e9908c908c908c908c908c908c90600401613197565b600060405180830381600087803b158015611a0357600080fd5b505af1158015611a17573d6000803e3d6000fd5b505050505b50600101611951565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a987878787604051611a5c949392919061314d565b60405180910390a26000611a708888611bee565b90506000602087019050611a888260008951846126d5565b6000611a93856120e3565b1115611b17576000611aa58a8a612794565b878155905060208601915060008060005b611abf886120e3565b8160ff161015611b1257611ad48d8d836127ea565b9250611aef8a8260ff166028026038011c64ffffffffff1690565b9150611afe83600084886126d5565b611b088286612ee1565b9450600101611ab6565b505050505b60005b8351811015610f88576000848281518110611b3757611b37612eb5565b60200260200101519050611b636002826affffffffffffffffffffff19166126b790919063ffffffff16565b15611be5576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90611bb2908e908e908e908e908e908e90600401613197565b600060405180830381600087803b158015611bcc57600080fd5b505af1158015611be0573d6000803e3d6000fd5b505050505b50600101611b1a565b60008282604051602001611c039291906131f0565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff16811015611c7557611c6b60ff601b83900360080287901c1683612ee1565b9150600101611c49565b509392505050565b600060208210611ca357602082048401935060208281611c9f57611c9f61322c565b0691505b508254600882021b602082900380841115611c75576001850154600882021c82179150509392505050565b80611d05576040517fa019e4da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611d10826120e3565b90506005811115611d57576040517f6793df6200000000000000000000000000000000000000000000000000000000815260048101829052600560248201526044016102bd565b6000611d62836120b1565b90506000611d708383612ee1565b9050601c811115611db7576040517fecd893b900000000000000000000000000000000000000000000000000000000815260048101829052601c60248201526044016102bd565b6000805b83811015611e625760ff601b82900360080287901c166000819003611e0f576040517f53b2dd05000000000000000000000000000000000000000000000000000000008152600481018390526024016102bd565b6020811115611e4d576040517f7237f237000000000000000000000000000000000000000000000000000000008152600481018390526024016102bd565b611e578184612ee1565b925050600101611dbb565b50611e6c8561286a565b8114611eb857611e7b8561286a565b6040517feba964de0000000000000000000000000000000000000000000000000000000081526004810191909152602481018290526044016102bd565b825b601c8110156108d05760ff601b82900360080287901c168015611f0c576040517f1d8d44db000000000000000000000000000000000000000000000000000000008152600481018390526024016102bd565b50600101611eba565b80158015611f21575081155b15611f425760405163d498615960e01b8152600060048201526024016102bd565b6000611f4d836120e3565b90506005811115611f745760405163d498615960e01b8152600481018290526024016102bd565b6000611f7f846120b1565b90506000611f8d8383612ee1565b9050601c811115611fb45760405163d498615960e01b8152600481018290526024016102bd565b6000805b83811015612020576000611fcf6116d98984612100565b90508060000361200b576040517ff44b422000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6120158184612ee1565b925050600101611fb8565b5061202a8661286a565b8114612055576120398661286a565b60405163d498615960e01b81526004016102bd91815260200190565b825b828110156111fe57600061206e6116d98984612100565b905080156120a8576040517ff44b422000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50600101612057565b6000600860016120c360026020613242565b6120cd9190613242565b6120d79190613255565b8260ff911c1692915050565b600060086001806120f660026020613242565b6120c39190613242565b6000601b8290036008028360ff911c1660c5811115610e0957610e09613124565b6000808260c581111561213657612136613124565b60ff169050606181101561215057601f1660010192915050565b60618360c581111561216457612164613124565b036121725750601492915050565b50600092915050565b50919050565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106121ba576121ba612eb5565b60209081029190910101526000610c9c7f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b611393565b6040805160208101879052808201869052606080820186905282518083039091018152608090910190915260006122318484610e96565b9050600061223f8585610eb3565b6040805160018082528183019092529192506000919060208083019080368337019050509050898160008151811061227957612279612eb5565b6020908102919091010152610f887f746273746f72650000000000000000005461626c657300000000000000000000828686867e600302202020000000000000000000000000000000000000000000000000006118b5565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061230757612307612eb5565b6020026020010181815250506123727f746273746f72650000000000000000005265736f75726365496473000000000060001b8260008560405160200161235591151560f81b815260010190565b60408051601f19818403018152919052630101000160d81b61181b565b505050565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361240157837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8484846040516123f49392919061326c565b60405180910390a2610de6565b600061240d8585611bee565b9050600061241a8661262e565b905060005b81518110156124ef57600082828151811061243c5761243c612eb5565b602002602001015190506124686004826affffffffffffffffffffff19166126b790919063ffffffff16565b156124e6576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d906124b3908b908b908b908b906004016132a9565b600060405180830381600087803b1580156124cd57600080fd5b505af11580156124e1573d6000803e3d6000fd5b505050505b5060010161241f565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8686866040516125249392919061326c565b60405180910390a261253f828565ffffffffffff168561288d565b60005b81518110156111fe57600082828151811061255f5761255f612eb5565b6020026020010151905061258b6008826affffffffffffffffffffff19166126b790919063ffffffff16565b15612609576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba8721906125d6908b908b908b908b906004016132a9565b600060405180830381600087803b1580156125f057600080fd5b505af1158015612604573d6000803e3d6000fd5b505050505b50600101612542565b6040805160208101849052908101829052600090606001611c03565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061266857612668612eb5565b602090810291909101015260006126a07f746273746f726500000000000000000053746f7265486f6f6b7300000000000083836128a3565b9050610ca86126b282600084516128dd565b61296b565b60008160ff16826126c88560581c90565b1660ff1614905092915050565b821561274f57602083106126ff576020830484019350602083816126fb576126fb61322c565b0692505b821561274f5760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411612740575050610de6565b50600194909401939182900391015b5b602082106127715780518455600190930192601f1990910190602001612750565b8115610de6576000600019600884021c8554835182191691161785555050505050565b600082826040516020016127a99291906131f0565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b600083836040516020016127ff9291906131f0565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b6000600861287a60026020613242565b6128849190613255565b9190911c919050565b6123728383835161289e8560200190565b6126d5565b6060610ca86128b38585856127ea565b60006128d8856128c3898961297c565b9060ff166028026038011c64ffffffffff1690565b61298f565b6000818311806128ed5750835182115b1561292a578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016102bd939291906132e2565b602084016129388482612ee1565b905060006129468585613242565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000610e0983601560006129b2565b6000610e0961298b8484612794565b5490565b60405160208101601f19603f8484010116604052828252611c7585858584612a2d565b606060006129c08560801c90565b90506fffffffffffffffffffffffffffffffff851660008582816129e6576129e661322c565b04905060405193506020840160208202810160405281855260005b82811015612a21578451871c825293870193602090910190600101612a01565b50505050509392505050565b8215612ab45760208310612a5757602083048401935060208381612a5357612a5361322c565b0692505b8215612ab4576020839003600081841015612a7a5750600019600884021c612a84565b50600019600882021c5b8554600886021b818451168219821617845250818411612aa5575050610de6565b50600194909401939182900391015b5b60208210612ad65783548152600190930192601f1990910190602001612ab5565b8115610de6576000600019600884021c8251865482191691161782525050505050565b600060208284031215612b0b57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610e0957600080fd5b634e487b7160e01b600052604160045260246000fd5b6040516060810167ffffffffffffffff81118282101715612b7457612b74612b3b565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715612ba357612ba3612b3b565b604052919050565b600067ffffffffffffffff821115612bc557612bc5612b3b565b50601f01601f191660200190565b600060208284031215612be557600080fd5b813567ffffffffffffffff811115612bfc57600080fd5b8201601f81018413612c0d57600080fd5b8035612c20612c1b82612bab565b612b7a565b818152856020838501011115612c3557600080fd5b81602084016020830137600091810160200191909152949350505050565b60005b83811015612c6e578181015183820152602001612c56565b50506000910152565b6000612c85612c1b84612bab565b9050828152838383011115612c9957600080fd5b610e09836020830184612c53565b600082601f830112612cb857600080fd5b610e0983835160208501612c77565b60008060408385031215612cda57600080fd5b825171ffffffffffffffffffffffffffffffffffff1981168114612cfd57600080fd5b602084015190925067ffffffffffffffff80821115612d1b57600080fd5b9084019060608287031215612d2f57600080fd5b612d37612b51565b825160ff81168114612d4857600080fd5b8152602083015182811115612d5c57600080fd5b612d6888828601612ca7565b602083015250604083015182811115612d8057600080fd5b612d8c88828601612ca7565b6040830152508093505050509250929050565b60008251612db1818460208701612c53565b9190910192915050565b8051602080830151919081101561217b5760001960209190910360031b1b16919050565b60008151808452612df7816020860160208601612c53565b601f01601f19169290920160200192915050565b828152604060208201526000610ca86040830184612ddf565b600060208284031215612e3657600080fd5b815167ffffffffffffffff811115612e4d57600080fd5b8201601f81018413612e5e57600080fd5b610ca884825160208401612c77565b600060208284031215612e7f57600080fd5b81516001600160a01b0381168114610e0957600080fd5b83815282602082015260606040820152600061136d6060830184612ddf565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b808201808211156101e1576101e1612ecb565b60008351612f06818460208801612c53565b835190830190612f1a818360208801612c53565b01949350505050565b60008151808452602080850194506020840160005b83811015612f5457815187529582019590820190600101612f38565b509495945050505050565b85815260a060208201526000612f7860a0830187612f23565b8281036040840152612f8a8187612ddf565b90508460608401528281036080840152612fa48185612ddf565b98975050505050505050565b848152608060208201526000612fc96080830186612f23565b60ff949094166040830152506060015292915050565b600060208284031215612ff157600080fd5b5051919050565b60008282518085526020808601955060208260051b8401016020860160005b8481101561304557601f19868403018952613033838351612ddf565b98840198925090830190600101613017565b5090979650505050505050565b86815285602082015284604082015283606082015260c06080820152600061307d60c0830185612ff8565b82810360a084015261308f8185612ff8565b9998505050505050505050565b85815260a0602082015260006130b560a0830187612f23565b60ff8616604084015282810360608401526130d08186612ddf565b9150508260808301529695505050505050565b7fffff0000000000000000000000000000000000000000000000000000000000008416815282602082015260606040820152600061136d6060830184612ddf565b634e487b7160e01b600052602160045260246000fd5b602081526000610e096020830184612ff8565b6080815260006131606080830187612f23565b82810360208401526131728187612ddf565b9050846040840152828103606084015261318c8185612ddf565b979650505050505050565b86815260c0602082015260006131b060c0830188612f23565b82810360408401526131c28188612ddf565b905085606084015282810360808401526131dc8186612ddf565b9150508260a0830152979650505050505050565b8281526000602080830184516020860160005b8281101561321f57815184529284019290840190600101613203565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b818103818111156101e1576101e1612ecb565b80820281158282048414176101e1576101e1612ecb565b60608152600061327f6060830186612f23565b65ffffffffffff85166020840152828103604084015261329f8185612ddf565b9695505050505050565b8481526080602082015260006132c26080830186612f23565b65ffffffffffff85166040840152828103606084015261318c8185612ddf565b6060815260006132f56060830186612ddf565b6020830194909452506040015291905056fea164736f6c6343000818000a","sourceMap":"1122:1793:147:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;984:308:59;;;;;;:::i;:::-;;:::i;:::-;;;516:14:228;;509:22;491:41;;479:2;464:18;984:308:59;;;;;;;;1262:113:64;;;:::i;:::-;;;-1:-1:-1;;;;;707:55:228;;;689:74;;677:2;662:18;1262:113:64;543:226:228;1305:1507:147;;;;;;:::i;:::-;;:::i;:::-;;1616:110:64;;;-1:-1:-1;;3800:14:64;3796:25;3783:39;2632:25:228;;2620:2;2605:18;1616:110:64;2486:177:228;2816:97:147;;;;;;:::i;:::-;;:::i;1942:98:64:-;;;:::i;984:308:59:-;1108:4;1133:40;;;1148:25;1133:40;;:104;;-1:-1:-1;1183:54:59;;;1198:39;1183:54;1133:104;:154;;;-1:-1:-1;1247:40:59;;;1262:25;1247:40;1133:154;1120:167;984:308;-1:-1:-1;;984:308:59:o;1262:113:64:-;1305:14;1334:36;:34;:36::i;:::-;1327:43;;1262:113;:::o;1305:1507:147:-;1427:40;1447:6;1455:11;1427:19;:40::i;:::-;1494:17;1513:33;1561:11;1550:53;;;;;;;;;;;;:::i;:::-;1493:110;;-1:-1:-1;1493:110:147;-1:-1:-1;1676:29:147;-1:-1:-1;;1676:29:147;;;1672:96;;1722:39;;;;;-1:-1:-1;;4839:79:228;;1722:39:147;;;4821:98:228;4794:18;;1722:39:147;;;;;;;;1672:96;1818:16;1848:8;:6;:8::i;:::-;1818:39;;1864:12;1878:23;1905:19;-1:-1:-1;;;;;1905:32:147;2002:5;2009:9;1945:75;;;;;;;;-1:-1:-1;;;;;5142:55:228;;;;5124:74;;-1:-1:-1;;5234:79:228;5229:2;5214:18;;5207:107;5112:2;5097:18;;4930:390;1945:75:147;;;;-1:-1:-1;;1945:75:147;;;;;;;;;;;;;;;;;;;;1905:121;;;1945:75;1905:121;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1863:163;;;;2037:7;2032:41;;2046:27;2062:10;2046:15;:27::i;:::-;2111:56;2129:27;2146:9;2129:16;:27::i;:::-;2158:8;2111:17;:56::i;:::-;2219:24;2246:25;2261:9;2246:14;:25::i;:::-;2219:52;;2277:14;2294:34;2307:5;2314:13;2294:12;:34::i;:::-;2277:51;-1:-1:-1;1597:18:65;1620:33;451:5:20;1620:33:65;;;;1589:65;-1:-1:-1;;;;;2468:23:147;;;1589:65:65;2505:12:147;:10;:12::i;:::-;2468:50;;;;;;;;;;;;;5822:25:228;;;;-1:-1:-1;;;;;5883:55:228;5863:18;;;5856:83;5795:18;;2468:50:147;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;803:76:153;;;-1:-1:-1;;;803:76:153;;;6133:92:228;836:16:153;6241:11:228;;;6234:100;854:24:153;6350:12:228;;;6343:101;2577:46:147;;-1:-1:-1;6460:12:228;;-1:-1:-1;803:76:153;;;;;;;;;;;;795:85;;;:::i;:::-;2577:21:147;:46::i;:::-;2572:167;;426:54:153;;443:18;426:54;;;7000:92:228;463:16:153;7108:11:228;;;7101:100;-1:-1:-1;;;;;2633:23:147;;;;;7217:12:228;;426:54:153;;;;;;;;;;;;418:63;;;:::i;:::-;2633:44:147;;;;;;;;;;;;;2632:25:228;;2620:2;2605:18;;2486:177;2633:44:147;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;803:76:153;;;-1:-1:-1;;;803:76:153;;;6133:92:228;836:16:153;6241:11:228;;;6234:100;854:24:153;6350:12:228;;;6343:101;2685:47:147;;-1:-1:-1;6460:12:228;;-1:-1:-1;803:76:153;;;;;;;;;;;;795:85;;;:::i;:::-;2685:22:147;:47::i;:::-;803:76:153;;;-1:-1:-1;;;803:76:153;;;6133:92:228;836:16:153;6241:11:228;;;6234:100;854:24:153;6350:12:228;;;6343:101;2744:63:147;;6460:12:228;803:76:153;;;;;;;;;;;;795:85;;;:::i;:::-;2787:11:147;2800:6;2744:17;:63::i;:::-;1355:1457;;;;;;;;1305:1507;:::o;2816:97::-;2876:32;;;;;;;;;;;;;;1942:98:64;1981:7;2003:32;:30;:32::i;2992:383::-;3278:34;3282:14;3278:34;3265:48;3259:4;3255:59;;3325:45;;-1:-1:-1;3360:10:64;3325:45;2992:383;:::o;1990:194:59:-;2092:39;2104:13;2119:11;2092;:39::i;:::-;2088:92;;;2148:25;;;;;;;;;;;;;;2088:92;1990:194;;:::o;348:217:103:-;551:6;545:13;538:4;530:6;526:17;519:40;1047:181:159;1106:10;1129:96;-1:-1:-1;;;1192:9:159;1209:13;1129:25;:96::i;14291:444:156:-;14373:24;14400:29;14413:6;:15;;;17383:26;;;10248:3:228;10244:16;;;;10262:66;10240:89;17383:26:156;;;10228:102:228;17383:26:156;;;;;;;;;10346:11:228;;;;17383:26:156;;;17295:119;14400:29;14373:56;;14436:30;14469:41;14483:6;:11;;;14496:6;:13;;;14469;:41::i;:::-;14436:74;;14516:25;14544:41;14558:6;:11;;;14571:6;:13;;;14544;:41::i;:::-;14621:16;;;14592:26;14621:16;;;;;;;;14516:69;;-1:-1:-1;14644:86:156;14666:8;14621:16;14687:11;14700:15;14516:69;14644:21;:86::i;:::-;14367:368;;;;14291:444;;:::o;1230:184:159:-;1287:10;1310:101;1346:15;1374:9;1391:17;1310:25;:101::i;799:322:198:-;740:64:197;;;757:15;740:64;;;6133:92:228;405:17:197;6241:11:228;;;6234:100;785:18:197;6350:12:228;;;6343:101;869:14:198;;-1:-1:-1;;;;;914:10:198;;;;;6460:12:228;740:64:197;;;;;;;;;;;;732:73;;;:::i;:::-;941:60:198;;;;;2632:25:228;;;2605:18;;941:60:198;;;-1:-1:-1;;941:60:198;;;;;;;;;;;;;;;;;;;;914:88;;941:60;914:88;;;;;;;;;941:60;914:88;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;914:88:198;;;;;;;;;;;;:::i;:::-;898:123;;;;;;;;;;;;:::i;:::-;889:132;-1:-1:-1;;;;;;1025:33:198;;;696:18:106;578:36:65;2955:46;;2954:74;603:67:197;;;620:15;603:67;;;6133:92:228;405:17:197;6241:11:228;;;6234:100;648:21:197;6350:12:228;;;6343:101;6460:12;603:67:197;;;;;;;;;;;;595:76;;;:::i;:::-;1105:12:198;;;1115:1;1105:12;;;;;;;;;1025:93;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;799:322;;;;:::o;2502:315:31:-;2615:16;;;2629:1;2615:16;;;;;;;;;2567:11;;;;2615:16;;;;;;;;;;;;-1:-1:-1;2615:16:31;2586:45;;2670:10;2637:9;2647:1;2637:12;;;;;;;;:::i;:::-;;;;;;;;;;:44;2688:13;2704:64;973:66;2741:9;2688:13;-1:-1:-1;;;2704:26:31;:64::i;:::-;2688:80;;2782:29;2803:5;2790:20;;7169:5;7083:97;2782:29;2774:38;2502:315;-1:-1:-1;;;;2502:315:31:o;2056:166:157:-;2110:107;2136:8;1045:66;1199;1356;2186:13;:11;:13::i;:::-;2201:15;:13;:15::i;:::-;2110:25;:107::i;:::-;2056:166;:::o;4768:301::-;4892:16;;;4906:1;4892:16;;;;;;;;;4863:26;;4892:16;;;;;;;;;;;-1:-1:-1;4892:16:157;4863:45;;4947:11;4914:9;4924:1;4914:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;4966:98;4993:8;5003:9;5014:1;5035:12;5017:32;;;;;;;9664:2:228;9660:15;;;;9677:66;9656:88;9644:101;;9770:2;9761:12;;9515:264;5017:32:157;;;;-1:-1:-1;;5017:32:157;;;;;;;;;1045:66;4966:26;:98::i;:::-;4857:212;4768:301;;;:::o;4048:97:64:-;4089:7;4111:29;:27;:29::i;1579:176:59:-;1672:4;1691:59;1712:13;1737:11;1727:22;;;;;;1691:20;:59::i;:::-;1684:66;1579:176;-1:-1:-1;;;1579:176:59:o;1046:257:65:-;1133:10;1262:26;438:6;451:5:20;1262:26:65;:::i;:::-;1244:13;;;:45;;451:5:20;1208:31:65;;;;;1189:15;;;:51;:101;;-1:-1:-1;1046:257:65;;;;;:::o;17605:336:156:-;17889:18;;17909:20;;17705:30;;2662:5:3;;;975:16;2694:39;;;;2675:59;2776:23;2761:39;;;;2742:59;17866:64:156;2518:351:3;18106:168:156;18194:12;18245:4;18260:6;18221:48;;;;;;;;;:::i;:::-;;;;;;;;;;;;;18214:55;;18106:168;;;;:::o;6458:480:28:-;6645:21;6669:17;:15;:17::i;:::-;6645:41;-1:-1:-1;6721:4:28;-1:-1:-1;;;;;6696:30:28;;;6692:242;;6736:79;6756:7;6765:8;6775:10;6787:14;6803:11;6736:19;:79::i;:::-;6692:242;;;6836:91;;;;;-1:-1:-1;;;;;6836:31:28;;;;;:91;;6868:7;;6877:8;;6887:10;;6899:14;;6915:11;;6836:91;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6639:299;6458:480;;;;;:::o;17775:457::-;17932:7;17947:21;17971:17;:15;:17::i;:::-;17947:41;-1:-1:-1;18023:4:28;-1:-1:-1;;;;;17998:30:28;;;17994:234;;18045:68;18070:7;18079:8;18089:10;18101:11;18045:24;:68::i;:::-;18038:75;;;;;17994:234;18141:80;;;;;-1:-1:-1;;;;;18141:36:28;;;;;:80;;18178:7;;18187:8;;18197:10;;18209:11;;18141:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;1558:142:157:-;1647:15;;;1660:1;1647:15;;;;;;;;;1604:24;;1647:15;;;;;;;;;;;;;;;;;;;;1636:26;;1668:27;;;;;;;;;;;;;;;;;:8;1677:1;1668:11;;;;;;;;:::i;:::-;;;;;;:27;;;;1558:142;:::o;1840:151::-;1935:15;;;1948:1;1935:15;;;;;;;;;1888:26;;1935:15;;;;;;;;;;;;;;;;;;;;1922:28;;1956:30;;;;;;;;;;;;;;;;;:10;1967:1;1956:13;;;;;;;;:::i;5644:520:28:-;5847:21;5871:17;:15;:17::i;:::-;5847:41;-1:-1:-1;5923:4:28;-1:-1:-1;;;;;5898:30:28;;;5894:266;;5938:91;5962:7;5971:11;5984:9;5995:11;6008:8;6018:10;5938:23;:91::i;:::-;5894:266;;;6050:103;;;;;-1:-1:-1;;;;;6050:35:28;;;;;:103;;6086:7;;6095:11;;6108:9;;6119:11;;6132:8;;6142:10;;6050:103;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5894:266;5841:323;5644:520;;;;;;:::o;10761:455::-;10933:21;10957:17;:15;:17::i;:::-;10933:41;-1:-1:-1;11009:4:28;-1:-1:-1;;;;;10984:30:28;;;10980:232;;11024:74;11049:7;11058:8;11068:10;11080:4;11086:11;11024:24;:74::i;10980:232::-;11119:86;;;;;-1:-1:-1;;;;;11119:36:28;;;;;:86;;11156:7;;11165:8;;11175:10;;11187:4;;11193:11;;11119:86;;;:::i;1836:227::-;1066:42;1925:22;1886:7;;-1:-1:-1;;;;;1925:22:28;;1953:106;;2001:10;1994:17;;;1836:227;:::o;1953:106::-;2039:13;1836:227;-1:-1:-1;1836:227:28:o;3547:382:78:-;3682:16;;;3696:1;3682:16;;;;;;;;3629;;;;3682;3696:1;3682:16;;;;;;;;;;-1:-1:-1;3682:16:78;3653:45;;3743:13;-1:-1:-1;;;;;3727:31:78;3719:40;;3704:9;3714:1;3704:12;;;;;;;;:::i;:::-;;;;;;:55;;;;;3780:13;3765:9;3775:1;3765:12;;;;;;;;:::i;:::-;;;;;;;;;;:28;3800:13;3816:64;1084:66;3853:9;3800:13;-1:-1:-1;;;3816:26:78;:64::i;:::-;3800:80;;3894:29;3915:5;3902:20;;7169:5:31;7083:97;3894:29:78;3886:38;3547:382;-1:-1:-1;;;;;3547:382:78:o;11748:286:24:-;11935:94;11945:7;11954:8;11964:10;11976:14;11992:11;12005:23;12020:7;12005:14;:23::i;:::-;11935:9;:94::i;:::-;11748:286;;;;;:::o;35853:541::-;36010:7;36147:242;36191:59;36232:7;36241:8;36191:40;:59::i;:::-;36268:31;;;;4323:19:4;:27;579:1:34;4322:44:4;4288:79;;;4275:93;36317:63:24;36356:11;36369:10;36317:38;:63::i;:::-;36147:17;:242::i;6622:2614::-;-1:-1:-1;;;6882:7:24;:35;;;;;;:83;;-1:-1:-1;6942:23:24;6921:7;:44;;;;6882:83;6878:209;;;-1:-1:-1;;;7037:7:24;7070;7053:25;;;;;;15292:19:228;;15336:2;15327:12;;15132:213;7053:25:24;;;;-1:-1:-1;;7053:25:24;;;;;;;;;;6982:98;;;;;;;;;;:::i;6878:209::-;7133:22;:11;:20;:22::i;:::-;7196:40;:9;7229:4;7196:18;:40::i;:::-;7242:43;:11;7277:5;7242:20;:43::i;:::-;1683:38:34;5236:60:21;;;1515:34:34;5159:59:21;;;5153:144;5138:159;;7373:8:24;:15;:40;7369:148;;1683:38:34;5236:60:21;;;1515:34:34;5159:59:21;;;5153:144;5138:159;;7494:15:24;;7430:80;;;;;;;;15992:25:228;;;;16033:18;;;16026:34;15965:18;;7430:80:24;15818:248:228;7369:148:24;1683:38:34;5236:60:21;;;1515:34:34;5159:59:21;;;5153:144;5138:159;;7567:10:24;:17;:44;7563:158;;1683:38:34;5236:60:21;;;1515:34:34;5159:59:21;;;5153:144;5138:159;;7696:17:24;;7628:86;;;;;;;;15992:25:228;;;;16033:18;;;16026:34;15965:18;;7628:86:24;15818:248:228;7563:158:24;1683:38:34;5236:60:21;;;1515:34:34;5159:59:21;;;5153:144;5138:159;;1683:38:34;5236:60:21;;;1515:34:34;5159:59:21;;;5153:144;5138:159;;7778:50:24;7774:171;;1683:38:34;5236:60:21;;;1515:34:34;5159:59:21;;;5153:144;5138:159;;1683:38:34;5236:60:21;;;1515:34:34;5159:59:21;;;5153:144;5138:159;;7845:93:24;;;;;;;;15992:25:228;;;;16033:18;;;16026:34;15965:18;;7845:93:24;15818:248:228;7774:171:24;7987:29;:11;:27;:29::i;:::-;7954;:11;:27;:29::i;:::-;:62;7950:225;;8092:29;:11;:27;:29::i;:::-;8131;:11;:27;:29::i;:::-;8033:135;;;;;;;;15992:25:228;;;;16033:18;;;16026:34;15965:18;;8033:135:24;15818:248:228;7950:225:24;8218:30;:11;:28;:30::i;:::-;8184;:11;:28;:30::i;:::-;:64;8180:230;;8325:30;:11;:28;:30::i;:::-;8365;:11;:28;:30::i;:::-;8265:138;;;;;;;;15992:25:228;;;;16033:18;;;16026:34;15965:18;;8265:138:24;15818:248:228;8180:230:24;8507:9;8502:314;8522:29;:11;:27;:29::i;:::-;8518:1;:33;8502:314;;;8596:44;:22;:11;8616:1;8596:19;:22::i;:::-;:42;;;;;;;;:::i;:::-;;:44::i;:::-;579:1:34;4323:19:4;:27;;;4322:44;4288:79;;;4275:93;;8570:70:24;8566:244;;579:1:34;4323:19:4;:27;;;4322:44;4288:79;;;4275:93;;8747:44:24;:22;:11;8767:1;8747:19;:22::i;:44::-;8659:142;;;;;;;;15992:25:228;;;;16033:18;;;16026:34;15965:18;;8659:142:24;15818:248:228;8566:244:24;8553:3;;8502:314;;;;8878:31;8901:7;8878:22;:31::i;:::-;8874:140;;;8964:7;8997;8980:25;;;;;;15292:19:228;;15336:2;15327:12;;15132:213;8980:25:24;;;;-1:-1:-1;;8980:25:24;;;;;;;;;;8926:81;;;;;;;;;:::i;8874:140::-;9055:103;9067:7;9076:11;9089:9;9100:11;9124:8;9113:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;9146:10;9135:22;;;;;;;;:::i;:::-;;;;;;;;;;;;;9055:11;:103::i;:::-;9194:37;9217:7;9226:4;9194:22;:37::i;22789:355::-;22961:178;22995:7;23020:8;23050:63;23089:11;23102:10;23050:38;:63::i;:::-;23128:4;22961:16;:178::i;4000:652::-;4067:11;4303:64;;;4299:111;;-1:-1:-1;1342:66:33;;4000:652:24;-1:-1:-1;4000:652:24:o;4299:111::-;4454:185;4500:85;1213:66:33;4576:7:24;4500:40;:85::i;:::-;4605:2;4627:1;4454:17;:185::i;12894:3165::-;13189:23;13168:7;:44;;;13164:211;;13295:7;13266:88;13304:8;13314:10;13326:14;13342:11;13266:88;;;;;;;;;:::i;:::-;;;;;;;;13362:7;;13164:211;13513:22;13538:24;13554:7;13538:15;:24::i;:::-;13513:49;;13573:9;13568:340;13588:5;:12;13584:1;:16;13568:340;;;13615:9;13637:5;13643:1;13637:8;;;;;;;;:::i;:::-;;;;;;;13615:31;;13658:33;409:6:36;13658:4:24;:14;;;;;:33;;;;:::i;:::-;13654:248;;;13703:190;;;;;3536:35:5;;;;;13703:47:24;;:190;;13762:7;;13781:8;;13801:10;;13823:14;;13849:11;;13872;;13703:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13654:248;-1:-1:-1;13602:3:24;;13568:340;;;;13985:7;13956:88;13994:8;14004:10;14016:14;14032:11;13956:88;;;;;;;;;:::i;:::-;;;;;;;;14108:26;14137:59;14178:7;14187:8;14137:40;:59::i;:::-;14108:88;-1:-1:-1;14202:21:24;894:4:19;884:15;;14202:54:24;;14262:149;14300:18;14334:1;14351:10;:17;14391:13;14262;:149::i;:::-;14511:1;14478:30;:11;:28;:30::i;:::-;:34;14474:1174;;;14597:33;14633:66;14681:7;14690:8;14633:47;:66::i;:::-;695:28:23;;;14597:102:24;-1:-1:-1;894:4:19;884:15;;14873:47:24;;15029:27;15064:25;15102:7;15097:545;15115:30;:11;:28;:30::i;:::-;15111:1;:34;;;15097:545;;;15181:63;15223:7;15232:8;15242:1;15181:41;:63::i;:::-;15159:85;-1:-1:-1;15274:25:24;:14;15297:1;7070:16:3;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;15274:25:24;15254:45;;15309:170;15351:19;15390:1;15411:17;15455:13;15309;:170::i;:::-;15489:34;15506:17;15489:34;;:::i;:::-;;-1:-1:-1;15620:3:24;;15097:545;;;;14514:1134;;;14474:1174;15722:9;15717:338;15737:5;:12;15733:1;:16;15717:338;;;15764:9;15786:5;15792:1;15786:8;;;;;;;;:::i;:::-;;;;;;;15764:31;;15807:32;503:6:36;15807:4:24;:14;;;;;:32;;;;:::i;:::-;15803:246;;;15851:189;;;;;3536:35:5;;;;;15851:46:24;;:189;;15909:7;;15928:8;;15948:10;;15970:14;;15996:11;;16019;;15851:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15803:246;-1:-1:-1;15751:3:24;;15717:338;;50488:191;50590:7;50654;50663:8;50637:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;50637:35:24;;;;;;;;;50627:46;;50637:35;50627:46;;;;42043:22;50620:53;;50488:191;-1:-1:-1;;;50488:191:24:o;51505:242::-;51601:7;;;51640:84;51660:10;51656:14;;:1;:14;51640:84;;;51685:32;4275:93:4;4323:19;:27;;;579:1:34;4322:44:4;4288:79;;;4275:93;51685:32:24;;:::i;:::-;;-1:-1:-1;51672:3:24;;51640:84;;;-1:-1:-1;51736:6:24;51505:242;-1:-1:-1;;;51505:242:24:o;8945:812:23:-;9043:14;9079:2;9069:6;:12;9065:112;;9138:2;9129:6;:11;9111:29;;;;9160:2;9150:12;;;;;;:::i;:::-;;;;9065:112;-1:-1:-1;9368:21:23;;9353:12;9341:25;;9337:53;9516:2;:11;;;9598:22;;;9594:159;;;9734:1;9718:14;9714:22;9708:29;9693:12;9678:13;9674:32;9670:68;9662:6;9659:80;9649:90;;9059:698;8945:812;;;;;:::o;6618:1665:4:-;6301:45;6681:87;;6723:38;;;;;;;;;;;;;;6681:87;6774:25;6802:30;:11;:28;:30::i;:::-;6774:58;;943:1:34;6842:17:4;:38;6838:156;;;6897:90;;;;;;;;15992:25:228;;;943:1:34;16033:18:228;;;16026:34;15965:18;;6897:90:4;15818:248:228;6838:156:4;7000:24;7027:29;:11;:27;:29::i;:::-;7000:56;-1:-1:-1;7062:23:4;7088:36;7107:17;7000:56;7088:36;:::i;:::-;7062:62;;689:2:34;7134:15:4;:34;7130:141;;;7185:79;;;;;;;;15992:25:228;;;689:2:34;16033:18:228;;;16026:34;15965:18;;7185:79:4;15818:248:228;7130:141:4;7313:25;7349:9;7344:429;7364:16;7360:1;:20;7344:429;;;4275:93;4323:19;:27;;;579:1:34;4322:44:4;4288:79;;;4275:93;7392:24;7453:21;;;7449:234;;7493:52;;;;;;;;2632:25:228;;;2605:18;;7493:52:4;2486:177:228;7449:234:4;376:2:34;7564:16:4;:28;7560:123;;;7611:63;;;;;;;;2632:25:228;;;2605:18;;7611:63:4;2486:177:228;7560:123:4;7690:37;7711:16;7690:37;;:::i;:::-;;-1:-1:-1;;7755:3:4;;7344:429;;;;7840:30;:11;:28;:30::i;:::-;7819:17;:51;7815:184;;7942:30;:11;:28;:30::i;:::-;7887:105;;;;;;;;15992:25:228;;;;16033:18;;;16026:34;;;15965:18;;7887:105:4;15818:248:228;7815:184:4;8055:16;8038:241;689:2:34;8073:1:4;:20;8038:241;;;4275:93;4323:19;:27;;;579:1:34;4322:44:4;4288:79;;;4275:93;8169:21;;8165:108;;8209:55;;;;;;;;2632:25:228;;;2605:18;;8209:55:4;2486:177:228;8165:108:4;-1:-1:-1;8095:3:4;;8038:241;;5760:1635:21;5867:10;5866:11;:31;;;;-1:-1:-1;6301:45:4;;5881:16:21;5862:81;;;5906:37;;-1:-1:-1;;;5906:37:21;;5941:1;5906:37;;;2632:25:228;2605:18;;5906:37:21;2486:177:228;5862:81:21;6006:25;6034;:6;:23;:25::i;:::-;6006:53;;943:1:34;6069:17:21;:38;6065:104;;;6116:53;;-1:-1:-1;;;6116:53:21;;;;;2632:25:228;;;2605:18;;6116:53:21;2486:177:228;6065:104:21;6176:24;6203;:6;:22;:24::i;:::-;6176:51;-1:-1:-1;6297:23:21;6323:36;6342:17;6176:51;6323:36;:::i;:::-;6297:62;;689:2:34;6369:15:21;:34;6365:98;;;6412:51;;-1:-1:-1;;;6412:51:21;;;;;2632:25:228;;;2605:18;;6412:51:21;2486:177:228;6365:98:21;6524:25;6560:9;6555:314;6575:16;6571:1;:20;6555:314;;;6603:24;6630:39;:17;:6;6645:1;6630:14;:17::i;:39::-;6603:66;;6681:16;6701:1;6681:21;6677:102;;6721:49;;;;;;;;;;;;;;6677:102;6786:37;6807:16;6786:37;;:::i;:::-;;-1:-1:-1;;6851:3:21;;6555:314;;;;6937:25;:6;:23;:25::i;:::-;6916:17;:46;6912:135;;7014:25;:6;:23;:25::i;:::-;6979:61;;-1:-1:-1;;;6979:61:21;;;;;;2632:25:228;;2620:2;2605:18;;2486:177;6912:135:21;7122:16;7105:286;7144:15;7140:1;:19;7105:286;;;7171:24;7198:39;:17;:6;7213:1;7198:14;:17::i;:39::-;7171:66;-1:-1:-1;7249:20:21;;7245:101;;7288:49;;;;;;;;;;;;;;7245:101;-1:-1:-1;7373:3:21;;7105:286;;4979:171:4;5052:7;579:1:34;1532;1516:13;1528:1;376:2;1516:13;:::i;:::-;:17;;;;:::i;:::-;1515:34;;;;:::i;:::-;5088:11:4;5067:78;5080:64;;5067:78;;4979:171;-1:-1:-1;;4979:171:4:o;5377:173::-;5451:7;579:1:34;1704;;1684:13;1696:1;376:2;1684:13;:::i;:::-;:17;;;;:::i;4019:206:21:-;4089:10;4179:19;:27;;;4210:1;4178:33;4157:6;4132:82;4149:63;;4132:82;;;;;;;;;:::i;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;2858:314:31:-;2972:16;;;2986:1;2972:16;;;;;;;;;2924:11;;;;2972:16;;;;;;;;;;;;-1:-1:-1;2972:16:31;2943:45;;3027:10;2994:9;3004:1;2994:12;;;;;;;;:::i;:::-;;;;;;;;;;:44;3045:13;3061:62;973:66;3096:9;3045:13;-1:-1:-1;;;3061:24:31;:62::i;19797:677:33:-;24365:53;;;;;;21691:19:228;;;21726:12;;;21719:28;;;24338:12:33;21763::228;;;21756:28;;;24365:53:33;;;;;;;;;;21800:12:228;;;;24365:53:33;;;20088:30;20121:55;20135:18;20155:20;20121:13;:55::i;:::-;20088:88;;20182:25;20210:55;20224:18;20244:20;20210:13;:55::i;:::-;20301:16;;;20315:1;20301:16;;;;;;;;;20182:83;;-1:-1:-1;20272:26:33;;20301:16;;;;;;;;;;;;-1:-1:-1;20301:16:33;20272:45;;20356:7;20323:9;20333:1;20323:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;20371:98;1213:66;20401:9;20412:11;20425:15;20442:12;1342:66;20371:19;:98::i;4222:268:31:-;4322:16;;;4336:1;4322:16;;;;;;;;;4293:26;;4322:16;;;;;;;;;;;-1:-1:-1;4322:16:31;4293:45;;4377:10;4344:9;4354:1;4344:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4395:90;973:66;957:83;;4430:9;4441:1;4462:6;4444:26;;;;;;19946:14:228;19939:22;19934:3;19930:32;19918:45;;19988:1;19979:11;;19795:201;4444:26:31;;;;-1:-1:-1;;4444:26:31;;;;;;;;;-1:-1:-1;;;4395:24:31;:90::i;:::-;4287:203;4222:268;;:::o;16695:1682:24:-;16895:23;16874:7;:44;;;16870:235;;17028:7;16981:103;17047:8;17064:5;17077:4;16981:103;;;;;;;;:::i;:::-;;;;;;;;17092:7;;16870:235;17111:16;17130:59;17171:7;17180:8;17130:40;:59::i;:::-;17111:78;;17335:22;17360:24;17376:7;17360:15;:24::i;:::-;17335:49;;17395:9;17390:328;17410:5;:12;17406:1;:16;17390:328;;;17437:9;17459:5;17465:1;17459:8;;;;;;;;:::i;:::-;;;;;;;17437:31;;17480:41;614:6:36;17480:4:24;:14;;;;;:41;;;;:::i;:::-;17476:236;;;17533:170;;;;;3536:35:5;;;;;17533:54:24;;:170;;17609:7;;17638:8;;17665:5;;17688:4;;17533:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17476:236;-1:-1:-1;17424:3:24;;17390:328;;;;17822:7;17775:103;17841:8;17858:5;17871:4;17775:103;;;;;;;;:::i;:::-;;;;;;;;17928:70;17960:8;17978:5;17928:70;;17991:4;17928:13;:70::i;:::-;18052:9;18047:326;18067:5;:12;18063:1;:16;18047:326;;;18094:9;18116:5;18122:1;18116:8;;;;;;;;:::i;:::-;;;;;;;18094:31;;18137:40;723:6:36;18137:4:24;:14;;;;;:40;;;;:::i;:::-;18133:234;;;18189:169;;;;;3536:35:5;;;;;18189:53:24;;:169;;18264:7;;18293:8;;18320:5;;18343:4;;18189:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18133:234;-1:-1:-1;18081:3:24;;18047:326;;50931:282;51176:30;;;;;;21325:19:228;;;21360:12;;;21353:28;;;51019:7:24;;21397:12:228;;51176:30:24;21137:278:228;3658:342:32;3774:16;;;3788:1;3774:16;;;;;;;;;3715:22;;3745:26;;3774:16;;;;;;;;;;;;-1:-1:-1;3774:16:32;3745:45;;3829:7;3796:9;3806:1;3796:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;3844:18;3865:49;971:66;3901:9;3844:18;3865:25;:49::i;:::-;3844:70;;3928:66;:44;3949:5;3956:1;3959:5;:12;3928:20;:44::i;:::-;:64;:66::i;3035:136:5:-;3105:4;3157:9;3124:42;;3143:9;3125:15;3135:4;3934:26;;;3804:162;3125:15;:27;3124:42;;;3117:49;;3035:136;;;;:::o;1489:2340:23:-;1602:10;;1598:1504;;1755:2;1745:6;:12;1741:122;;1818:2;1809:6;:11;1791:29;;;;1842:2;1832:12;;;;;;:::i;:::-;;;;1741:122;1953:10;;1949:1147;;2161:2;:11;;;2035:21;-1:-1:-1;;579:1:34;804:25:35;;782:48;2208:18:23;2193:33;;2395:12;2387:6;2383:25;2442:4;2431:9;2427:20;2419:28;;2497:13;2491:20;2480:9;2476:36;2458:54;;2745:4;2741:9;2724:14;2718:21;2714:37;2645:4;2633:10;2629:21;2572:193;2544:14;2524:253;;2836:13;2826:6;:23;2822:36;;2851:7;;;;2822:36;-1:-1:-1;2999:1:23;2981:19;;;;;3054:23;;;;;3012:30;1949:1147;3132:253;3149:2;3139:6;:12;3132:253;;3244:20;;3221:44;;3318:1;3300:19;;;;-1:-1:-1;;3358:12:23;;;;3346:2;3329:19;3132:253;;;3453:10;;3449:376;;3473:12;-1:-1:-1;;579:1:34;804:25:35;;782:48;3761:21:23;;3672:20;;3694:9;;3668:36;3757:32;;3617:184;3573:238;;-1:-1:-1;1489:2340:23;;;;:::o;53053:230:24:-;53174:7;53258;53267:8;53241:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;53241:35:24;;;;;;;;;53231:46;;53241:35;53231:46;;;;42206:40;53204:73;;53053:230;-1:-1:-1;;;53053:230:24:o;52424:274::-;52568:7;52673;52682:8;52656:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;52646:46;;;;;;52625:17;52618:25;;52598:45;;;42115:34;52598:45;:94;52590:103;;52583:110;;52424:274;;;;;:::o;4598:171:4:-;4672:7;579:1:34;1354:13;1366:1;376:2;1354:13;:::i;:::-;1353:30;;;;:::i;:::-;4694:70:4;;;;;4598:171;-1:-1:-1;4598:171:4:o;966:162:23:-;1055:68;1061:14;1077:6;1085:4;:11;1098:24;1117:4;894::19;884:15;;758:151;1098:24:23;1055:5;:68::i;36862:522:24:-;36998:12;37122:257;37161:79;37203:7;37212:8;37222:17;37161:41;:79::i;:::-;37258:1;37277:93;37352:17;37277:66;37325:7;37334:8;37277:47;:66::i;:::-;:74;7070:16:3;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;37277:93:24;37122:12;:257::i;2003:574:22:-;2094:5;2189:3;2181:5;:11;:32;;;;2202:4;:11;2196:3;:17;2181:32;2177:93;;;2253:4;2259:5;2266:3;2222:48;;;;;;;;;;;;;:::i;2177:93::-;2336:4;2326:15;;2383:16;2394:5;2326:15;2383:16;:::i;:::-;;-1:-1:-1;2405:12:22;2420:11;2426:5;2420:3;:11;:::i;:::-;692:17;2555:15;2547:3;2536:14;;;;2535:36;;;;;;-1:-1:-1;;;;;2003:574:22:o;40103:220:38:-;40169:24;40201:30;40234:32;40252:6;40260:2;40264:1;40234:17;:32::i;53621:303:24:-;53742:14;53836:82;53867:48;53897:7;53906:8;53867:29;:48::i;:::-;4711:21:23;;4605:137;5042:669;5458:4;5452:11;5499:4;5487:17;;-1:-1:-1;;5373:16:23;5546:26;;;5373:16;5369:32;5518:4;5511:63;5618:6;5610;5603:22;5636:51;5641:14;5657:6;5665;5673:13;5636:4;:51::i;2681:1129:40:-;2801:22;2831:21;2855;:11;2997:3:22;2975:25;;2901:104;2855:21:40;2831:45;-1:-1:-1;692:17:22;3238:38;;2882:20:40;3044:11;3238:38:22;3044:11:40;3029:26;;;;:::i;:::-;;3015:40;;3164:4;3158:11;3149:20;;3207:4;3200:5;3196:16;3267:4;3254:11;3250:22;3236:12;3232:41;3226:4;3219:55;3317:11;3310:5;3303:26;3360:1;3337:463;3376:11;3373:1;3370:18;3337:463;;;3770:20;;3749:42;;3728:64;;3642:31;;;;3555:4;3537:23;;;;3463:1;3456:9;3337:463;;;3341:28;;3116:690;;;2681:1129;;;;;:::o;6076:2380:23:-;6193:10;;6189:1542;;6346:2;6336:6;:12;6332:122;;6409:2;6400:6;:11;6382:29;;;;6433:2;6423:12;;;;;;:::i;:::-;;;;6332:122;6544:10;;6540:1185;;6752:2;:11;;;6626:21;6810:22;;;6806:135;;;-1:-1:-1;;;579:1:34;804:25:35;;782:48;6806:135:23;;;-1:-1:-1;;;579:1:34;804:25:35;;782:48;6806:135:23;7135:14;7129:21;7114:12;7106:6;7102:25;7098:53;7375:4;7359:13;7353:20;7349:31;7285:4;7281:9;7269:10;7265:26;7210:184;7183:13;7163:243;;7465:13;7455:6;:23;7451:36;;7480:7;;;;7451:36;-1:-1:-1;7628:1:23;7610:19;;;;;7683:23;;;;;7641:30;6540:1185;7760:253;7777:2;7767:6;:12;7760:253;;7871:21;;7849:44;;7946:1;7928:19;;;;-1:-1:-1;;7986:12:23;;;;7974:2;7957:19;7760:253;;;8081:10;;8077:375;;8101:12;-1:-1:-1;;579:1:34;804:25:35;;782:48;8389:20:23;;8299:21;;8322:9;;8295:37;8385:31;;8244:184;8201:237;;-1:-1:-1;6076:2380:23;;;;:::o;14:332:228:-;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:228;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:228;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:228:o;1560:245::-;1608:4;1641:18;1633:6;1630:30;1627:56;;;1663:18;;:::i;:::-;-1:-1:-1;1720:2:228;1708:15;-1:-1:-1;;1704:88:228;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:228;;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:228: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:228;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:1179::-;3606:6;3614;3667:2;3655:9;3646:7;3642:23;3638:32;3635:52;;;3683:1;3680;3673:12;3635:52;3715:9;3709:16;-1:-1:-1;;3758:5:228;3754:78;3747:5;3744:89;3734:117;;3847:1;3844;3837:12;3734:117;3919:2;3904:18;;3898:25;3870:5;;-1:-1:-1;3942:18:228;3972:14;;;3969:34;;;3999:1;3996;3989:12;3969:34;4022:22;;;;4078:4;4060:16;;;4056:27;4053:47;;;4096:1;4093;4086:12;4053:47;4124:22;;:::i;:::-;4176:2;4170:9;4223:4;4214:7;4210:18;4201:7;4198:31;4188:59;;4243:1;4240;4233:12;4188:59;4256:24;;4319:2;4311:11;;4305:18;4335:16;;;4332:36;;;4364:1;4361;4354:12;4332:36;4402:56;4450:7;4439:8;4435:2;4431:17;4402:56;:::i;:::-;4397:2;4388:7;4384:16;4377:82;;4498:2;4494;4490:11;4484:18;4527:2;4517:8;4514:16;4511:36;;;4543:1;4540;4533:12;4511:36;4581:56;4629:7;4618:8;4614:2;4610:17;4581:56;:::i;:::-;4576:2;4567:7;4563:16;4556:82;;4657:7;4647:17;;;;;3491:1179;;;;;:::o;5325:287::-;5454:3;5492:6;5486:13;5508:66;5567:6;5562:3;5555:4;5547:6;5543:17;5508:66;:::i;:::-;5590:16;;;;;5325:287;-1:-1:-1;;5325:287:228:o;6483:357::-;6601:12;;6648:4;6637:16;;;6631:23;;6601:12;6666:16;;6663:171;;;-1:-1:-1;;6740:4:228;6736:17;;;;6733:1;6729:25;6725:98;6714:110;;6483:357;-1:-1:-1;6483:357:228:o;7453:329::-;7494:3;7532:5;7526:12;7559:6;7554:3;7547:19;7575:76;7644:6;7637:4;7632:3;7628:14;7621:4;7614:5;7610:16;7575:76;:::i;:::-;7696:2;7684:15;-1:-1:-1;;7680:88:228;7671:98;;;;7771:4;7667:109;;7453:329;-1:-1:-1;;7453:329:228:o;7787:319::-;7993:6;7982:9;7975:25;8036:2;8031;8020:9;8016:18;8009:30;7956:4;8056:44;8096:2;8085:9;8081:18;8073:6;8056:44;:::i;8111:458::-;8190:6;8243:2;8231:9;8222:7;8218:23;8214:32;8211:52;;;8259:1;8256;8249:12;8211:52;8292:9;8286:16;8325:18;8317:6;8314:30;8311:50;;;8357:1;8354;8347:12;8311:50;8380:22;;8433:4;8425:13;;8421:27;-1:-1:-1;8411:55:228;;8462:1;8459;8452:12;8411:55;8485:78;8555:7;8550:2;8544:9;8539:2;8535;8531:11;8485:78;:::i;8574:321::-;8652:6;8705:2;8693:9;8684:7;8680:23;8676:32;8673:52;;;8721:1;8718;8711:12;8673:52;8753:9;8747:16;-1:-1:-1;;;;;8796:5:228;8792:54;8785:5;8782:65;8772:93;;8861:1;8858;8851:12;8900:421;9165:6;9154:9;9147:25;9208:6;9203:2;9192:9;9188:18;9181:34;9251:2;9246;9235:9;9231:18;9224:30;9128:4;9271:44;9311:2;9300:9;9296:18;9288:6;9271:44;:::i;9326:184::-;-1:-1:-1;;;9375:1:228;9368:88;9475:4;9472:1;9465:15;9499:4;9496:1;9489:15;9784:184;-1:-1:-1;;;9833:1:228;9826:88;9933:4;9930:1;9923:15;9957:4;9954:1;9947:15;9973:125;10038:9;;;10059:10;;;10056:36;;;10072:18;;:::i;10368:492::-;10543:3;10581:6;10575:13;10597:66;10656:6;10651:3;10644:4;10636:6;10632:17;10597:66;:::i;:::-;10726:13;;10685:16;;;;10748:70;10726:13;10685:16;10795:4;10783:17;;10748:70;:::i;:::-;10834:20;;10368:492;-1:-1:-1;;;;10368:492:228:o;10865:439::-;10918:3;10956:5;10950:12;10983:6;10978:3;10971:19;11009:4;11038;11033:3;11029:14;11022:21;;11077:4;11070:5;11066:16;11100:1;11110:169;11124:6;11121:1;11118:13;11110:169;;;11185:13;;11173:26;;11219:12;;;;11254:15;;;;11146:1;11139:9;11110:169;;;-1:-1:-1;11295:3:228;;10865:439;-1:-1:-1;;;;;10865:439:228:o;11309:792::-;11702:6;11691:9;11684:25;11745:3;11740:2;11729:9;11725:18;11718:31;11665:4;11772:57;11824:3;11813:9;11809:19;11801:6;11772:57;:::i;:::-;11877:9;11869:6;11865:22;11860:2;11849:9;11845:18;11838:50;11911:32;11936:6;11928;11911:32;:::i;:::-;11897:46;;11979:6;11974:2;11963:9;11959:18;11952:34;12035:9;12027:6;12023:22;12017:3;12006:9;12002:19;11995:51;12063:32;12088:6;12080;12063:32;:::i;:::-;12055:40;11309:792;-1:-1:-1;;;;;;;;11309:792:228:o;12106:546::-;12428:6;12417:9;12410:25;12471:3;12466:2;12455:9;12451:18;12444:31;12391:4;12492:57;12544:3;12533:9;12529:19;12521:6;12492:57;:::i;:::-;12597:4;12585:17;;;;12580:2;12565:18;;12558:45;-1:-1:-1;12634:2:228;12619:18;12612:34;12484:65;12106:546;-1:-1:-1;;12106:546:228:o;12657:184::-;12727:6;12780:2;12768:9;12759:7;12755:23;12751:32;12748:52;;;12796:1;12793;12786:12;12748:52;-1:-1:-1;12819:16:228;;12657:184;-1:-1:-1;12657:184:228:o;12846:656::-;12898:3;12929;12961:5;12955:12;12988:6;12983:3;12976:19;13014:4;13043;13038:3;13034:14;13027:21;;13101:4;13091:6;13088:1;13084:14;13077:5;13073:26;13069:37;13140:4;13133:5;13129:16;13163:1;13173:303;13187:6;13184:1;13181:13;13173:303;;;-1:-1:-1;;13262:5:228;13256:4;13252:16;13248:89;13243:3;13236:102;13359:37;13391:4;13382:6;13376:13;13359:37;:::i;:::-;13454:12;;;;13351:45;-1:-1:-1;13419:15:228;;;;13209:1;13202:9;13173:303;;;-1:-1:-1;13492:4:228;;12846:656;-1:-1:-1;;;;;;;12846:656:228:o;13507:908::-;14033:6;14022:9;14015:25;14076:6;14071:2;14060:9;14056:18;14049:34;14119:6;14114:2;14103:9;14099:18;14092:34;14162:6;14157:2;14146:9;14142:18;14135:34;14206:3;14200;14189:9;14185:19;14178:32;13996:4;14233:56;14284:3;14273:9;14269:19;14261:6;14233:56;:::i;:::-;14338:9;14330:6;14326:22;14320:3;14309:9;14305:19;14298:51;14366:43;14402:6;14394;14366:43;:::i;:::-;14358:51;13507:908;-1:-1:-1;;;;;;;;;13507:908:228:o;14420:707::-;14788:6;14777:9;14770:25;14831:3;14826:2;14815:9;14811:18;14804:31;14751:4;14858:57;14910:3;14899:9;14895:19;14887:6;14858:57;:::i;:::-;14963:4;14955:6;14951:17;14946:2;14935:9;14931:18;14924:45;15017:9;15009:6;15005:22;15000:2;14989:9;14985:18;14978:50;15045:32;15070:6;15062;15045:32;:::i;:::-;15037:40;;;15114:6;15108:3;15097:9;15093:19;15086:35;14420:707;;;;;;;;:::o;15350:463::-;15596:66;15588:6;15584:79;15573:9;15566:98;15700:6;15695:2;15684:9;15680:18;15673:34;15743:2;15738;15727:9;15723:18;15716:30;15547:4;15763:44;15803:2;15792:9;15788:18;15780:6;15763:44;:::i;16071:184::-;-1:-1:-1;;;16120:1:228;16113:88;16220:4;16217:1;16210:15;16244:4;16241:1;16234:15;16586:280;16785:2;16774:9;16767:21;16748:4;16805:55;16856:2;16845:9;16841:18;16833:6;16805:55;:::i;16871:689::-;17205:3;17194:9;17187:22;17168:4;17232:57;17284:3;17273:9;17269:19;17261:6;17232:57;:::i;:::-;17337:9;17329:6;17325:22;17320:2;17309:9;17305:18;17298:50;17371:32;17396:6;17388;17371:32;:::i;:::-;17357:46;;17439:6;17434:2;17423:9;17419:18;17412:34;17494:9;17486:6;17482:22;17477:2;17466:9;17462:18;17455:50;17522:32;17547:6;17539;17522:32;:::i;:::-;17514:40;16871:689;-1:-1:-1;;;;;;;16871:689:228:o;17565:896::-;18018:6;18007:9;18000:25;18061:3;18056:2;18045:9;18041:18;18034:31;17981:4;18088:57;18140:3;18129:9;18125:19;18117:6;18088:57;:::i;:::-;18193:9;18185:6;18181:22;18176:2;18165:9;18161:18;18154:50;18227:32;18252:6;18244;18227:32;:::i;:::-;18213:46;;18295:6;18290:2;18279:9;18275:18;18268:34;18351:9;18343:6;18339:22;18333:3;18322:9;18318:19;18311:51;18379:32;18404:6;18396;18379:32;:::i;:::-;18371:40;;;18448:6;18442:3;18431:9;18427:19;18420:35;17565:896;;;;;;;;;:::o;18466:639::-;18716:6;18711:3;18704:19;18686:3;18742:2;18775;18770:3;18766:12;18807:6;18801:13;18872:2;18864:6;18860:15;18893:1;18903:175;18917:6;18914:1;18911:13;18903:175;;;18980:13;;18966:28;;19016:14;;;;19053:15;;;;18939:1;18932:9;18903:175;;;-1:-1:-1;19094:5:228;;18466:639;-1:-1:-1;;;;;;;18466:639:228:o;19110:184::-;-1:-1:-1;;;19159:1:228;19152:88;19259:4;19256:1;19249:15;19283:4;19280:1;19273:15;19489:128;19556:9;;;19577:11;;;19574:37;;;19591:18;;:::i;19622:168::-;19695:9;;;19726;;19743:15;;;19737:22;;19723:37;19713:71;;19764:18;;:::i;20001:511::-;20252:2;20241:9;20234:21;20215:4;20278:56;20330:2;20319:9;20315:18;20307:6;20278:56;:::i;:::-;20382:14;20374:6;20370:27;20365:2;20354:9;20350:18;20343:55;20446:9;20438:6;20434:22;20429:2;20418:9;20414:18;20407:50;20474:32;20499:6;20491;20474:32;:::i;:::-;20466:40;20001:511;-1:-1:-1;;;;;;20001:511:228:o;20517:615::-;20827:6;20816:9;20809:25;20870:3;20865:2;20854:9;20850:18;20843:31;20790:4;20897:57;20949:3;20938:9;20934:19;20926:6;20897:57;:::i;:::-;21002:14;20994:6;20990:27;20985:2;20974:9;20970:18;20963:55;21066:9;21058:6;21054:22;21049:2;21038:9;21034:18;21027:50;21094:32;21119:6;21111;21094:32;:::i;21823:359::-;22026:2;22015:9;22008:21;21989:4;22046:44;22086:2;22075:9;22071:18;22063:6;22046:44;:::i;:::-;22121:2;22106:18;;22099:34;;;;-1:-1:-1;22164:2:228;22149:18;22142:34;22038:52;21823:359;-1:-1:-1;21823:359:228:o","linkReferences":{},"immutableReferences":{"23061":[{"start":507,"length":32}],"92617":[{"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\":\"ERC20Module_InvalidNamespace\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FieldLayout_Empty\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"staticDataLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"computedStaticDataLength\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthDoesNotFitInAWord\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsNotZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyDynamicFields\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyFields\",\"type\":\"error\"},{\"inputs\":[],\"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\":\"Schema_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Schema_StaticTypeAfterDynamicType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Slice_OutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"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\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"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\":{\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"computedStaticDataLength\":\"The computed static data length.\",\"staticDataLength\":\"The static data length of the field layout.\"}}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"Module_MissingDependency(address)\":[{\"params\":{\"dependency\":\"The address of the dependency.\"}}],\"Schema_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the schema.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}]},\"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\":{\"errors\":{\"FieldLayout_Empty()\":[{\"notice\":\"Error raised when the provided field layout is empty.\"}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has an invalid static data length.\"}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length that does not fit in a word (32 bytes).\"}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a nonzero static data length.\"}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length of zero.\"}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many dynamic fields.\"}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many fields.\"}],\"Module_AlreadyInstalled()\":[{\"notice\":\"Error raised if the provided module is already installed.\"}],\"Module_MissingDependency(address)\":[{\"notice\":\"Error raised if the provided module is missing a dependency.\"}],\"Module_NonRootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in non-root is not supported.\"}],\"Module_RootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in root is not supported.\"}],\"Schema_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided schema has an invalid length.\"}],\"Schema_StaticTypeAfterDynamicType()\":[{\"notice\":\"Error raised when a static type is placed after a dynamic type in a schema.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided field names length is invalid.\"}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided key names length is invalid.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided static data length is invalid.\"}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema dynamic length is invalid.\"}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided value schema length is invalid.\"}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema static length is invalid.\"}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"notice\":\"Error raised if the provided table already exists.\"}]},\"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/erc20-puppet/ERC20Module.sol\":\"ERC20Module\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@latticexyz/=node_modules/@latticexyz/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x167af6321dc89c2e5850e31949b1d64ab70bb1cc809daa54a030e8ff30f35411\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e4b1a2d5da7e4f79349f5257a62b4c6ffe110d6e18fe407099aec71a2f3b2539\",\"dweb:/ipfs/QmQXqehp55UecYyuYTiPBKSnuedqYybXfCCjoPPrZ2hnRw\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x0128498e258f144cf98f0aa9aa0b39955273f31ca5464258a4cac8b3dbdb1b35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cab457b868f39aaab35cb80ec4446606a0647a128234a2e3a16188d609efdd33\",\"dweb:/ipfs/QmP4DeduAZfLBG7uN7DUuEoqom6sairSkwU3vb22MZMHL9\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0xfc18616186545cf0eedcf4baf9615f4677d1fde01dab4ed3b6cd088a3c65a850\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4c64f4893e34fb14cbd86a33272fc773875482f53e784a0f1c9b52f774939ba\",\"dweb:/ipfs/QmP4ZRD4bsAeYzsY5s6z1TKnLF8oFRnSkD71tzHBz2Haqm\"]},\"node_modules/@latticexyz/world/src/DelegationControl.sol\":{\"keccak256\":\"0x8fa0fe6f180267dd17948607704000850b896dd16570525a2347949023022b54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45a984963246009d0021961527210f77b0af851b18cdc9efc7ef0ed3c7b98958\",\"dweb:/ipfs/QmU8JAbabZeujX18JF4KCaCW34PbwSe8zR6Cc1cNRUJ4Bh\"]},\"node_modules/@latticexyz/world/src/IDelegationControl.sol\":{\"keccak256\":\"0x7cc2fbdd8ff6c996e19fab46c1031b76355da74973cebf45ce4df4b035d566bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://857d577f84a68018a3392ec4540c15e80326aaf4b0f224d0d239605abacfc0f3\",\"dweb:/ipfs/QmVEr3rTH1F1BFaCTMd7MmuceTqASwKBcMRnuFZ4tUAYmR\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/Module.sol\":{\"keccak256\":\"0xd99e81434439567e123dbade39850ea3e439ed7a33fe9a609ca6f1e08214908d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a00f6f27be952688d8db4ed77667d55219a56a04973db4d421a2776eb46da88b\",\"dweb:/ipfs/QmRqDmtDwZ8pXCcJFzwP7JDtUk86LmhWDrZBKy6q9UK9rz\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"node_modules/@latticexyz/world/src/codegen/tables/InstalledModules.sol\":{\"keccak256\":\"0x50a1f277a00f01e3cb97a85f0fc624ae2192a726136720b6a900b465a7aecc05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8f3cd87cc0b905d5b75d134d95176630404e76c0f0a343cbd17b8338e1492c0b\",\"dweb:/ipfs/QmURFDNBdUWgh57apX9n7VF68rSQeQrpc5to4FFV6bbJgN\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597\",\"dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e\",\"dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol\":{\"keccak256\":\"0xcb1e9fd5cd02cbb7125f2a64c02f89272d4b0f2afc0b43f24b727f023ef06493\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f4a923e67dea1c1c0a978cbb89d4e27f6e0205f49efe0556ac90b358bd2062ab\",\"dweb:/ipfs/QmZww8gDH9kyXsCaTYWzupNhL1QqR1emAbb5VifFWhDWYF\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7\",\"dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22\",\"dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV\"]},\"node_modules/@latticexyz/world/src/modules/init/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"src/modules/erc20-puppet/ERC20Module.sol\":{\"keccak256\":\"0x25e2b481c28b4be69b2103a2e98b9e4c5ddf81b373726b2ae9f00c14af53a217\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://01d4973ca1b88c8f640c6f6c65a50691bf50707ba7ec89c4bd46488450eeec12\",\"dweb:/ipfs/QmPpwGqc3HL8CctbPbKaXSse97Mm5mq7AwyxP5DcrpwQeJ\"]},\"src/modules/erc20-puppet/ERC20System.sol\":{\"keccak256\":\"0xf3cd154bdc6d3f7ad3727ee9852a2858c13b9d19a1b67c8ade74b812abc67ad9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4761ee9c4d3e0cf92147950d18e267dbbabf735d7ac5f7b09ae63c86968cf466\",\"dweb:/ipfs/QmSFNphuAUT1VbNegRjsXQaWttWL1UCLUixSXjAapbPn5s\"]},\"src/modules/erc20-puppet/IERC20.sol\":{\"keccak256\":\"0x4da2e95751daa6444c24063c1da6886380a487b958808d888f6f4f4b1da7b60b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://111b988299e13500d38a87e2a6309087f42abd6a871e6e9c5da7bc7d09c71b2c\",\"dweb:/ipfs/QmWyShHQnKFNvZdKyKmsuRCwhYRrz2UMqHP2oLnHvqArdj\"]},\"src/modules/erc20-puppet/IERC20Errors.sol\":{\"keccak256\":\"0x704a9e25590a92a80d153552fbe79a83fe0a80a8f6eaa8d2ccaca70649e40fce\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e6ae9510a9c5023299a1064c945b652336a31f5cd225bbe9a72f9e2fd81ada2\",\"dweb:/ipfs/QmdvTCUs3ZiP5unHGdwJz3MxAR5b7K7bYVTZjBT8xadBVR\"]},\"src/modules/erc20-puppet/IERC20Events.sol\":{\"keccak256\":\"0xee632339ff14c1e5e6994ce3c605799761f24f40093cabf3b091f6dcbd9ef8ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0c7a33110c14cfc32011bda15c4330d8f193d133c1f34448f1566f44a0663bd\",\"dweb:/ipfs/QmadwRXGu4H2H3WxgEchXTyLx5PKSLZd7VHvRPEZ5zAgaZ\"]},\"src/modules/erc20-puppet/IERC20Mintable.sol\":{\"keccak256\":\"0x51e2b57003ef9fd5e87b7dcd451628e361ff26e0f82a089897e43def4cf35163\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3b8478ba8a5562432dfcfc02cb35d38b95e0e16d1771c3619d8140a04bbf5208\",\"dweb:/ipfs/QmRBBjFW4dm2qQHdysj3ci9NGpaywbMsN2zjQAUNbXydhL\"]},\"src/modules/erc20-puppet/constants.sol\":{\"keccak256\":\"0xf5bc462ba7a0209d4d13b27f6038d2484c978250d9177d1814813a9fa6c67f0e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25f1dafb6cabe5bb70021625bd025d7249aed86dfc8567b9e5d8c2c32da847b4\",\"dweb:/ipfs/QmbAAQHU2q6Dm66CqbrwUtWyCbwndKZtrpE3oneFtaYMxX\"]},\"src/modules/erc20-puppet/tables/Allowances.sol\":{\"keccak256\":\"0x51bdf129e0b116fd8ec04c2a292ce00a3211b5ddd0fe1313ff252be0f6c915d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b8e2f4cc58db358e38b386d21b2c575fa4ae573e12487cbe56f7bec753f43a2\",\"dweb:/ipfs/QmQUEomWFs9kHM1BiBkDMnu8pFxdn7XEUaidxW5bWwDeqt\"]},\"src/modules/erc20-puppet/tables/ERC20Metadata.sol\":{\"keccak256\":\"0xb90f1f9f228a91b4e558d5d40bfbdb7c0970f3d57b5afe9f77fd20fab8969b94\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://56090ae6307d15fc2d86ef240dc5e0b3d338de1d5873faf0d2894d2018ca4a03\",\"dweb:/ipfs/QmWWbqFBZtVQffPtmNv8b9B7dRDtNYY5HvUbdYyBr6YxXS\"]},\"src/modules/erc20-puppet/tables/ERC20Registry.sol\":{\"keccak256\":\"0x927159d7916a1da7a8aa08e26503d1e1769afbc1f65aeae7209764ce4cb2f939\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f9d2c47d8320366b19a088c343263197d518fa6bec75bf182b385e8e141ca13e\",\"dweb:/ipfs/QmNfj3GcgUpwZKG9ZobNiLEKQ2P1DfKYzfZ8tFFiM6STPj\"]},\"src/modules/erc20-puppet/tables/TotalSupply.sol\":{\"keccak256\":\"0x7021c83769d9c4e3d4026101d625c6c42cd972ff1c77ec121780ef42c161d933\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eae00cc4fda10f7cb5ea3007a00158227501f4c0a3236ec9c69c3d005704502a\",\"dweb:/ipfs/QmTfbddu92e2a6TnXZyVpk9zKTaHcyqGnaWtdh1jwm3DVB\"]},\"src/modules/erc20-puppet/utils.sol\":{\"keccak256\":\"0x93469cfd699997e1b980433ad416566a87da0cc925a55752c98dc86c76c63b32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00bd06095ef07edea5827d0fde62110f8ce92ed8e20946d04e39a558700e045e\",\"dweb:/ipfs/QmdvVCsFD8ktvJFV56NDkgQ3oBsSb9vLNcwVm6uwTuUuPR\"]},\"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\":\"0x37273e42577e71b80621bcaa9132b8f9d28ded452242fb478fd7e52f382b83a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://26403866f063923a910cc1e6f4ff7b0e74e4f343b1222675658d1b9a1ecdbe14\",\"dweb:/ipfs/QmSTqLMbg9PvyFkVexVbLPUPLr1aBuBtcfnBZGbqEaje7Q\"]},\"src/modules/puppet/utils.sol\":{\"keccak256\":\"0x0c07e1daf167a9ebcf81d1b176e4aef23d12b0bc01333c572c0482b699fd199d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f2ec0928e530ae3b75aadfe224a5c1654d0c26b8f10e06e490274fff3871489\",\"dweb:/ipfs/QmPLfak2kwefQ5tcNFxuE9TXsQ4PVkvTraHWZU8PK9GkR4\"]},\"src/modules/tokens/tables/Balances.sol\":{\"keccak256\":\"0x6397f165aed38d2e921a0ae4f280f8079e0241d24bce2915c99ce69ea036b0cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b9ecc3fe44da5dc9c2532d85b288f6d9dfc28ea5a0899fe32faa1d7d78bd047\",\"dweb:/ipfs/QmayMhjNZJNRKjyxC7AEXkx87ePDu4rNVqZ7eDRTzk8Jrc\"]},\"src/utils/AccessControlLib.sol\":{\"keccak256\":\"0x9fb1520ec94ce3396760a235db900192b4990c78fd459c449896a74c32b83542\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4025b37988ece6915b2c867702a4a381829755dd9e5b0b0b32ade85649b00b2a\",\"dweb:/ipfs/QmUsLyetPdhtSdN3MicE1uphXWscKBPSBif8Sd83RC1E6Z\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"bytes14","name":"namespace","type":"bytes14"}],"type":"error","name":"ERC20Module_InvalidNamespace"},{"inputs":[],"type":"error","name":"FieldLayout_Empty"},{"inputs":[{"internalType":"uint256","name":"staticDataLength","type":"uint256"},{"internalType":"uint256","name":"computedStaticDataLength","type":"uint256"}],"type":"error","name":"FieldLayout_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsNotZero"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsZero"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyDynamicFields"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyFields"},{"inputs":[],"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":"Schema_InvalidLength"},{"inputs":[],"type":"error","name":"Schema_StaticTypeAfterDynamicType"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Slice_OutOfBounds"},{"inputs":[{"internalType":"uint256","name":"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":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"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/erc20-puppet/ERC20Module.sol":"ERC20Module"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x167af6321dc89c2e5850e31949b1d64ab70bb1cc809daa54a030e8ff30f35411","urls":["bzz-raw://e4b1a2d5da7e4f79349f5257a62b4c6ffe110d6e18fe407099aec71a2f3b2539","dweb:/ipfs/QmQXqehp55UecYyuYTiPBKSnuedqYybXfCCjoPPrZ2hnRw"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x0128498e258f144cf98f0aa9aa0b39955273f31ca5464258a4cac8b3dbdb1b35","urls":["bzz-raw://cab457b868f39aaab35cb80ec4446606a0647a128234a2e3a16188d609efdd33","dweb:/ipfs/QmP4DeduAZfLBG7uN7DUuEoqom6sairSkwU3vb22MZMHL9"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0xfc18616186545cf0eedcf4baf9615f4677d1fde01dab4ed3b6cd088a3c65a850","urls":["bzz-raw://b4c64f4893e34fb14cbd86a33272fc773875482f53e784a0f1c9b52f774939ba","dweb:/ipfs/QmP4ZRD4bsAeYzsY5s6z1TKnLF8oFRnSkD71tzHBz2Haqm"],"license":"MIT"},"node_modules/@latticexyz/world/src/DelegationControl.sol":{"keccak256":"0x8fa0fe6f180267dd17948607704000850b896dd16570525a2347949023022b54","urls":["bzz-raw://45a984963246009d0021961527210f77b0af851b18cdc9efc7ef0ed3c7b98958","dweb:/ipfs/QmU8JAbabZeujX18JF4KCaCW34PbwSe8zR6Cc1cNRUJ4Bh"],"license":"MIT"},"node_modules/@latticexyz/world/src/IDelegationControl.sol":{"keccak256":"0x7cc2fbdd8ff6c996e19fab46c1031b76355da74973cebf45ce4df4b035d566bf","urls":["bzz-raw://857d577f84a68018a3392ec4540c15e80326aaf4b0f224d0d239605abacfc0f3","dweb:/ipfs/QmVEr3rTH1F1BFaCTMd7MmuceTqASwKBcMRnuFZ4tUAYmR"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"node_modules/@latticexyz/world/src/Module.sol":{"keccak256":"0xd99e81434439567e123dbade39850ea3e439ed7a33fe9a609ca6f1e08214908d","urls":["bzz-raw://a00f6f27be952688d8db4ed77667d55219a56a04973db4d421a2776eb46da88b","dweb:/ipfs/QmRqDmtDwZ8pXCcJFzwP7JDtUk86LmhWDrZBKy6q9UK9rz"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/InstalledModules.sol":{"keccak256":"0x50a1f277a00f01e3cb97a85f0fc624ae2192a726136720b6a900b465a7aecc05","urls":["bzz-raw://8f3cd87cc0b905d5b75d134d95176630404e76c0f0a343cbd17b8338e1492c0b","dweb:/ipfs/QmURFDNBdUWgh57apX9n7VF68rSQeQrpc5to4FFV6bbJgN"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614","urls":["bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597","dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc","urls":["bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e","dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol":{"keccak256":"0xcb1e9fd5cd02cbb7125f2a64c02f89272d4b0f2afc0b43f24b727f023ef06493","urls":["bzz-raw://f4a923e67dea1c1c0a978cbb89d4e27f6e0205f49efe0556ac90b358bd2062ab","dweb:/ipfs/QmZww8gDH9kyXsCaTYWzupNhL1QqR1emAbb5VifFWhDWYF"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c","urls":["bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7","dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz"],"license":"MIT"},"node_modules/@latticexyz/world/src/constants.sol":{"keccak256":"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5","urls":["bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22","dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"src/modules/erc20-puppet/ERC20Module.sol":{"keccak256":"0x25e2b481c28b4be69b2103a2e98b9e4c5ddf81b373726b2ae9f00c14af53a217","urls":["bzz-raw://01d4973ca1b88c8f640c6f6c65a50691bf50707ba7ec89c4bd46488450eeec12","dweb:/ipfs/QmPpwGqc3HL8CctbPbKaXSse97Mm5mq7AwyxP5DcrpwQeJ"],"license":"MIT"},"src/modules/erc20-puppet/ERC20System.sol":{"keccak256":"0xf3cd154bdc6d3f7ad3727ee9852a2858c13b9d19a1b67c8ade74b812abc67ad9","urls":["bzz-raw://4761ee9c4d3e0cf92147950d18e267dbbabf735d7ac5f7b09ae63c86968cf466","dweb:/ipfs/QmSFNphuAUT1VbNegRjsXQaWttWL1UCLUixSXjAapbPn5s"],"license":"MIT"},"src/modules/erc20-puppet/IERC20.sol":{"keccak256":"0x4da2e95751daa6444c24063c1da6886380a487b958808d888f6f4f4b1da7b60b","urls":["bzz-raw://111b988299e13500d38a87e2a6309087f42abd6a871e6e9c5da7bc7d09c71b2c","dweb:/ipfs/QmWyShHQnKFNvZdKyKmsuRCwhYRrz2UMqHP2oLnHvqArdj"],"license":"MIT"},"src/modules/erc20-puppet/IERC20Errors.sol":{"keccak256":"0x704a9e25590a92a80d153552fbe79a83fe0a80a8f6eaa8d2ccaca70649e40fce","urls":["bzz-raw://0e6ae9510a9c5023299a1064c945b652336a31f5cd225bbe9a72f9e2fd81ada2","dweb:/ipfs/QmdvTCUs3ZiP5unHGdwJz3MxAR5b7K7bYVTZjBT8xadBVR"],"license":"MIT"},"src/modules/erc20-puppet/IERC20Events.sol":{"keccak256":"0xee632339ff14c1e5e6994ce3c605799761f24f40093cabf3b091f6dcbd9ef8ff","urls":["bzz-raw://a0c7a33110c14cfc32011bda15c4330d8f193d133c1f34448f1566f44a0663bd","dweb:/ipfs/QmadwRXGu4H2H3WxgEchXTyLx5PKSLZd7VHvRPEZ5zAgaZ"],"license":"MIT"},"src/modules/erc20-puppet/IERC20Mintable.sol":{"keccak256":"0x51e2b57003ef9fd5e87b7dcd451628e361ff26e0f82a089897e43def4cf35163","urls":["bzz-raw://3b8478ba8a5562432dfcfc02cb35d38b95e0e16d1771c3619d8140a04bbf5208","dweb:/ipfs/QmRBBjFW4dm2qQHdysj3ci9NGpaywbMsN2zjQAUNbXydhL"],"license":"MIT"},"src/modules/erc20-puppet/constants.sol":{"keccak256":"0xf5bc462ba7a0209d4d13b27f6038d2484c978250d9177d1814813a9fa6c67f0e","urls":["bzz-raw://25f1dafb6cabe5bb70021625bd025d7249aed86dfc8567b9e5d8c2c32da847b4","dweb:/ipfs/QmbAAQHU2q6Dm66CqbrwUtWyCbwndKZtrpE3oneFtaYMxX"],"license":"MIT"},"src/modules/erc20-puppet/tables/Allowances.sol":{"keccak256":"0x51bdf129e0b116fd8ec04c2a292ce00a3211b5ddd0fe1313ff252be0f6c915d0","urls":["bzz-raw://5b8e2f4cc58db358e38b386d21b2c575fa4ae573e12487cbe56f7bec753f43a2","dweb:/ipfs/QmQUEomWFs9kHM1BiBkDMnu8pFxdn7XEUaidxW5bWwDeqt"],"license":"MIT"},"src/modules/erc20-puppet/tables/ERC20Metadata.sol":{"keccak256":"0xb90f1f9f228a91b4e558d5d40bfbdb7c0970f3d57b5afe9f77fd20fab8969b94","urls":["bzz-raw://56090ae6307d15fc2d86ef240dc5e0b3d338de1d5873faf0d2894d2018ca4a03","dweb:/ipfs/QmWWbqFBZtVQffPtmNv8b9B7dRDtNYY5HvUbdYyBr6YxXS"],"license":"MIT"},"src/modules/erc20-puppet/tables/ERC20Registry.sol":{"keccak256":"0x927159d7916a1da7a8aa08e26503d1e1769afbc1f65aeae7209764ce4cb2f939","urls":["bzz-raw://f9d2c47d8320366b19a088c343263197d518fa6bec75bf182b385e8e141ca13e","dweb:/ipfs/QmNfj3GcgUpwZKG9ZobNiLEKQ2P1DfKYzfZ8tFFiM6STPj"],"license":"MIT"},"src/modules/erc20-puppet/tables/TotalSupply.sol":{"keccak256":"0x7021c83769d9c4e3d4026101d625c6c42cd972ff1c77ec121780ef42c161d933","urls":["bzz-raw://eae00cc4fda10f7cb5ea3007a00158227501f4c0a3236ec9c69c3d005704502a","dweb:/ipfs/QmTfbddu92e2a6TnXZyVpk9zKTaHcyqGnaWtdh1jwm3DVB"],"license":"MIT"},"src/modules/erc20-puppet/utils.sol":{"keccak256":"0x93469cfd699997e1b980433ad416566a87da0cc925a55752c98dc86c76c63b32","urls":["bzz-raw://00bd06095ef07edea5827d0fde62110f8ce92ed8e20946d04e39a558700e045e","dweb:/ipfs/QmdvVCsFD8ktvJFV56NDkgQ3oBsSb9vLNcwVm6uwTuUuPR"],"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":"0x37273e42577e71b80621bcaa9132b8f9d28ded452242fb478fd7e52f382b83a6","urls":["bzz-raw://26403866f063923a910cc1e6f4ff7b0e74e4f343b1222675658d1b9a1ecdbe14","dweb:/ipfs/QmSTqLMbg9PvyFkVexVbLPUPLr1aBuBtcfnBZGbqEaje7Q"],"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":"0x6397f165aed38d2e921a0ae4f280f8079e0241d24bce2915c99ce69ea036b0cc","urls":["bzz-raw://8b9ecc3fe44da5dc9c2532d85b288f6d9dfc28ea5a0899fe32faa1d7d78bd047","dweb:/ipfs/QmayMhjNZJNRKjyxC7AEXkx87ePDu4rNVqZ7eDRTzk8Jrc"],"license":"MIT"},"src/utils/AccessControlLib.sol":{"keccak256":"0x9fb1520ec94ce3396760a235db900192b4990c78fd459c449896a74c32b83542","urls":["bzz-raw://4025b37988ece6915b2c867702a4a381829755dd9e5b0b0b32ade85649b00b2a","dweb:/ipfs/QmUsLyetPdhtSdN3MicE1uphXWscKBPSBif8Sd83RC1E6Z"],"license":"MIT"}},"version":1},"id":147}