@latticexyz/world-modules 2.0.0-main-071aadb9 → 2.0.0-main-88b1a5a1

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 (112) hide show
  1. package/out/ArrayLib.sol/ArrayLib.json +255 -255
  2. package/out/CallboundDelegationControl.sol/CallboundDelegationControl.json +215 -215
  3. package/out/CallboundDelegations.sol/CallboundDelegations.json +2599 -2599
  4. package/out/DecodeSlice.sol/DecodeSlice.json +3250 -3250
  5. package/out/DelegationControl.sol/DelegationControl.json +94 -94
  6. package/out/EncodeArray.sol/EncodeArray.json +3345 -3345
  7. package/out/FieldLayout.sol/FieldLayoutInstance.json +47 -47
  8. package/out/FieldLayout.sol/FieldLayoutLib.json +47 -47
  9. package/out/Hook.sol/HookInstance.json +13 -13
  10. package/out/Hook.sol/HookLib.json +13 -13
  11. package/out/Hooks.sol/Hooks.json +3393 -3393
  12. package/out/IAccessManagementSystem.sol/IAccessManagementSystem.json +58 -58
  13. package/out/IBalanceTransferSystem.sol/IBalanceTransferSystem.json +54 -54
  14. package/out/IBaseWorld.sol/IBaseWorld.json +64 -64
  15. package/out/IBatchCallSystem.sol/IBatchCallSystem.json +52 -52
  16. package/out/ICoreSystem.sol/ICoreSystem.json +7 -7
  17. package/out/IDelegationControl.sol/IDelegationControl.json +62 -62
  18. package/out/IModule.sol/IModule.json +78 -78
  19. package/out/IModuleInstallationSystem.sol/IModuleInstallationSystem.json +28 -28
  20. package/out/ISystemHook.sol/ISystemHook.json +86 -86
  21. package/out/IUniqueEntitySystem.sol/IUniqueEntitySystem.json +13 -13
  22. package/out/IWorldContextConsumer.sol/IWorldContextConsumer.json +71 -71
  23. package/out/IWorldErrors.sol/IWorldErrors.json +152 -152
  24. package/out/IWorldKernel.sol/IWorldCall.json +154 -154
  25. package/out/IWorldKernel.sol/IWorldKernel.json +154 -154
  26. package/out/IWorldKernel.sol/IWorldModuleInstallation.json +154 -154
  27. package/out/IWorldRegistrationSystem.sol/IWorldRegistrationSystem.json +190 -190
  28. package/out/KeysInTable.sol/KeysInTable.json +10672 -10672
  29. package/out/KeysInTableHook.sol/KeysInTableHook.json +867 -867
  30. package/out/KeysInTableModule.sol/KeysInTableModule.json +538 -538
  31. package/out/KeysWithValue.sol/KeysWithValue.json +3832 -3832
  32. package/out/KeysWithValueHook.sol/KeysWithValueHook.json +993 -993
  33. package/out/KeysWithValueModule.sol/KeysWithValueModule.json +426 -426
  34. package/out/Memory.sol/Memory.json +4 -4
  35. package/out/Module.sol/Module.json +84 -84
  36. package/out/ResourceIds.sol/ResourceIds.json +1363 -1363
  37. package/out/Schema.sol/SchemaInstance.json +72 -72
  38. package/out/Schema.sol/SchemaLib.json +72 -72
  39. package/out/SchemaType.sol/SchemaType.json +276 -276
  40. package/out/Slice.sol/SliceInstance.json +4 -4
  41. package/out/Slice.sol/SliceLib.json +4 -4
  42. package/out/StandardDelegationsModule.sol/StandardDelegationsModule.json +303 -303
  43. package/out/Storage.sol/Storage.json +7 -7
  44. package/out/StoreCore.sol/StoreCore.json +708 -737
  45. package/out/StoreCore.sol/StoreCoreInternal.json +710 -739
  46. package/out/StoreHook.sol/StoreHook.json +368 -368
  47. package/out/StoreHooks.sol/StoreHooks.json +3232 -3232
  48. package/out/StoreSwitch.sol/StoreSwitch.json +1885 -1885
  49. package/out/System.sol/System.json +31 -31
  50. package/out/Tables.sol/Tables.json +5585 -5585
  51. package/out/TightCoder.sol/TightCoder.json +124 -124
  52. package/out/TimeboundDelegationControl.sol/TimeboundDelegationControl.json +119 -119
  53. package/out/TimeboundDelegations.sol/TimeboundDelegations.json +1990 -1990
  54. package/out/UniqueEntity.sol/UniqueEntity.json +1406 -1406
  55. package/out/UniqueEntityModule.sol/UniqueEntityModule.json +327 -327
  56. package/out/UniqueEntitySystem.sol/UniqueEntitySystem.json +93 -93
  57. package/out/UsedKeysIndex.sol/UsedKeysIndex.json +2727 -2727
  58. package/out/WorldContext.sol/WorldContextConsumer.json +1380 -988
  59. package/out/WorldContext.sol/{WorldContextProvider.json → WorldContextConsumerLib.json} +1381 -989
  60. package/out/WorldContext.sol/WorldContextProviderLib.json +3910 -0
  61. package/out/WorldResourceId.sol/WorldResourceIdInstance.json +476 -476
  62. package/out/WorldResourceId.sol/WorldResourceIdLib.json +476 -476
  63. package/out/constants.sol/LayoutOffsets.json +79 -79
  64. package/out/constants.sol/constants.json +115 -115
  65. package/out/getKeysInTable.sol/getKeysInTable.json +564 -564
  66. package/out/getKeysWithValue.sol/getKeysWithValue.json +264 -264
  67. package/out/getTargetTableId.sol/getTargetTableId.json +163 -163
  68. package/out/getUniqueEntity.sol/getUniqueEntity.json +88 -88
  69. package/out/hasKey.sol/hasKey.json +130 -130
  70. package/out/index.sol/index.json +53 -53
  71. package/out/interfaces/IBaseWorld.sol/IBaseWorld.json +131 -131
  72. package/out/leftMask.sol/leftMask.json +31 -31
  73. package/out/query.sol/query.json +1154 -1154
  74. package/out/revertWithBytes.sol/revertWithBytes.json +15 -15
  75. package/out/src/Bytes.sol/Bytes.json +1338 -1338
  76. package/out/src/FieldLayout.sol/FieldLayoutInstance.json +698 -698
  77. package/out/src/FieldLayout.sol/FieldLayoutLib.json +698 -698
  78. package/out/src/IStore.sol/IStore.json +53 -53
  79. package/out/src/IWorldKernel.sol/IWorldCall.json +153 -153
  80. package/out/src/IWorldKernel.sol/IWorldKernel.json +153 -153
  81. package/out/src/IWorldKernel.sol/IWorldModuleInstallation.json +153 -153
  82. package/out/src/Memory.sol/Memory.json +91 -91
  83. package/out/src/PackedCounter.sol/PackedCounterInstance.json +929 -929
  84. package/out/src/PackedCounter.sol/PackedCounterLib.json +929 -929
  85. package/out/src/ResourceId.sol/ResourceIdInstance.json +116 -116
  86. package/out/src/ResourceId.sol/ResourceIdLib.json +116 -116
  87. package/out/src/Schema.sol/SchemaInstance.json +790 -790
  88. package/out/src/Schema.sol/SchemaLib.json +790 -790
  89. package/out/src/Slice.sol/SliceInstance.json +430 -430
  90. package/out/src/Slice.sol/SliceLib.json +430 -430
  91. package/out/src/StoreCore.sol/StoreCore.json +4695 -4724
  92. package/out/src/StoreCore.sol/StoreCoreInternal.json +4697 -4726
  93. package/out/src/StoreSwitch.sol/StoreSwitch.json +2487 -2487
  94. package/out/src/WorldContext.sol/WorldContextConsumer.json +1291 -899
  95. package/out/src/WorldContext.sol/WorldContextConsumerLib.abi.json +1 -0
  96. package/out/src/WorldContext.sol/{WorldContextProvider.json → WorldContextConsumerLib.json} +1292 -900
  97. package/out/src/WorldContext.sol/WorldContextProviderLib.abi.json +1 -0
  98. package/out/src/WorldContext.sol/WorldContextProviderLib.json +3910 -0
  99. package/out/src/WorldResourceId.sol/WorldResourceIdInstance.json +476 -476
  100. package/out/src/WorldResourceId.sol/WorldResourceIdLib.json +476 -476
  101. package/out/storeHookTypes.sol/storeHookTypes.json +115 -115
  102. package/out/storeResourceTypes.sol/storeResourceTypes.json +12 -12
  103. package/out/tables/ResourceIds.sol/ResourceIds.json +1751 -1751
  104. package/out/tables/Tables.sol/Tables.json +7292 -7292
  105. package/out/tightcoder/EncodeArray.sol/EncodeArray.json +3345 -3345
  106. package/out/types.sol/types.json +41 -41
  107. package/out/version.sol/version.json +7 -7
  108. package/out/world/src/IERC165.sol/IERC165.json +28 -28
  109. package/out/worldResourceTypes.sol/worldResourceTypes.json +53 -53
  110. package/package.json +8 -8
  111. /package/out/WorldContext.sol/{WorldContextProvider.abi.json → WorldContextConsumerLib.abi.json} +0 -0
  112. /package/out/{src/WorldContext.sol/WorldContextProvider.abi.json → WorldContext.sol/WorldContextProviderLib.abi.json} +0 -0
@@ -125,26 +125,26 @@
125
125
  }
126
126
  ],
127
127
  "bytecode": {
128
- "object": "0x60a06040526040516100109061004b565b604051809103906000f08015801561002c573d6000803e3d6000fd5b506001600160a01b031660805234801561004557600080fd5b50610059565b6143aa806200189783390190565b608051611814620000836000396000818161063c0152818161079c015261088701526118146000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c806317d7de7c1161005b57806317d7de7c146100ec57806345ec93541461011a5780637c5b03351461012d578063e1af802c1461014057600080fd5b806301ffc9a714610082578063119df25f146100aa57806313861fb5146100d7575b600080fd5b6100956100903660046114e6565b610148565b60405190151581526020015b60405180910390f35b6100b26101e1565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100a1565b6100ea6100e5366004611545565b610213565b005b6040517f6b657973496e5461626c6500000000000000000000000000000000000000000081526020016100a1565b604051601f1936013581526020016100a1565b6100ea61013b366004611545565b610245565b6100b261096b565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f79f50b5b0000000000000000000000000000000000000000000000000000000014806101db57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806102105750335b90565b6040517fea8b184c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008180602001905181019061025b91906115f6565b9050600061026761096b565b60408051613a3160f11b60208201526000602282018190527f4b657973496e5461626c6500000000000000000000000000000000000000000060308301529293506060916102cd91016040516020818303038152906040526102c89061160f565b61097a565b6108655760408051613a3160f11b6020820152600060228201527f4b657973496e5461626c65000000000000000000000000000000000000000000603082015273ffffffffffffffffffffffffffffffffffffffff8516918291630ba51f4991016040516020818303038152906040526103469061160f565b7c050000000000000000000000000000000000000000000000000000000061036c610a76565b610374610aee565b61037c610c3d565b610384610cc2565b604051602401610399969594939291906116c4565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1660e09490941b9390931790925290516103e6925061170e565b600060405180830381855af49150503d8060008114610421576040519150601f19603f3d011682016040523d82523d6000602084013e610426565b606091505b5090925090508161043a5761043a81610e8a565b60408051613a3160f11b6020820152600060228201527f557365644b657973496e64657800000000000000000000000000000000000000603082015273ffffffffffffffffffffffffffffffffffffffff8516918291630ba51f4991016040516020818303038152906040526104af9061160f565b7e060200010500000000000000000000000000000000000000000000000000006104d7610e92565b6104df610f11565b6104e7610f90565b6104ef61105a565b604051602401610504969594939291906116c4565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1660e09490941b939093179092529051610551925061170e565b600060405180830381855af49150503d806000811461058c576040519150601f19603f3d011682016040523d82523d6000602084013e610591565b606091505b509092509050816105a5576105a581610e8a565b60408051613a3160f11b6020820152600060228201527f4b657973496e5461626c65000000000000000000000000000000000000000000603082015273ffffffffffffffffffffffffffffffffffffffff85169182916340554c3a910160405160208183030381529060405261061a9061160f565b604051602481019190915273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016604482015260640160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1660e09490941b9390931790925290516106b1925061170e565b600060405180830381855af49150503d80600081146106ec576040519150601f19603f3d011682016040523d82523d6000602084013e6106f1565b606091505b509092509050816107055761070581610e8a565b60408051613a3160f11b6020820152600060228201527f557365644b657973496e64657800000000000000000000000000000000000000603082015273ffffffffffffffffffffffffffffffffffffffff85169182916340554c3a910160405160208183030381529060405261077a9061160f565b604051602481019190915273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016604482015260640160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1660e09490941b939093179092529051610811925061170e565b600060405180830381855af49150503d806000811461084c576040519150601f19603f3d011682016040523d82523d6000602084013e610851565b606091505b509092509050816108655761086581610e8a565b604080516024810186905273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081166044830152606960648084019190915283518084039091018152608490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f530f4b6000000000000000000000000000000000000000000000000000000000179052915191851691610921919061170e565b600060405180830381855af49150503d806000811461095c576040519150601f19603f3d011682016040523d82523d6000602084013e610961565b606091505b5050505050505050565b6000610975611124565b905090565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106109b3576109b361172a565b60209081029190910181019190915260408051613a3160f11b818401527f73746f726500000000000000000000000000000000000000000000000000000060228201527f5265736f7572636549647300000000000000000000000000000000000000000060308201528151808203909301835281019052600090610a6290610a3a9061160f565b8360007e01010001000000000000000000000000000000000000000000000000000000611170565b9050610a6e8160f81c90565b949350505050565b60408051600180825281830190925260009182919060208083019080368337019050509050605f81600081518110610ab057610ab061172a565b602002602001019060c5811115610ac957610ac9611740565b908160c5811115610adc57610adc611740565b905250610ae8816111a6565b91505090565b60408051600580825260c082019092526000918291906020820160a08036833701905050905060c181600081518110610b2957610b2961172a565b602002602001019060c5811115610b4257610b42611740565b908160c5811115610b5557610b55611740565b8152505060c181600181518110610b6e57610b6e61172a565b602002602001019060c5811115610b8757610b87611740565b908160c5811115610b9a57610b9a611740565b8152505060c181600281518110610bb357610bb361172a565b602002602001019060c5811115610bcc57610bcc611740565b908160c5811115610bdf57610bdf611740565b8152505060c181600381518110610bf857610bf861172a565b602002602001019060c5811115610c1157610c11611740565b908160c5811115610c2457610c24611740565b8152505060c181600481518110610ab057610ab061172a565b604080516001808252818301909252606091816020015b6060815260200190600190039081610c545790505090506040518060400160405280600d81526020017f736f757263655461626c6549640000000000000000000000000000000000000081525081600081518110610cb457610cb461172a565b602002602001018190525090565b60408051600580825260c08201909252606091816020015b6060815260200190600190039081610cda5790505090506040518060400160405280600581526020017f6b6579733000000000000000000000000000000000000000000000000000000081525081600081518110610d3a57610d3a61172a565b60200260200101819052506040518060400160405280600581526020017f6b6579733100000000000000000000000000000000000000000000000000000081525081600181518110610d8e57610d8e61172a565b60200260200101819052506040518060400160405280600581526020017f6b6579733200000000000000000000000000000000000000000000000000000081525081600281518110610de257610de261172a565b60200260200101819052506040518060400160405280600581526020017f6b6579733300000000000000000000000000000000000000000000000000000081525081600381518110610e3657610e3661172a565b60200260200101819052506040518060400160405280600581526020017f6b6579733400000000000000000000000000000000000000000000000000000081525081600481518110610cb457610cb461172a565b805160208201fd5b60408051600280825260608201835260009283929190602083019080368337019050509050605f81600081518110610ecc57610ecc61172a565b602002602001019060c5811115610ee557610ee5611740565b908160c5811115610ef857610ef8611740565b81525050605f81600181518110610ab057610ab061172a565b60408051600280825260608201835260009283929190602083019080368337019050509050606081600081518110610f4b57610f4b61172a565b602002602001019060c5811115610f6457610f64611740565b908160c5811115610f7757610f77611740565b81525050600481600181518110610ab057610ab061172a565b6040805160028082526060828101909352816020015b6060815260200190600190039081610fa65790505090506040518060400160405280600d81526020017f736f757263655461626c65496400000000000000000000000000000000000000815250816000815181106110065761100661172a565b60200260200101819052506040518060400160405280600881526020017f6b6579734861736800000000000000000000000000000000000000000000000081525081600181518110610cb457610cb461172a565b6040805160028082526060828101909352816020015b60608152602001906001900390816110705790505090506040518060400160405280600381526020017f6861730000000000000000000000000000000000000000000000000000000000815250816000815181106110d0576110d061172a565b60200260200101819052506040518060400160405280600581526020017f696e64657800000000000000000000000000000000000000000000000000000081525081600181518110610cb457610cb461172a565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e1755460009073ffffffffffffffffffffffffffffffffffffffff168061116b573391505090565b919050565b600061119d61117f868661139c565b60ff858116601b0360080285901c1661119885876113f2565b611435565b95945050505050565b6000601c825111156111f25781516040517f5318beb90000000000000000000000000000000000000000000000000000000081526004016111e991815260200190565b60405180910390fd5b60008080805b85518110156112cd5760006112368783815181106112185761121861172a565b602002602001015160c581111561123157611231611740565b611486565b90508060000361124b57600190920191611283565b8215611283576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80840193506008826004601f0303028783815181106112a4576112a461172a565b602002602001015160c58111156112bd576112bd611740565b901b9490941793506001016111f8565b50600581111561130c576040517f5318beb9000000000000000000000000000000000000000000000000000000008152600481018290526024016111e9565b8451819003600861131f6002602061176c565b611329919061177f565b83901b9390931792600860016113416002602061176c565b61134b919061176c565b611355919061177f565b81901b9390931792600860018061136e6002602061176c565b611378919061176c565b611382919061176c565b61138c919061177f565b9190911b92909217949350505050565b600082826040516020016113b1929190611796565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff1681101561142d5761141960ff601b83900360080287901c16836117c4565b915080611425816117d7565b9150506113f7565b509392505050565b60006020821061145b57602082048401935060208281611457576114576117f1565b0691505b508254600882021b60208290038084111561142d576001850154600882021c82179150509392505050565b6000808260c581111561149b5761149b611740565b60ff16905060618110156114b557601f1660010192915050565b60618360c58111156114c9576114c9611740565b036114d75750601492915050565b50600092915050565b50919050565b6000602082840312156114f857600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461152857600080fd5b9392505050565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561155757600080fd5b813567ffffffffffffffff8082111561156f57600080fd5b818401915084601f83011261158357600080fd5b8135818111156115955761159561152f565b604051601f8201601f19908116603f011681019083821181831017156115bd576115bd61152f565b816040528281528760208487010111156115d657600080fd5b826020860160208301376000928101602001929092525095945050505050565b60006020828403121561160857600080fd5b5051919050565b805160208083015191908110156114e05760001960209190910360031b1b16919050565b60005b8381101561164e578181015183820152602001611636565b50506000910152565b600081518084526020808501808196508360051b8101915082860160005b858110156116b75782840389528151805180865261169881888801898501611633565b99860199601f01601f1916949094018501935090840190600101611675565b5091979650505050505050565b86815285602082015284604082015283606082015260c0608082015260006116ef60c0830185611657565b82810360a08401526117018185611657565b9998505050505050505050565b60008251611720818460208701611633565b9190910192915050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b818103818111156101db576101db611756565b80820281158282048414176101db576101db611756565b82815260006020808301845182860160005b828110156116b7578151845292840192908401906001016117a8565b808201808211156101db576101db611756565b600060001982036117ea576117ea611756565b5060010190565b634e487b7160e01b600052601260045260246000fdfea164736f6c6343000815000a608060405234801561001057600080fd5b5061438a806100206000396000f3fe608060405234801561001057600080fd5b50600436106100a35760003560e01c80636358453311610076578063964f667d1161005b578063964f667d146101265780639faeaf4514610134578063a8ba87211461014757600080fd5b8063635845331461010557806383b5c95b1461011857600080fd5b806301ffc9a7146100a857806355eb5a28146100cf57806357066c9c146100e45780635b28cdaf146100f7575b600080fd5b6100bb6100b636600461388c565b61015a565b604051901515815260200160405180910390f35b6100e26100dd366004613a28565b6101f3565b005b6100e26100f2366004613adc565b610225565b6100e26100dd366004613adc565b6100e2610113366004613a28565b610237565b6100e26100dd366004613b80565b6100e26100dd366004613bd0565b6100e2610142366004613b80565b61024a565b6100e2610155366004613bd0565b610533565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f198cf0cd0000000000000000000000000000000000000000000000000000000014806101ed57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b6040517fcfd7320c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61022f8686610543565b505050505050565b6102418787610543565b50505050505050565b60008260405160200161025d9190613c98565b604051602081830303815290604052805190602001209050600080610282868461067f565b91509150811561022f576102968684610797565b60006102a18761085d565b90508064ffffffffff166001036102c0576102bb87610905565b610241565b855115610241576000865167ffffffffffffffff8111156102e3576102e36138ce565b60405190808252806020026020018201604052801561030c578160200160208202803683370190505b509050600061032c89610320600186613cc1565b64ffffffffff16610984565b9050808260008151811061034257610342613ce6565b602002602001018181525050610360898564ffffffffff1683610a3f565b61036989610b01565b6001885111156104f15761038e89610382600186613cc1565b64ffffffffff16610b94565b905080826001815181106103a4576103a4613ce6565b6020026020010181815250506103c2898564ffffffffff1683610c3b565b6103cb89610cf6565b6002885111156104f1576103f0896103e4600186613cc1565b64ffffffffff16610d89565b9050808260028151811061040657610406613ce6565b602002602001018181525050610424898564ffffffffff1683610e30565b61042d89610eeb565b6003885111156104f15761045289610446600186613cc1565b64ffffffffff16610f7e565b9050808260038151811061046857610468613ce6565b602002602001018181525050610486898564ffffffffff1683611025565b61048f896110e0565b6004885111156104f1576104b4896104a8600186613cc1565b64ffffffffff16611173565b905080826004815181106104ca576104ca613ce6565b6020026020010181815250506104e8898564ffffffffff168361121a565b6104f1896112d5565b6000826040516020016105049190613c98565b6040516020818303038152906040528051906020012090506105278a8287611368565b50505050505050505050565b61053d8484610543565b50505050565b6000816040516020016105569190613c98565b604051602081830303815290604052805190602001209050610578838261148e565b61067a5760006105878461085d565b83519091501561066d576105b584846000815181106105a8576105a8613ce6565b6020026020010151611588565b60018351111561066d576105e384846001815181106105d6576105d6613ce6565b602002602001015161163b565b60028351111561066d57610611848460028151811061060457610604613ce6565b60200260200101516116da565b60038351111561066d5761063f848460038151811061063257610632613ce6565b6020026020010151611779565b60048351111561066d5761066d848460048151811061066057610660613ce6565b6020026020010151611818565b61053d84836001846118b7565b505050565b60408051600280825260608201835260009283928392909160208301908036833701905050905084816000815181106106ba576106ba613ce6565b60200260200101818152505083816001815181106106da576106da613ce6565b60209081029190910181019190915260408051613a3160f11b928101929092526000602283018190527f557365644b657973496e6465780000000000000000000000000000000000000060308401529182918291610771910160405160208183030381529060405261074b90613cfc565b857e060200010500000000000000000000000000000000000000000000000000006119d3565b5050602081015160219091015160f89190911c9960d89190911c98509650505050505050565b60408051600280825260608201835260009260208301908036833701905050905082816000815181106107cc576107cc613ce6565b60200260200101818152505081816001815181106107ec576107ec613ce6565b60209081029190910181019190915260408051613a3160f11b92810192909252600060228301527f557365644b657973496e64657800000000000000000000000000000000000000603083015261067a91015b60405160208183030381529060405261085790613cfc565b82611aa3565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061089657610896613ce6565b60209081029190910181019190915260408051613a3160f11b928101929092526000602283018190526a4b657973496e5461626c6560a81b6030840152916108f991016040516020818303038152906040526108f190613cfc565b836000611b3e565b60209004949350505050565b60408051600180825281830190925260009160208083019080368337019050509050818160008151811061093b5761093b613ce6565b60209081029190910181019190915260408051613a3160f11b92810192909252600060228301526a4b657973496e5461626c6560a81b6030830152610980910161083f565b5050565b6040805160018082528183019092526000918291906020808301908036833701905050905083816000815181106109bd576109bd613ce6565b60209081029190910181019190915260408051613a3160f11b928101929092526000602283018190526a4b657973496e5461626c6560a81b603084015291610a2b9101604051602081830303815290604052610a1890613cfc565b8360008760200288600101602002611c01565b9050610a3681613cfc565b95945050505050565b604080516001808252818301909252600091602080830190803683370190505090508381600081518110610a7557610a75613ce6565b602002602001018181525050600082604051602001610a9691815260200190565b60408051601f19818403018152828252613a3160f11b6020840152600060228401526a4b657973496e5461626c6560a81b60308401529250610afa9101604051602081830303815290604052610aeb90613cfc565b83600087602002855186611cc6565b5050505050565b604080516001808252818301909252600091602080830190803683370190505090508181600081518110610b3757610b37613ce6565b60209081029190910181019190915260408051613a3160f11b81840152600060228201526a4b657973496e5461626c6560a81b6030820152815180820390930183528101905261098090610b8a90613cfc565b8260006020611d7a565b604080516001808252818301909252600091829190602080830190803683370190505090508381600081518110610bcd57610bcd613ce6565b60209081029190910181019190915260408051613a3160f11b928101929092526000602283018190526a4b657973496e5461626c6560a81b603084015291610a2b9101604051602081830303815290604052610c2890613cfc565b8360018760200288600101602002611c01565b604080516001808252818301909252600091602080830190803683370190505090508381600081518110610c7157610c71613ce6565b602002602001018181525050600082604051602001610c9291815260200190565b60408051601f19818403018152828252613a3160f11b6020840152600060228401526a4b657973496e5461626c6560a81b60308401529250610afa9101604051602081830303815290604052610ce790613cfc565b83600187602002855186611cc6565b604080516001808252818301909252600091602080830190803683370190505090508181600081518110610d2c57610d2c613ce6565b60209081029190910181019190915260408051613a3160f11b81840152600060228201526a4b657973496e5461626c6560a81b6030820152815180820390930183528101905261098090610d7f90613cfc565b8260016020611d7a565b604080516001808252818301909252600091829190602080830190803683370190505090508381600081518110610dc257610dc2613ce6565b60209081029190910181019190915260408051613a3160f11b928101929092526000602283018190526a4b657973496e5461626c6560a81b603084015291610a2b9101604051602081830303815290604052610e1d90613cfc565b8360028760200288600101602002611c01565b604080516001808252818301909252600091602080830190803683370190505090508381600081518110610e6657610e66613ce6565b602002602001018181525050600082604051602001610e8791815260200190565b60408051601f19818403018152828252613a3160f11b6020840152600060228401526a4b657973496e5461626c6560a81b60308401529250610afa9101604051602081830303815290604052610edc90613cfc565b83600287602002855186611cc6565b604080516001808252818301909252600091602080830190803683370190505090508181600081518110610f2157610f21613ce6565b60209081029190910181019190915260408051613a3160f11b81840152600060228201526a4b657973496e5461626c6560a81b6030820152815180820390930183528101905261098090610f7490613cfc565b8260026020611d7a565b604080516001808252818301909252600091829190602080830190803683370190505090508381600081518110610fb757610fb7613ce6565b60209081029190910181019190915260408051613a3160f11b928101929092526000602283018190526a4b657973496e5461626c6560a81b603084015291610a2b910160405160208183030381529060405261101290613cfc565b8360038760200288600101602002611c01565b60408051600180825281830190925260009160208083019080368337019050509050838160008151811061105b5761105b613ce6565b60200260200101818152505060008260405160200161107c91815260200190565b60408051601f19818403018152828252613a3160f11b6020840152600060228401526a4b657973496e5461626c6560a81b60308401529250610afa91016040516020818303038152906040526110d190613cfc565b83600387602002855186611cc6565b60408051600180825281830190925260009160208083019080368337019050509050818160008151811061111657611116613ce6565b60209081029190910181019190915260408051613a3160f11b81840152600060228201526a4b657973496e5461626c6560a81b603082015281518082039093018352810190526109809061116990613cfc565b8260036020611d7a565b6040805160018082528183019092526000918291906020808301908036833701905050905083816000815181106111ac576111ac613ce6565b60209081029190910181019190915260408051613a3160f11b928101929092526000602283018190526a4b657973496e5461626c6560a81b603084015291610a2b910160405160208183030381529060405261120790613cfc565b8360048760200288600101602002611c01565b60408051600180825281830190925260009160208083019080368337019050509050838160008151811061125057611250613ce6565b60200260200101818152505060008260405160200161127191815260200190565b60408051601f19818403018152828252613a3160f11b6020840152600060228401526a4b657973496e5461626c6560a81b60308401529250610afa91016040516020818303038152906040526112c690613cfc565b83600487602002855186611cc6565b60408051600180825281830190925260009160208083019080368337019050509050818160008151811061130b5761130b613ce6565b60209081029190910181019190915260408051613a3160f11b81840152600060228201526a4b657973496e5461626c6560a81b603082015281518082039093018352810190526109809061135e90613cfc565b8260046020611d7a565b604080516002808252606082018352600092602083019080368337019050509050838160008151811061139d5761139d613ce6565b60200260200101818152505082816001815181106113bd576113bd613ce6565b60209081029190910181019190915260408051613a3160f11b81840152600060228201527f557365644b657973496e646578000000000000000000000000000000000000006030820152815180820390930183528101905261053d9061142290613cfc565b6040517fffffffffff00000000000000000000000000000000000000000000000000000060d886901b166020820152839060019060250160408051601f198184030181529190527e06020001050000000000000000000000000000000000000000000000000000611e2b565b6040805160028082526060820183526000928392919060208301908036833701905050905083816000815181106114c7576114c7613ce6565b60200260200101818152505082816001815181106114e7576114e7613ce6565b60209081029190910181019190915260408051613a3160f11b928101929092526000602283018190527f557365644b657973496e6465780000000000000000000000000000000000000060308401529161157c910160405160208183030381529060405261155490613cfc565b8360007e06020001050000000000000000000000000000000000000000000000000000611ed4565b9050610a368160f81c90565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106115be576115be613ce6565b60209081029190910181019190915260408051613a3160f11b81840152600060228201526a4b657973496e5461626c6560a81b6030820152815180820390930183528101905261067a9061161190613cfc565b8260008560405160200161162791815260200190565b604051602081830303815290604052611f99565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061167157611671613ce6565b60209081029190910181019190915260408051613a3160f11b81840152600060228201526a4b657973496e5461626c6560a81b6030820152815180820390930183528101905261067a906116c490613cfc565b8260018560405160200161162791815260200190565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061171057611710613ce6565b60209081029190910181019190915260408051613a3160f11b81840152600060228201526a4b657973496e5461626c6560a81b6030820152815180820390930183528101905261067a9061176390613cfc565b8260028560405160200161162791815260200190565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106117af576117af613ce6565b60209081029190910181019190915260408051613a3160f11b81840152600060228201526a4b657973496e5461626c6560a81b6030820152815180820390930183528101905261067a9061180290613cfc565b8260038560405160200161162791815260200190565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061184e5761184e613ce6565b60209081029190910181019190915260408051613a3160f11b81840152600060228201526a4b657973496e5461626c6560a81b6030820152815180820390930183528101905261067a906118a190613cfc565b8260048560405160200161162791815260200190565b6040805183151560f81b602082015260d883901b7fffffffffff0000000000000000000000000000000000000000000000000000001660218201528151600681830301815260026026830181815260868401855291936000936060938593909290916046019080368337019050509050878160008151811061193b5761193b613ce6565b602002602001018181525050868160018151811061195b5761195b613ce6565b60209081029190910181019190915260408051613a3160f11b81840152600060228201527f557365644b657973496e64657800000000000000000000000000000000000000603082015281518082039093018352810190526119c9906119c090613cfc565b8286868661200c565b5050505050505050565b60606000606060006119e3612082565b9050306001600160a01b03821603611a0c57611a008787876120c1565b93509350935050611a9a565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd90611a55908a908a908a90600401613d39565b600060405180830381865afa158015611a72573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611a009190810190613dcb565b93509350939050565b6000611aad612082565b9050306001600160a01b03821603611ac95761067a83836121c9565b6040517f505a181d0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063505a181d90611b109086908690600401613e38565b600060405180830381600087803b158015611b2a57600080fd5b505af1158015610241573d6000803e3d6000fd5b600080611b49612082565b9050306001600160a01b03821603611b6e57611b668585856121dc565b915050611bfa565b6040517fdbbf0e210000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063dbbf0e2190611bb790889088908890600401613e51565b602060405180830381865afa158015611bd4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b669190613e7d565b505b9392505050565b60606000611c0d612082565b9050306001600160a01b03821603611c3457611c2c8787878787612201565b915050610a36565b6040517f4dc77d970000000000000000000000000000000000000000000000000000000081526001600160a01b03821690634dc77d9790611c81908a908a908a908a908a90600401613e96565b600060405180830381865afa158015611c9e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611c2c9190810190613ecf565b6000611cd0612082565b9050306001600160a01b03821603611cf0576102bb8787878787876122cc565b6040517fc0a2895a0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c0a2895a90611d3f908a908a908a908a908a908a90600401613f30565b600060405180830381600087803b158015611d5957600080fd5b505af1158015611d6d573d6000803e3d6000fd5b5050505050505050505050565b6000611d84612082565b9050306001600160a01b03821603611da757611da2858585856122e4565b610afa565b6040517fd9c03a040000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063d9c03a0490611df2908890889088908890600401613f79565b600060405180830381600087803b158015611e0c57600080fd5b505af1158015611e20573d6000803e3d6000fd5b505050505050505050565b6000611e35612082565b9050306001600160a01b03821603611e5957611e54868686868661233d565b61022f565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090611ea69089908990899089908990600401613fa8565b600060405180830381600087803b158015611ec057600080fd5b505af1158015610527573d6000803e3d6000fd5b600080611edf612082565b9050306001600160a01b03821603611f0557611efd86868686612352565b915050611f91565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990611f50908990899089908990600401613f79565b602060405180830381865afa158015611f6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611efd9190613e7d565b949350505050565b6000611fa3612082565b9050306001600160a01b03821603611fc157611da28585858561237f565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f326290611df2908890889088908890600401613fef565b6000612016612082565b9050306001600160a01b0382160361203557611e5486868686866123ba565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb90611ea69089908990899089908990600401614023565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b0316806120bc573391505090565b919050565b60606000606060006120d2856123d0565b90506120df8787836123f3565b935060006120ec8661242c565b905080156121be576120fe8888612469565b935066ffffffffffffff841667ffffffffffffffff811115612122576121226138ce565b6040519080825280601f01601f19166020018201604052801561214c576020820181803683370190505b5092506020830160005b828160ff1610156121bb57600061216e8b8b8461247c565b9050600061218b888460ff166028026038011c64ffffffffff1690565b905061219a82826000876124fc565b6121a48185614074565b9350505080806121b390614087565b915050612156565b50505b505093509350939050565b61098082826121d7856125b4565b6126e2565b6000611f91826121ec8686612469565b9060ff166028026038011c64ffffffffff1690565b6060600061220f8787612469565b9050600061222c828760ff166028026038011c64ffffffffff1690565b9050808510158061223c57508084115b1561229c57808186101561225a576122556001866140a6565b61225c565b855b6040517f7e8578d3000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044015b60405180910390fd5b60006122a989898961247c565b90506122bf816122b988886140a6565b886129a2565b9998505050505050505050565b61022f8686868686866122df8d8d612469565b6129c5565b60006122f08585612469565b9050600061230d828560ff166028026038011c64ffffffffff1690565b905061022f8686866123268764ffffffffff87166140a6565b6040805160008152602081019091528890886129c5565b610afa858561234c8487612ddb565b85612e16565b6000610a36612361868661306f565b60ff858116601b0360080285901c1661237a8587612ddb565b6130c5565b600061238b8585612469565b905060006123a8828560ff166028026038011c64ffffffffff1690565b905061022f86868684600088886129c5565b610afa85858585856123cb8b6125b4565b613116565b600060086123e0600260206140a6565b6123ea91906140b9565b9190911c919050565b6060816000036124125750604080516020810190915260008152611bfa565b600061241e858561306f565b9050610a36818460006129a2565b6000600860018061243f600260206140a6565b61244991906140a6565b61245391906140a6565b61245d91906140b9565b8260ff911c1692915050565b6000611bfa6124788484613405565b5490565b600083836040516020016124919291906140d0565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b811561256e57602082106125265760208204840193506020828161252257612522613d23565b0691505b811561256e5760208290036000600019600883021c1990508554600885021b81198451168282161784525081851161255f57505061053d565b50600194909401939283900392015b5b602083106125905783548152600190930192601f199092019160200161256f565b821561053d576000600019600885021c198251865482169119161782525050505050565b60408051613a3160f11b60208201527f73746f726500000000000000000000000000000000000000000000000000000060228201527f5461626c6573000000000000000000000000000000000000000000000000000060308201526000910160405160208183030381529060405261262b90613cfc565b820361265757507e60030220202000000000000000000000000000000000000000000000000000919050565b60408051613a3160f11b60208201527f73746f726500000000000000000000000000000000000000000000000000000060228201527f5461626c6573000000000000000000000000000000000000000000000000000060308201526101ed916126d991016040516020818303038152906040526126d390613cfc565b8461345b565b602060006130c5565b827f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d07836040516127129190613c98565b60405180910390a2613a3160f11b837fffff000000000000000000000000000000000000000000000000000000000000161461274d57505050565b600061275884613477565b905060005b815181101561283557600082828151811061277a5761277a613ce6565b602002602001015190506127a66040826affffffffffffffffffffff191661355790919063ffffffff16565b15612822576040517f9faeaf45000000000000000000000000000000000000000000000000000000008152606082901c90639faeaf45906127ef90899089908990600401613d39565b600060405180830381600087803b15801561280957600080fd5b505af115801561281d573d6000803e3d6000fd5b505050505b508061282d8161410b565b91505061275d565b506000612842858561306f565b905061289b816000612853866123d0565b67ffffffffffffffff81111561286b5761286b6138ce565b6040519080825280601f01601f191660200182016040528015612895576020820181803683370190505b50613575565b60006128a68461242c565b11156128c75760006128b88686613405565b90506128c5816020613585565b505b60005b825181101561022f5760008382815181106128e7576128e7613ce6565b602002602001015190506129136080826affffffffffffffffffffff191661355790919063ffffffff16565b1561298f576040517f83b5c95b000000000000000000000000000000000000000000000000000000008152606082901c906383b5c95b9061295c908a908a908a90600401613d39565b600060405180830381600087803b15801561297657600080fd5b505af115801561298a573d6000803e3d6000fd5b505050505b508061299a8161410b565b9150506128ca565b60405160208101601f19603f8584010116604052838252611bf8858585846124fc565b613a3160f11b877fffff0000000000000000000000000000000000000000000000000000000000001614612a4f57613a3160f11b8788604051602001612a0d91815260200190565b60408051601f19818403018152908290527f31b46683000000000000000000000000000000000000000000000000000000008252612293939291600401614125565b6000612a6a828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff1683612a8391906140a6565b612a8d9190614074565b9050808214158015612aaf575081612aa58688614166565b64ffffffffff1614155b15612aff576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff8088166004830152808716602483015283166044820152606401612293565b818664ffffffffff161115612b50576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff87166024820152604401612293565b6000612b5d8489846135c2565b905064ffffffffff871660005b8960ff168160ff161015612b9d57612b91868260ff166028026038011c64ffffffffff1690565b90910190600101612b6a565b508a7faa63765a776145e5e6492f471ae097dfed11cd57a61bc2679dd43180422385b48b838a868b604051612bd6959493929190614184565b60405180910390a2506000612bea8b613477565b905060005b8151811015612cbf576000828281518110612c0c57612c0c613ce6565b60200260200101519050612c386010826affffffffffffffffffffff191661355790919063ffffffff16565b15612cac57606081901c6001600160a01b03166355eb5a288e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401612c7997969594939291906141ca565b600060405180830381600087803b158015612c9357600080fd5b505af1158015612ca7573d6000803e3d6000fd5b505050505b5080612cb78161410b565b915050612bef565b50828414612cd8576000612cd38c8c613405565b839055505b6000612ce58c8c8c61247c565b9050612cf9818a64ffffffffff1689613575565b5060005b8151811015612dcd576000828281518110612d1a57612d1a613ce6565b60200260200101519050612d466020826affffffffffffffffffffff191661355790919063ffffffff16565b15612dba57606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401612d8797969594939291906141ca565b600060405180830381600087803b158015612da157600080fd5b505af1158015612db5573d6000803e3d6000fd5b505050505b5080612dc58161410b565b915050612cfd565b505050505050505050505050565b600080805b8360ff16811015611bf857612e0260ff601b83900360080287901c1683614074565b915080612e0e8161410b565b915050612de0565b6000612e22858561306f565b9050847f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be858585604051612e5893929190614228565b60405180910390a2613a3160f11b857fffff0000000000000000000000000000000000000000000000000000000000001614612e94575061053d565b6000612e9f86613477565b905060005b8151811015612f7e576000828281518110612ec157612ec1613ce6565b60200260200101519050612eed6004826affffffffffffffffffffff191661355790919063ffffffff16565b15612f6b576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90612f38908b908b908b908b90600401614265565b600060405180830381600087803b158015612f5257600080fd5b505af1158015612f66573d6000803e3d6000fd5b505050505b5080612f768161410b565b915050612ea4565b50612f92828565ffffffffffff1685613575565b60005b8151811015610241576000828281518110612fb257612fb2613ce6565b60200260200101519050612fde6008826affffffffffffffffffffff191661355790919063ffffffff16565b1561305c576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190613029908b908b908b908b90600401614265565b600060405180830381600087803b15801561304357600080fd5b505af1158015613057573d6000803e3d6000fd5b505050505b50806130678161410b565b915050612f95565b600082826040516020016130849291906140d0565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b6000602082106130eb576020820484019350602082816130e7576130e7613d23565b0691505b508254600882021b602082900380841115611bf8576001850154600882021c82179150509392505050565b857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98686868660405161314c949392919061429e565b60405180910390a2613a3160f11b867fffff000000000000000000000000000000000000000000000000000000000000160361022f57600061318d87613477565b905060005b81518110156132705760008282815181106131af576131af613ce6565b602002602001015190506131db6001826affffffffffffffffffffff191661355790919063ffffffff16565b1561325d576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c9061322a908c908c908c908c908c908c906004016142dd565b600060405180830381600087803b15801561324457600080fd5b505af1158015613258573d6000803e3d6000fd5b505050505b50806132688161410b565b915050613192565b50600061327d888861306f565b90506000602087019050613295826000838a51613690565b60006132a08561242c565b11156133245760006132b28a8a613405565b878155905060208601915060008060005b6132cc8861242c565b8160ff16101561331f576132e18d8d8361247c565b92506132fc8a8260ff166028026038011c64ffffffffff1690565b915061330b8360008785613690565b6133158286614074565b94506001016132c3565b505050505b60005b835181101561052757600084828151811061334457613344613ce6565b602002602001015190506133706002826affffffffffffffffffffff191661355790919063ffffffff16565b156133f2576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf906133bf908e908e908e908e908e908e906004016142dd565b600060405180830381600087803b1580156133d957600080fd5b505af11580156133ed573d6000803e3d6000fd5b505050505b50806133fd8161410b565b915050613327565b6000828260405160200161341a9291906140d0565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b6040805160208101849052908101829052600090606001613084565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106134b1576134b1613ce6565b60209081029190910181019190915260408051613a3160f11b818401527f73746f726500000000000000000000000000000000000000000000000000000060228201527f53746f7265486f6f6b7300000000000000000000000000000000000000000000603082015281518082039093018352810190526000906135409061353890613cfc565b836000613750565b9050611f916135528260008451613775565b613805565b60008160ff16826135688560581c90565b1660ff1614905092915050565b61067a8383602084018451613690565b6000602061359483601f614074565b61359e9190614336565b6135a89084614074565b90505b8083101561067a57600083556001830192506135ab565b600064ffffffffff821115613606576040517f4767058800000000000000000000000000000000000000000000000000000000815260048101839052602401612293565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff168085106136385780850382019150613640565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b821561370a57602083106136ba576020830484019350602083816136b6576136b6613d23565b0692505b821561370a5760208390036000600019600884021c1990506008850281811c91508451811c90508119875416828216178755508183116136fb57505061053d565b50600194909401939182019190035b5b6020811061372c5781518455600190930192602090910190601f190161370b565b801561053d576000600019600883021c198554845182169119161785555050505050565b6060611f9161376085858561247c565b61376e846121ec8888612469565b60006129a2565b6000818311158015613788575083518211155b6137c4578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161229393929190614358565b602084016137d28482614074565b905060006137e085856140a6565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000611bfa83601560006060600061381f8560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161384557613845613d23565b04905060405193506020840160208202810160405281855260005b82811015613880578451871c825293870193602090910190600101613860565b50505050509392505050565b60006020828403121561389e57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611bfa57600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561390d5761390d6138ce565b604052919050565b600082601f83011261392657600080fd5b8135602067ffffffffffffffff821115613942576139426138ce565b8160051b6139518282016138e4565b928352848101820192828101908785111561396b57600080fd5b83870192505b8483101561398a57823582529183019190830190613971565b979650505050505050565b803564ffffffffff811681146120bc57600080fd5b600067ffffffffffffffff8211156139c4576139c46138ce565b50601f01601f191660200190565b600082601f8301126139e357600080fd5b81356139f66139f1826139aa565b6138e4565b818152846020838601011115613a0b57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600080600060e0888a031215613a4357600080fd5b87359650602088013567ffffffffffffffff80821115613a6257600080fd5b613a6e8b838c01613915565b975060408a0135915060ff82168214613a8657600080fd5b819650613a9560608b01613995565b9550613aa360808b01613995565b945060a08a0135935060c08a0135915080821115613ac057600080fd5b50613acd8a828b016139d2565b91505092959891949750929550565b60008060008060008060c08789031215613af557600080fd5b86359550602087013567ffffffffffffffff80821115613b1457600080fd5b613b208a838b01613915565b96506040890135915080821115613b3657600080fd5b613b428a838b016139d2565b9550606089013594506080890135915080821115613b5f57600080fd5b50613b6c89828a016139d2565b92505060a087013590509295509295509295565b600080600060608486031215613b9557600080fd5b83359250602084013567ffffffffffffffff811115613bb357600080fd5b613bbf86828701613915565b925050604084013590509250925092565b60008060008060808587031215613be657600080fd5b84359350602085013567ffffffffffffffff80821115613c0557600080fd5b613c1188838901613915565b94506040870135915065ffffffffffff82168214613c2e57600080fd5b90925060608601359080821115613c4457600080fd5b50613c51878288016139d2565b91505092959194509250565b600081518084526020808501945080840160005b83811015613c8d57815187529582019590820190600101613c71565b509495945050505050565b602081526000611bfa6020830184613c5d565b634e487b7160e01b600052601160045260246000fd5b64ffffffffff828116828216039080821115613cdf57613cdf613cab565b5092915050565b634e487b7160e01b600052603260045260246000fd5b80516020808301519190811015613d1d576000198160200360031b1b821691505b50919050565b634e487b7160e01b600052601260045260246000fd5b838152606060208201526000613d526060830185613c5d565b9050826040830152949350505050565b60005b83811015613d7d578181015183820152602001613d65565b50506000910152565b600082601f830112613d9757600080fd5b8151613da56139f1826139aa565b818152846020838601011115613dba57600080fd5b611f91826020830160208701613d62565b600080600060608486031215613de057600080fd5b835167ffffffffffffffff80821115613df857600080fd5b613e0487838801613d86565b9450602086015193506040860151915080821115613e2157600080fd5b50613e2e86828701613d86565b9150509250925092565b828152604060208201526000611f916040830184613c5d565b838152606060208201526000613e6a6060830185613c5d565b905060ff83166040830152949350505050565b600060208284031215613e8f57600080fd5b5051919050565b85815260a060208201526000613eaf60a0830187613c5d565b60ff95909516604083015250606081019290925260809091015292915050565b600060208284031215613ee157600080fd5b815167ffffffffffffffff811115613ef857600080fd5b611f9184828501613d86565b60008151808452613f1c816020860160208601613d62565b601f01601f19169290920160200192915050565b86815260c060208201526000613f4960c0830188613c5d565b60ff8716604084015264ffffffffff86811660608501528516608084015282810360a08401526122bf8185613f04565b848152608060208201526000613f926080830186613c5d565b60ff949094166040830152506060015292915050565b85815260a060208201526000613fc160a0830187613c5d565b60ff861660408401528281036060840152613fdc8186613f04565b9150508260808301529695505050505050565b8481526080602082015260006140086080830186613c5d565b60ff85166040840152828103606084015261398a8185613f04565b85815260a06020820152600061403c60a0830187613c5d565b828103604084015261404e8187613f04565b905084606084015282810360808401526140688185613f04565b98975050505050505050565b808201808211156101ed576101ed613cab565b600060ff821660ff810361409d5761409d613cab565b60010192915050565b818103818111156101ed576101ed613cab565b80820281158282048414176101ed576101ed613cab565b82815260006020808301845182860160005b828110156140fe578151845292840192908401906001016140e2565b5091979650505050505050565b6000600019820361411e5761411e613cab565b5060010190565b7fffff00000000000000000000000000000000000000000000000000000000000084168152826020820152606060408201526000610a366060830184613f04565b64ffffffffff818116838216019080821115613cdf57613cdf613cab565b60a08152600061419760a0830188613c5d565b65ffffffffffff8716602084015264ffffffffff8616604084015284606084015282810360808401526140688185613f04565b87815260e0602082015260006141e360e0830189613c5d565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c084015261421a8185613f04565b9a9950505050505050505050565b60608152600061423b6060830186613c5d565b65ffffffffffff85166020840152828103604084015261425b8185613f04565b9695505050505050565b84815260806020820152600061427e6080830186613c5d565b65ffffffffffff85166040840152828103606084015261398a8185613f04565b6080815260006142b16080830187613c5d565b82810360208401526142c38187613f04565b9050846040840152828103606084015261398a8185613f04565b86815260c0602082015260006142f660c0830188613c5d565b82810360408401526143088188613f04565b905085606084015282810360808401526143228186613f04565b9150508260a0830152979650505050505050565b60008261435357634e487b7160e01b600052601260045260246000fd5b500490565b60608152600061436b6060830186613f04565b6020830194909452506040015291905056fea164736f6c6343000815000a",
128
+ "object": "0x60a06040526040516100109061004b565b604051809103906000f08015801561002c573d6000803e3d6000fd5b506001600160a01b031660805234801561004557600080fd5b50610059565b6143aa80620018a183390190565b60805161181e6200008360003960008181610619015281816107790152610864015261181e6000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c806317d7de7c1161005b57806317d7de7c146100ec57806345ec93541461011a5780637c5b03351461012d578063e1af802c1461014057600080fd5b806301ffc9a714610082578063119df25f146100aa57806313861fb5146100d7575b600080fd5b6100956100903660046114f0565b610148565b60405190151581526020015b60405180910390f35b6100b26101e1565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100a1565b6100ea6100e536600461154f565b6101f0565b005b6040517f6b657973496e5461626c6500000000000000000000000000000000000000000081526020016100a1565b604051601f1936013581526020016100a1565b6100ea61013b36600461154f565b610222565b6100b2610948565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f79f50b5b0000000000000000000000000000000000000000000000000000000014806101db57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101eb610952565b905090565b6040517fea8b184c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000818060200190518101906102389190611600565b90506000610244610948565b60408051613a3160f11b60208201526000602282018190527f4b657973496e5461626c6500000000000000000000000000000000000000000060308301529293506060916102aa91016040516020818303038152906040526102a590611619565b610984565b6108425760408051613a3160f11b6020820152600060228201527f4b657973496e5461626c65000000000000000000000000000000000000000000603082015273ffffffffffffffffffffffffffffffffffffffff8516918291630ba51f49910160405160208183030381529060405261032390611619565b7c0500000000000000000000000000000000000000000000000000000000610349610a80565b610351610af8565b610359610c47565b610361610ccc565b604051602401610376969594939291906116ce565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1660e09490941b9390931790925290516103c39250611718565b600060405180830381855af49150503d80600081146103fe576040519150601f19603f3d011682016040523d82523d6000602084013e610403565b606091505b509092509050816104175761041781610e94565b60408051613a3160f11b6020820152600060228201527f557365644b657973496e64657800000000000000000000000000000000000000603082015273ffffffffffffffffffffffffffffffffffffffff8516918291630ba51f49910160405160208183030381529060405261048c90611619565b7e060200010500000000000000000000000000000000000000000000000000006104b4610e9c565b6104bc610f1b565b6104c4610f9a565b6104cc611064565b6040516024016104e1969594939291906116ce565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1660e09490941b93909317909252905161052e9250611718565b600060405180830381855af49150503d8060008114610569576040519150601f19603f3d011682016040523d82523d6000602084013e61056e565b606091505b509092509050816105825761058281610e94565b60408051613a3160f11b6020820152600060228201527f4b657973496e5461626c65000000000000000000000000000000000000000000603082015273ffffffffffffffffffffffffffffffffffffffff85169182916340554c3a91016040516020818303038152906040526105f790611619565b604051602481019190915273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016604482015260640160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1660e09490941b93909317909252905161068e9250611718565b600060405180830381855af49150503d80600081146106c9576040519150601f19603f3d011682016040523d82523d6000602084013e6106ce565b606091505b509092509050816106e2576106e281610e94565b60408051613a3160f11b6020820152600060228201527f557365644b657973496e64657800000000000000000000000000000000000000603082015273ffffffffffffffffffffffffffffffffffffffff85169182916340554c3a910160405160208183030381529060405261075790611619565b604051602481019190915273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016604482015260640160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1660e09490941b9390931790925290516107ee9250611718565b600060405180830381855af49150503d8060008114610829576040519150601f19603f3d011682016040523d82523d6000602084013e61082e565b606091505b509092509050816108425761084281610e94565b604080516024810186905273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081166044830152606960648084019190915283518084039091018152608490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f530f4b60000000000000000000000000000000000000000000000000000000001790529151918516916108fe9190611718565b600060405180830381855af49150503d8060008114610939576040519150601f19603f3d011682016040523d82523d6000602084013e61093e565b606091505b5050505050505050565b60006101eb61112e565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806109815750335b90565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106109bd576109bd611734565b60209081029190910181019190915260408051613a3160f11b818401527f73746f726500000000000000000000000000000000000000000000000000000060228201527f5265736f7572636549647300000000000000000000000000000000000000000060308201528151808203909301835281019052600090610a6c90610a4490611619565b8360007e0101000100000000000000000000000000000000000000000000000000000061117a565b9050610a788160f81c90565b949350505050565b60408051600180825281830190925260009182919060208083019080368337019050509050605f81600081518110610aba57610aba611734565b602002602001019060c5811115610ad357610ad361174a565b908160c5811115610ae657610ae661174a565b905250610af2816111b0565b91505090565b60408051600580825260c082019092526000918291906020820160a08036833701905050905060c181600081518110610b3357610b33611734565b602002602001019060c5811115610b4c57610b4c61174a565b908160c5811115610b5f57610b5f61174a565b8152505060c181600181518110610b7857610b78611734565b602002602001019060c5811115610b9157610b9161174a565b908160c5811115610ba457610ba461174a565b8152505060c181600281518110610bbd57610bbd611734565b602002602001019060c5811115610bd657610bd661174a565b908160c5811115610be957610be961174a565b8152505060c181600381518110610c0257610c02611734565b602002602001019060c5811115610c1b57610c1b61174a565b908160c5811115610c2e57610c2e61174a565b8152505060c181600481518110610aba57610aba611734565b604080516001808252818301909252606091816020015b6060815260200190600190039081610c5e5790505090506040518060400160405280600d81526020017f736f757263655461626c6549640000000000000000000000000000000000000081525081600081518110610cbe57610cbe611734565b602002602001018190525090565b60408051600580825260c08201909252606091816020015b6060815260200190600190039081610ce45790505090506040518060400160405280600581526020017f6b6579733000000000000000000000000000000000000000000000000000000081525081600081518110610d4457610d44611734565b60200260200101819052506040518060400160405280600581526020017f6b6579733100000000000000000000000000000000000000000000000000000081525081600181518110610d9857610d98611734565b60200260200101819052506040518060400160405280600581526020017f6b6579733200000000000000000000000000000000000000000000000000000081525081600281518110610dec57610dec611734565b60200260200101819052506040518060400160405280600581526020017f6b6579733300000000000000000000000000000000000000000000000000000081525081600381518110610e4057610e40611734565b60200260200101819052506040518060400160405280600581526020017f6b6579733400000000000000000000000000000000000000000000000000000081525081600481518110610cbe57610cbe611734565b805160208201fd5b60408051600280825260608201835260009283929190602083019080368337019050509050605f81600081518110610ed657610ed6611734565b602002602001019060c5811115610eef57610eef61174a565b908160c5811115610f0257610f0261174a565b81525050605f81600181518110610aba57610aba611734565b60408051600280825260608201835260009283929190602083019080368337019050509050606081600081518110610f5557610f55611734565b602002602001019060c5811115610f6e57610f6e61174a565b908160c5811115610f8157610f8161174a565b81525050600481600181518110610aba57610aba611734565b6040805160028082526060828101909352816020015b6060815260200190600190039081610fb05790505090506040518060400160405280600d81526020017f736f757263655461626c654964000000000000000000000000000000000000008152508160008151811061101057611010611734565b60200260200101819052506040518060400160405280600881526020017f6b6579734861736800000000000000000000000000000000000000000000000081525081600181518110610cbe57610cbe611734565b6040805160028082526060828101909352816020015b606081526020019060019003908161107a5790505090506040518060400160405280600381526020017f6861730000000000000000000000000000000000000000000000000000000000815250816000815181106110da576110da611734565b60200260200101819052506040518060400160405280600581526020017f696e64657800000000000000000000000000000000000000000000000000000081525081600181518110610cbe57610cbe611734565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e1755460009073ffffffffffffffffffffffffffffffffffffffff1680611175573391505090565b919050565b60006111a761118986866113a6565b60ff858116601b0360080285901c166111a285876113fc565b61143f565b95945050505050565b6000601c825111156111fc5781516040517f5318beb90000000000000000000000000000000000000000000000000000000081526004016111f391815260200190565b60405180910390fd5b60008080805b85518110156112d757600061124087838151811061122257611222611734565b602002602001015160c581111561123b5761123b61174a565b611490565b9050806000036112555760019092019161128d565b821561128d576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80840193506008826004601f0303028783815181106112ae576112ae611734565b602002602001015160c58111156112c7576112c761174a565b901b949094179350600101611202565b506005811115611316576040517f5318beb9000000000000000000000000000000000000000000000000000000008152600481018290526024016111f3565b8451819003600861132960026020611776565b6113339190611789565b83901b93909317926008600161134b60026020611776565b6113559190611776565b61135f9190611789565b81901b9390931792600860018061137860026020611776565b6113829190611776565b61138c9190611776565b6113969190611789565b9190911b92909217949350505050565b600082826040516020016113bb9291906117a0565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff168110156114375761142360ff601b83900360080287901c16836117ce565b91508061142f816117e1565b915050611401565b509392505050565b60006020821061146557602082048401935060208281611461576114616117fb565b0691505b508254600882021b602082900380841115611437576001850154600882021c82179150509392505050565b6000808260c58111156114a5576114a561174a565b60ff16905060618110156114bf57601f1660010192915050565b60618360c58111156114d3576114d361174a565b036114e15750601492915050565b50600092915050565b50919050565b60006020828403121561150257600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461153257600080fd5b9392505050565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561156157600080fd5b813567ffffffffffffffff8082111561157957600080fd5b818401915084601f83011261158d57600080fd5b81358181111561159f5761159f611539565b604051601f8201601f19908116603f011681019083821181831017156115c7576115c7611539565b816040528281528760208487010111156115e057600080fd5b826020860160208301376000928101602001929092525095945050505050565b60006020828403121561161257600080fd5b5051919050565b805160208083015191908110156114ea5760001960209190910360031b1b16919050565b60005b83811015611658578181015183820152602001611640565b50506000910152565b600081518084526020808501808196508360051b8101915082860160005b858110156116c1578284038952815180518086526116a28188880189850161163d565b99860199601f01601f191694909401850193509084019060010161167f565b5091979650505050505050565b86815285602082015284604082015283606082015260c0608082015260006116f960c0830185611661565b82810360a084015261170b8185611661565b9998505050505050505050565b6000825161172a81846020870161163d565b9190910192915050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b818103818111156101db576101db611760565b80820281158282048414176101db576101db611760565b82815260006020808301845182860160005b828110156116c1578151845292840192908401906001016117b2565b808201808211156101db576101db611760565b600060001982036117f4576117f4611760565b5060010190565b634e487b7160e01b600052601260045260246000fdfea164736f6c6343000815000a608060405234801561001057600080fd5b5061438a806100206000396000f3fe608060405234801561001057600080fd5b50600436106100a35760003560e01c80636358453311610076578063964f667d1161005b578063964f667d146101265780639faeaf4514610134578063a8ba87211461014757600080fd5b8063635845331461010557806383b5c95b1461011857600080fd5b806301ffc9a7146100a857806355eb5a28146100cf57806357066c9c146100e45780635b28cdaf146100f7575b600080fd5b6100bb6100b636600461388c565b61015a565b604051901515815260200160405180910390f35b6100e26100dd366004613a28565b6101f3565b005b6100e26100f2366004613adc565b610225565b6100e26100dd366004613adc565b6100e2610113366004613a28565b610237565b6100e26100dd366004613b80565b6100e26100dd366004613bd0565b6100e2610142366004613b80565b61024a565b6100e2610155366004613bd0565b610533565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f198cf0cd0000000000000000000000000000000000000000000000000000000014806101ed57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b6040517fcfd7320c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61022f8686610543565b505050505050565b6102418787610543565b50505050505050565b60008260405160200161025d9190613c98565b604051602081830303815290604052805190602001209050600080610282868461067f565b91509150811561022f576102968684610797565b60006102a18761085d565b90508064ffffffffff166001036102c0576102bb87610905565b610241565b855115610241576000865167ffffffffffffffff8111156102e3576102e36138ce565b60405190808252806020026020018201604052801561030c578160200160208202803683370190505b509050600061032c89610320600186613cc1565b64ffffffffff16610984565b9050808260008151811061034257610342613ce6565b602002602001018181525050610360898564ffffffffff1683610a3f565b61036989610b01565b6001885111156104f15761038e89610382600186613cc1565b64ffffffffff16610b94565b905080826001815181106103a4576103a4613ce6565b6020026020010181815250506103c2898564ffffffffff1683610c3b565b6103cb89610cf6565b6002885111156104f1576103f0896103e4600186613cc1565b64ffffffffff16610d89565b9050808260028151811061040657610406613ce6565b602002602001018181525050610424898564ffffffffff1683610e30565b61042d89610eeb565b6003885111156104f15761045289610446600186613cc1565b64ffffffffff16610f7e565b9050808260038151811061046857610468613ce6565b602002602001018181525050610486898564ffffffffff1683611025565b61048f896110e0565b6004885111156104f1576104b4896104a8600186613cc1565b64ffffffffff16611173565b905080826004815181106104ca576104ca613ce6565b6020026020010181815250506104e8898564ffffffffff168361121a565b6104f1896112d5565b6000826040516020016105049190613c98565b6040516020818303038152906040528051906020012090506105278a8287611368565b50505050505050505050565b61053d8484610543565b50505050565b6000816040516020016105569190613c98565b604051602081830303815290604052805190602001209050610578838261148e565b61067a5760006105878461085d565b83519091501561066d576105b584846000815181106105a8576105a8613ce6565b6020026020010151611588565b60018351111561066d576105e384846001815181106105d6576105d6613ce6565b602002602001015161163b565b60028351111561066d57610611848460028151811061060457610604613ce6565b60200260200101516116da565b60038351111561066d5761063f848460038151811061063257610632613ce6565b6020026020010151611779565b60048351111561066d5761066d848460048151811061066057610660613ce6565b6020026020010151611818565b61053d84836001846118b7565b505050565b60408051600280825260608201835260009283928392909160208301908036833701905050905084816000815181106106ba576106ba613ce6565b60200260200101818152505083816001815181106106da576106da613ce6565b60209081029190910181019190915260408051613a3160f11b928101929092526000602283018190527f557365644b657973496e6465780000000000000000000000000000000000000060308401529182918291610771910160405160208183030381529060405261074b90613cfc565b857e060200010500000000000000000000000000000000000000000000000000006119d3565b5050602081015160219091015160f89190911c9960d89190911c98509650505050505050565b60408051600280825260608201835260009260208301908036833701905050905082816000815181106107cc576107cc613ce6565b60200260200101818152505081816001815181106107ec576107ec613ce6565b60209081029190910181019190915260408051613a3160f11b92810192909252600060228301527f557365644b657973496e64657800000000000000000000000000000000000000603083015261067a91015b60405160208183030381529060405261085790613cfc565b82611aa3565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061089657610896613ce6565b60209081029190910181019190915260408051613a3160f11b928101929092526000602283018190526a4b657973496e5461626c6560a81b6030840152916108f991016040516020818303038152906040526108f190613cfc565b836000611b3e565b60209004949350505050565b60408051600180825281830190925260009160208083019080368337019050509050818160008151811061093b5761093b613ce6565b60209081029190910181019190915260408051613a3160f11b92810192909252600060228301526a4b657973496e5461626c6560a81b6030830152610980910161083f565b5050565b6040805160018082528183019092526000918291906020808301908036833701905050905083816000815181106109bd576109bd613ce6565b60209081029190910181019190915260408051613a3160f11b928101929092526000602283018190526a4b657973496e5461626c6560a81b603084015291610a2b9101604051602081830303815290604052610a1890613cfc565b8360008760200288600101602002611c01565b9050610a3681613cfc565b95945050505050565b604080516001808252818301909252600091602080830190803683370190505090508381600081518110610a7557610a75613ce6565b602002602001018181525050600082604051602001610a9691815260200190565b60408051601f19818403018152828252613a3160f11b6020840152600060228401526a4b657973496e5461626c6560a81b60308401529250610afa9101604051602081830303815290604052610aeb90613cfc565b83600087602002855186611cc6565b5050505050565b604080516001808252818301909252600091602080830190803683370190505090508181600081518110610b3757610b37613ce6565b60209081029190910181019190915260408051613a3160f11b81840152600060228201526a4b657973496e5461626c6560a81b6030820152815180820390930183528101905261098090610b8a90613cfc565b8260006020611d7a565b604080516001808252818301909252600091829190602080830190803683370190505090508381600081518110610bcd57610bcd613ce6565b60209081029190910181019190915260408051613a3160f11b928101929092526000602283018190526a4b657973496e5461626c6560a81b603084015291610a2b9101604051602081830303815290604052610c2890613cfc565b8360018760200288600101602002611c01565b604080516001808252818301909252600091602080830190803683370190505090508381600081518110610c7157610c71613ce6565b602002602001018181525050600082604051602001610c9291815260200190565b60408051601f19818403018152828252613a3160f11b6020840152600060228401526a4b657973496e5461626c6560a81b60308401529250610afa9101604051602081830303815290604052610ce790613cfc565b83600187602002855186611cc6565b604080516001808252818301909252600091602080830190803683370190505090508181600081518110610d2c57610d2c613ce6565b60209081029190910181019190915260408051613a3160f11b81840152600060228201526a4b657973496e5461626c6560a81b6030820152815180820390930183528101905261098090610d7f90613cfc565b8260016020611d7a565b604080516001808252818301909252600091829190602080830190803683370190505090508381600081518110610dc257610dc2613ce6565b60209081029190910181019190915260408051613a3160f11b928101929092526000602283018190526a4b657973496e5461626c6560a81b603084015291610a2b9101604051602081830303815290604052610e1d90613cfc565b8360028760200288600101602002611c01565b604080516001808252818301909252600091602080830190803683370190505090508381600081518110610e6657610e66613ce6565b602002602001018181525050600082604051602001610e8791815260200190565b60408051601f19818403018152828252613a3160f11b6020840152600060228401526a4b657973496e5461626c6560a81b60308401529250610afa9101604051602081830303815290604052610edc90613cfc565b83600287602002855186611cc6565b604080516001808252818301909252600091602080830190803683370190505090508181600081518110610f2157610f21613ce6565b60209081029190910181019190915260408051613a3160f11b81840152600060228201526a4b657973496e5461626c6560a81b6030820152815180820390930183528101905261098090610f7490613cfc565b8260026020611d7a565b604080516001808252818301909252600091829190602080830190803683370190505090508381600081518110610fb757610fb7613ce6565b60209081029190910181019190915260408051613a3160f11b928101929092526000602283018190526a4b657973496e5461626c6560a81b603084015291610a2b910160405160208183030381529060405261101290613cfc565b8360038760200288600101602002611c01565b60408051600180825281830190925260009160208083019080368337019050509050838160008151811061105b5761105b613ce6565b60200260200101818152505060008260405160200161107c91815260200190565b60408051601f19818403018152828252613a3160f11b6020840152600060228401526a4b657973496e5461626c6560a81b60308401529250610afa91016040516020818303038152906040526110d190613cfc565b83600387602002855186611cc6565b60408051600180825281830190925260009160208083019080368337019050509050818160008151811061111657611116613ce6565b60209081029190910181019190915260408051613a3160f11b81840152600060228201526a4b657973496e5461626c6560a81b603082015281518082039093018352810190526109809061116990613cfc565b8260036020611d7a565b6040805160018082528183019092526000918291906020808301908036833701905050905083816000815181106111ac576111ac613ce6565b60209081029190910181019190915260408051613a3160f11b928101929092526000602283018190526a4b657973496e5461626c6560a81b603084015291610a2b910160405160208183030381529060405261120790613cfc565b8360048760200288600101602002611c01565b60408051600180825281830190925260009160208083019080368337019050509050838160008151811061125057611250613ce6565b60200260200101818152505060008260405160200161127191815260200190565b60408051601f19818403018152828252613a3160f11b6020840152600060228401526a4b657973496e5461626c6560a81b60308401529250610afa91016040516020818303038152906040526112c690613cfc565b83600487602002855186611cc6565b60408051600180825281830190925260009160208083019080368337019050509050818160008151811061130b5761130b613ce6565b60209081029190910181019190915260408051613a3160f11b81840152600060228201526a4b657973496e5461626c6560a81b603082015281518082039093018352810190526109809061135e90613cfc565b8260046020611d7a565b604080516002808252606082018352600092602083019080368337019050509050838160008151811061139d5761139d613ce6565b60200260200101818152505082816001815181106113bd576113bd613ce6565b60209081029190910181019190915260408051613a3160f11b81840152600060228201527f557365644b657973496e646578000000000000000000000000000000000000006030820152815180820390930183528101905261053d9061142290613cfc565b6040517fffffffffff00000000000000000000000000000000000000000000000000000060d886901b166020820152839060019060250160408051601f198184030181529190527e06020001050000000000000000000000000000000000000000000000000000611e2b565b6040805160028082526060820183526000928392919060208301908036833701905050905083816000815181106114c7576114c7613ce6565b60200260200101818152505082816001815181106114e7576114e7613ce6565b60209081029190910181019190915260408051613a3160f11b928101929092526000602283018190527f557365644b657973496e6465780000000000000000000000000000000000000060308401529161157c910160405160208183030381529060405261155490613cfc565b8360007e06020001050000000000000000000000000000000000000000000000000000611ed4565b9050610a368160f81c90565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106115be576115be613ce6565b60209081029190910181019190915260408051613a3160f11b81840152600060228201526a4b657973496e5461626c6560a81b6030820152815180820390930183528101905261067a9061161190613cfc565b8260008560405160200161162791815260200190565b604051602081830303815290604052611f99565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061167157611671613ce6565b60209081029190910181019190915260408051613a3160f11b81840152600060228201526a4b657973496e5461626c6560a81b6030820152815180820390930183528101905261067a906116c490613cfc565b8260018560405160200161162791815260200190565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061171057611710613ce6565b60209081029190910181019190915260408051613a3160f11b81840152600060228201526a4b657973496e5461626c6560a81b6030820152815180820390930183528101905261067a9061176390613cfc565b8260028560405160200161162791815260200190565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106117af576117af613ce6565b60209081029190910181019190915260408051613a3160f11b81840152600060228201526a4b657973496e5461626c6560a81b6030820152815180820390930183528101905261067a9061180290613cfc565b8260038560405160200161162791815260200190565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061184e5761184e613ce6565b60209081029190910181019190915260408051613a3160f11b81840152600060228201526a4b657973496e5461626c6560a81b6030820152815180820390930183528101905261067a906118a190613cfc565b8260048560405160200161162791815260200190565b6040805183151560f81b602082015260d883901b7fffffffffff0000000000000000000000000000000000000000000000000000001660218201528151600681830301815260026026830181815260868401855291936000936060938593909290916046019080368337019050509050878160008151811061193b5761193b613ce6565b602002602001018181525050868160018151811061195b5761195b613ce6565b60209081029190910181019190915260408051613a3160f11b81840152600060228201527f557365644b657973496e64657800000000000000000000000000000000000000603082015281518082039093018352810190526119c9906119c090613cfc565b8286868661200c565b5050505050505050565b60606000606060006119e3612082565b9050306001600160a01b03821603611a0c57611a008787876120c1565b93509350935050611a9a565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd90611a55908a908a908a90600401613d39565b600060405180830381865afa158015611a72573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611a009190810190613dcb565b93509350939050565b6000611aad612082565b9050306001600160a01b03821603611ac95761067a83836121c9565b6040517f505a181d0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063505a181d90611b109086908690600401613e38565b600060405180830381600087803b158015611b2a57600080fd5b505af1158015610241573d6000803e3d6000fd5b600080611b49612082565b9050306001600160a01b03821603611b6e57611b668585856121dc565b915050611bfa565b6040517fdbbf0e210000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063dbbf0e2190611bb790889088908890600401613e51565b602060405180830381865afa158015611bd4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b669190613e7d565b505b9392505050565b60606000611c0d612082565b9050306001600160a01b03821603611c3457611c2c8787878787612201565b915050610a36565b6040517f4dc77d970000000000000000000000000000000000000000000000000000000081526001600160a01b03821690634dc77d9790611c81908a908a908a908a908a90600401613e96565b600060405180830381865afa158015611c9e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611c2c9190810190613ecf565b6000611cd0612082565b9050306001600160a01b03821603611cf0576102bb8787878787876122cc565b6040517fc0a2895a0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c0a2895a90611d3f908a908a908a908a908a908a90600401613f30565b600060405180830381600087803b158015611d5957600080fd5b505af1158015611d6d573d6000803e3d6000fd5b5050505050505050505050565b6000611d84612082565b9050306001600160a01b03821603611da757611da2858585856122e4565b610afa565b6040517fd9c03a040000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063d9c03a0490611df2908890889088908890600401613f79565b600060405180830381600087803b158015611e0c57600080fd5b505af1158015611e20573d6000803e3d6000fd5b505050505050505050565b6000611e35612082565b9050306001600160a01b03821603611e5957611e54868686868661233d565b61022f565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090611ea69089908990899089908990600401613fa8565b600060405180830381600087803b158015611ec057600080fd5b505af1158015610527573d6000803e3d6000fd5b600080611edf612082565b9050306001600160a01b03821603611f0557611efd86868686612352565b915050611f91565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990611f50908990899089908990600401613f79565b602060405180830381865afa158015611f6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611efd9190613e7d565b949350505050565b6000611fa3612082565b9050306001600160a01b03821603611fc157611da28585858561237f565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f326290611df2908890889088908890600401613fef565b6000612016612082565b9050306001600160a01b0382160361203557611e5486868686866123ba565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb90611ea69089908990899089908990600401614023565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b0316806120bc573391505090565b919050565b60606000606060006120d2856123d0565b90506120df8787836123f3565b935060006120ec8661242c565b905080156121be576120fe8888612469565b935066ffffffffffffff841667ffffffffffffffff811115612122576121226138ce565b6040519080825280601f01601f19166020018201604052801561214c576020820181803683370190505b5092506020830160005b828160ff1610156121bb57600061216e8b8b8461247c565b9050600061218b888460ff166028026038011c64ffffffffff1690565b905061219a82826000876124fc565b6121a48185614074565b9350505080806121b390614087565b915050612156565b50505b505093509350939050565b61098082826121d7856125b4565b6126e2565b6000611f91826121ec8686612469565b9060ff166028026038011c64ffffffffff1690565b6060600061220f8787612469565b9050600061222c828760ff166028026038011c64ffffffffff1690565b9050808510158061223c57508084115b1561229c57808186101561225a576122556001866140a6565b61225c565b855b6040517f7e8578d3000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044015b60405180910390fd5b60006122a989898961247c565b90506122bf816122b988886140a6565b886129a2565b9998505050505050505050565b61022f8686868686866122df8d8d612469565b6129c5565b60006122f08585612469565b9050600061230d828560ff166028026038011c64ffffffffff1690565b905061022f8686866123268764ffffffffff87166140a6565b6040805160008152602081019091528890886129c5565b610afa858561234c8487612ddb565b85612e16565b6000610a36612361868661306f565b60ff858116601b0360080285901c1661237a8587612ddb565b6130c5565b600061238b8585612469565b905060006123a8828560ff166028026038011c64ffffffffff1690565b905061022f86868684600088886129c5565b610afa85858585856123cb8b6125b4565b613116565b600060086123e0600260206140a6565b6123ea91906140b9565b9190911c919050565b6060816000036124125750604080516020810190915260008152611bfa565b600061241e858561306f565b9050610a36818460006129a2565b6000600860018061243f600260206140a6565b61244991906140a6565b61245391906140a6565b61245d91906140b9565b8260ff911c1692915050565b6000611bfa6124788484613405565b5490565b600083836040516020016124919291906140d0565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b811561256e57602082106125265760208204840193506020828161252257612522613d23565b0691505b811561256e5760208290036000600019600883021c1990508554600885021b81198451168282161784525081851161255f57505061053d565b50600194909401939283900392015b5b602083106125905783548152600190930192601f199092019160200161256f565b821561053d576000600019600885021c198251865482169119161782525050505050565b60408051613a3160f11b60208201527f73746f726500000000000000000000000000000000000000000000000000000060228201527f5461626c6573000000000000000000000000000000000000000000000000000060308201526000910160405160208183030381529060405261262b90613cfc565b820361265757507e60030220202000000000000000000000000000000000000000000000000000919050565b60408051613a3160f11b60208201527f73746f726500000000000000000000000000000000000000000000000000000060228201527f5461626c6573000000000000000000000000000000000000000000000000000060308201526101ed916126d991016040516020818303038152906040526126d390613cfc565b8461345b565b602060006130c5565b827f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d07836040516127129190613c98565b60405180910390a2613a3160f11b837fffff000000000000000000000000000000000000000000000000000000000000161461274d57505050565b600061275884613477565b905060005b815181101561283557600082828151811061277a5761277a613ce6565b602002602001015190506127a66040826affffffffffffffffffffff191661355790919063ffffffff16565b15612822576040517f9faeaf45000000000000000000000000000000000000000000000000000000008152606082901c90639faeaf45906127ef90899089908990600401613d39565b600060405180830381600087803b15801561280957600080fd5b505af115801561281d573d6000803e3d6000fd5b505050505b508061282d8161410b565b91505061275d565b506000612842858561306f565b905061289b816000612853866123d0565b67ffffffffffffffff81111561286b5761286b6138ce565b6040519080825280601f01601f191660200182016040528015612895576020820181803683370190505b50613575565b60006128a68461242c565b11156128c75760006128b88686613405565b90506128c5816020613585565b505b60005b825181101561022f5760008382815181106128e7576128e7613ce6565b602002602001015190506129136080826affffffffffffffffffffff191661355790919063ffffffff16565b1561298f576040517f83b5c95b000000000000000000000000000000000000000000000000000000008152606082901c906383b5c95b9061295c908a908a908a90600401613d39565b600060405180830381600087803b15801561297657600080fd5b505af115801561298a573d6000803e3d6000fd5b505050505b508061299a8161410b565b9150506128ca565b60405160208101601f19603f8584010116604052838252611bf8858585846124fc565b613a3160f11b877fffff0000000000000000000000000000000000000000000000000000000000001614612a4f57613a3160f11b8788604051602001612a0d91815260200190565b60408051601f19818403018152908290527f31b46683000000000000000000000000000000000000000000000000000000008252612293939291600401614125565b6000612a6a828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff1683612a8391906140a6565b612a8d9190614074565b9050808214158015612aaf575081612aa58688614166565b64ffffffffff1614155b15612aff576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff8088166004830152808716602483015283166044820152606401612293565b818664ffffffffff161115612b50576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff87166024820152604401612293565b6000612b5d8489846135c2565b905064ffffffffff871660005b8960ff168160ff161015612b9d57612b91868260ff166028026038011c64ffffffffff1690565b90910190600101612b6a565b508a7faa63765a776145e5e6492f471ae097dfed11cd57a61bc2679dd43180422385b48b838a868b604051612bd6959493929190614184565b60405180910390a2506000612bea8b613477565b905060005b8151811015612cbf576000828281518110612c0c57612c0c613ce6565b60200260200101519050612c386010826affffffffffffffffffffff191661355790919063ffffffff16565b15612cac57606081901c6001600160a01b03166355eb5a288e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401612c7997969594939291906141ca565b600060405180830381600087803b158015612c9357600080fd5b505af1158015612ca7573d6000803e3d6000fd5b505050505b5080612cb78161410b565b915050612bef565b50828414612cd8576000612cd38c8c613405565b839055505b6000612ce58c8c8c61247c565b9050612cf9818a64ffffffffff1689613575565b5060005b8151811015612dcd576000828281518110612d1a57612d1a613ce6565b60200260200101519050612d466020826affffffffffffffffffffff191661355790919063ffffffff16565b15612dba57606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401612d8797969594939291906141ca565b600060405180830381600087803b158015612da157600080fd5b505af1158015612db5573d6000803e3d6000fd5b505050505b5080612dc58161410b565b915050612cfd565b505050505050505050505050565b600080805b8360ff16811015611bf857612e0260ff601b83900360080287901c1683614074565b915080612e0e8161410b565b915050612de0565b6000612e22858561306f565b9050847f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be858585604051612e5893929190614228565b60405180910390a2613a3160f11b857fffff0000000000000000000000000000000000000000000000000000000000001614612e94575061053d565b6000612e9f86613477565b905060005b8151811015612f7e576000828281518110612ec157612ec1613ce6565b60200260200101519050612eed6004826affffffffffffffffffffff191661355790919063ffffffff16565b15612f6b576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90612f38908b908b908b908b90600401614265565b600060405180830381600087803b158015612f5257600080fd5b505af1158015612f66573d6000803e3d6000fd5b505050505b5080612f768161410b565b915050612ea4565b50612f92828565ffffffffffff1685613575565b60005b8151811015610241576000828281518110612fb257612fb2613ce6565b60200260200101519050612fde6008826affffffffffffffffffffff191661355790919063ffffffff16565b1561305c576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190613029908b908b908b908b90600401614265565b600060405180830381600087803b15801561304357600080fd5b505af1158015613057573d6000803e3d6000fd5b505050505b50806130678161410b565b915050612f95565b600082826040516020016130849291906140d0565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b6000602082106130eb576020820484019350602082816130e7576130e7613d23565b0691505b508254600882021b602082900380841115611bf8576001850154600882021c82179150509392505050565b857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98686868660405161314c949392919061429e565b60405180910390a2613a3160f11b867fffff000000000000000000000000000000000000000000000000000000000000160361022f57600061318d87613477565b905060005b81518110156132705760008282815181106131af576131af613ce6565b602002602001015190506131db6001826affffffffffffffffffffff191661355790919063ffffffff16565b1561325d576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c9061322a908c908c908c908c908c908c906004016142dd565b600060405180830381600087803b15801561324457600080fd5b505af1158015613258573d6000803e3d6000fd5b505050505b50806132688161410b565b915050613192565b50600061327d888861306f565b90506000602087019050613295826000838a51613690565b60006132a08561242c565b11156133245760006132b28a8a613405565b878155905060208601915060008060005b6132cc8861242c565b8160ff16101561331f576132e18d8d8361247c565b92506132fc8a8260ff166028026038011c64ffffffffff1690565b915061330b8360008785613690565b6133158286614074565b94506001016132c3565b505050505b60005b835181101561052757600084828151811061334457613344613ce6565b602002602001015190506133706002826affffffffffffffffffffff191661355790919063ffffffff16565b156133f2576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf906133bf908e908e908e908e908e908e906004016142dd565b600060405180830381600087803b1580156133d957600080fd5b505af11580156133ed573d6000803e3d6000fd5b505050505b50806133fd8161410b565b915050613327565b6000828260405160200161341a9291906140d0565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b6040805160208101849052908101829052600090606001613084565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106134b1576134b1613ce6565b60209081029190910181019190915260408051613a3160f11b818401527f73746f726500000000000000000000000000000000000000000000000000000060228201527f53746f7265486f6f6b7300000000000000000000000000000000000000000000603082015281518082039093018352810190526000906135409061353890613cfc565b836000613750565b9050611f916135528260008451613775565b613805565b60008160ff16826135688560581c90565b1660ff1614905092915050565b61067a8383602084018451613690565b6000602061359483601f614074565b61359e9190614336565b6135a89084614074565b90505b8083101561067a57600083556001830192506135ab565b600064ffffffffff821115613606576040517f4767058800000000000000000000000000000000000000000000000000000000815260048101839052602401612293565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff168085106136385780850382019150613640565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b821561370a57602083106136ba576020830484019350602083816136b6576136b6613d23565b0692505b821561370a5760208390036000600019600884021c1990506008850281811c91508451811c90508119875416828216178755508183116136fb57505061053d565b50600194909401939182019190035b5b6020811061372c5781518455600190930192602090910190601f190161370b565b801561053d576000600019600883021c198554845182169119161785555050505050565b6060611f9161376085858561247c565b61376e846121ec8888612469565b60006129a2565b6000818311158015613788575083518211155b6137c4578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161229393929190614358565b602084016137d28482614074565b905060006137e085856140a6565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000611bfa83601560006060600061381f8560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161384557613845613d23565b04905060405193506020840160208202810160405281855260005b82811015613880578451871c825293870193602090910190600101613860565b50505050509392505050565b60006020828403121561389e57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611bfa57600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561390d5761390d6138ce565b604052919050565b600082601f83011261392657600080fd5b8135602067ffffffffffffffff821115613942576139426138ce565b8160051b6139518282016138e4565b928352848101820192828101908785111561396b57600080fd5b83870192505b8483101561398a57823582529183019190830190613971565b979650505050505050565b803564ffffffffff811681146120bc57600080fd5b600067ffffffffffffffff8211156139c4576139c46138ce565b50601f01601f191660200190565b600082601f8301126139e357600080fd5b81356139f66139f1826139aa565b6138e4565b818152846020838601011115613a0b57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600080600060e0888a031215613a4357600080fd5b87359650602088013567ffffffffffffffff80821115613a6257600080fd5b613a6e8b838c01613915565b975060408a0135915060ff82168214613a8657600080fd5b819650613a9560608b01613995565b9550613aa360808b01613995565b945060a08a0135935060c08a0135915080821115613ac057600080fd5b50613acd8a828b016139d2565b91505092959891949750929550565b60008060008060008060c08789031215613af557600080fd5b86359550602087013567ffffffffffffffff80821115613b1457600080fd5b613b208a838b01613915565b96506040890135915080821115613b3657600080fd5b613b428a838b016139d2565b9550606089013594506080890135915080821115613b5f57600080fd5b50613b6c89828a016139d2565b92505060a087013590509295509295509295565b600080600060608486031215613b9557600080fd5b83359250602084013567ffffffffffffffff811115613bb357600080fd5b613bbf86828701613915565b925050604084013590509250925092565b60008060008060808587031215613be657600080fd5b84359350602085013567ffffffffffffffff80821115613c0557600080fd5b613c1188838901613915565b94506040870135915065ffffffffffff82168214613c2e57600080fd5b90925060608601359080821115613c4457600080fd5b50613c51878288016139d2565b91505092959194509250565b600081518084526020808501945080840160005b83811015613c8d57815187529582019590820190600101613c71565b509495945050505050565b602081526000611bfa6020830184613c5d565b634e487b7160e01b600052601160045260246000fd5b64ffffffffff828116828216039080821115613cdf57613cdf613cab565b5092915050565b634e487b7160e01b600052603260045260246000fd5b80516020808301519190811015613d1d576000198160200360031b1b821691505b50919050565b634e487b7160e01b600052601260045260246000fd5b838152606060208201526000613d526060830185613c5d565b9050826040830152949350505050565b60005b83811015613d7d578181015183820152602001613d65565b50506000910152565b600082601f830112613d9757600080fd5b8151613da56139f1826139aa565b818152846020838601011115613dba57600080fd5b611f91826020830160208701613d62565b600080600060608486031215613de057600080fd5b835167ffffffffffffffff80821115613df857600080fd5b613e0487838801613d86565b9450602086015193506040860151915080821115613e2157600080fd5b50613e2e86828701613d86565b9150509250925092565b828152604060208201526000611f916040830184613c5d565b838152606060208201526000613e6a6060830185613c5d565b905060ff83166040830152949350505050565b600060208284031215613e8f57600080fd5b5051919050565b85815260a060208201526000613eaf60a0830187613c5d565b60ff95909516604083015250606081019290925260809091015292915050565b600060208284031215613ee157600080fd5b815167ffffffffffffffff811115613ef857600080fd5b611f9184828501613d86565b60008151808452613f1c816020860160208601613d62565b601f01601f19169290920160200192915050565b86815260c060208201526000613f4960c0830188613c5d565b60ff8716604084015264ffffffffff86811660608501528516608084015282810360a08401526122bf8185613f04565b848152608060208201526000613f926080830186613c5d565b60ff949094166040830152506060015292915050565b85815260a060208201526000613fc160a0830187613c5d565b60ff861660408401528281036060840152613fdc8186613f04565b9150508260808301529695505050505050565b8481526080602082015260006140086080830186613c5d565b60ff85166040840152828103606084015261398a8185613f04565b85815260a06020820152600061403c60a0830187613c5d565b828103604084015261404e8187613f04565b905084606084015282810360808401526140688185613f04565b98975050505050505050565b808201808211156101ed576101ed613cab565b600060ff821660ff810361409d5761409d613cab565b60010192915050565b818103818111156101ed576101ed613cab565b80820281158282048414176101ed576101ed613cab565b82815260006020808301845182860160005b828110156140fe578151845292840192908401906001016140e2565b5091979650505050505050565b6000600019820361411e5761411e613cab565b5060010190565b7fffff00000000000000000000000000000000000000000000000000000000000084168152826020820152606060408201526000610a366060830184613f04565b64ffffffffff818116838216019080821115613cdf57613cdf613cab565b60a08152600061419760a0830188613c5d565b65ffffffffffff8716602084015264ffffffffff8616604084015284606084015282810360808401526140688185613f04565b87815260e0602082015260006141e360e0830189613c5d565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c084015261421a8185613f04565b9a9950505050505050505050565b60608152600061423b6060830186613c5d565b65ffffffffffff85166020840152828103604084015261425b8185613f04565b9695505050505050565b84815260806020820152600061427e6080830186613c5d565b65ffffffffffff85166040840152828103606084015261398a8185613f04565b6080815260006142b16080830187613c5d565b82810360208401526142c38187613f04565b9050846040840152828103606084015261398a8185613f04565b86815260c0602082015260006142f660c0830188613c5d565b82810360408401526143088188613f04565b905085606084015282810360808401526143228186613f04565b9150508260a0830152979650505050505050565b60008261435357634e487b7160e01b600052601260045260246000fd5b500490565b60608152600061436b6060830186613f04565b6020830194909452506040015291905056fea164736f6c6343000815000a",
129
129
  "sourceMap": "1419:2624:114:-:0;;;1694:21;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1653:62:114;;;1419:2624;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;",
130
130
  "linkReferences": {}
131
131
  },
132
132
  "deployedBytecode": {
133
- "object": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c806317d7de7c1161005b57806317d7de7c146100ec57806345ec93541461011a5780637c5b03351461012d578063e1af802c1461014057600080fd5b806301ffc9a714610082578063119df25f146100aa57806313861fb5146100d7575b600080fd5b6100956100903660046114e6565b610148565b60405190151581526020015b60405180910390f35b6100b26101e1565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100a1565b6100ea6100e5366004611545565b610213565b005b6040517f6b657973496e5461626c6500000000000000000000000000000000000000000081526020016100a1565b604051601f1936013581526020016100a1565b6100ea61013b366004611545565b610245565b6100b261096b565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f79f50b5b0000000000000000000000000000000000000000000000000000000014806101db57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806102105750335b90565b6040517fea8b184c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008180602001905181019061025b91906115f6565b9050600061026761096b565b60408051613a3160f11b60208201526000602282018190527f4b657973496e5461626c6500000000000000000000000000000000000000000060308301529293506060916102cd91016040516020818303038152906040526102c89061160f565b61097a565b6108655760408051613a3160f11b6020820152600060228201527f4b657973496e5461626c65000000000000000000000000000000000000000000603082015273ffffffffffffffffffffffffffffffffffffffff8516918291630ba51f4991016040516020818303038152906040526103469061160f565b7c050000000000000000000000000000000000000000000000000000000061036c610a76565b610374610aee565b61037c610c3d565b610384610cc2565b604051602401610399969594939291906116c4565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1660e09490941b9390931790925290516103e6925061170e565b600060405180830381855af49150503d8060008114610421576040519150601f19603f3d011682016040523d82523d6000602084013e610426565b606091505b5090925090508161043a5761043a81610e8a565b60408051613a3160f11b6020820152600060228201527f557365644b657973496e64657800000000000000000000000000000000000000603082015273ffffffffffffffffffffffffffffffffffffffff8516918291630ba51f4991016040516020818303038152906040526104af9061160f565b7e060200010500000000000000000000000000000000000000000000000000006104d7610e92565b6104df610f11565b6104e7610f90565b6104ef61105a565b604051602401610504969594939291906116c4565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1660e09490941b939093179092529051610551925061170e565b600060405180830381855af49150503d806000811461058c576040519150601f19603f3d011682016040523d82523d6000602084013e610591565b606091505b509092509050816105a5576105a581610e8a565b60408051613a3160f11b6020820152600060228201527f4b657973496e5461626c65000000000000000000000000000000000000000000603082015273ffffffffffffffffffffffffffffffffffffffff85169182916340554c3a910160405160208183030381529060405261061a9061160f565b604051602481019190915273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016604482015260640160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1660e09490941b9390931790925290516106b1925061170e565b600060405180830381855af49150503d80600081146106ec576040519150601f19603f3d011682016040523d82523d6000602084013e6106f1565b606091505b509092509050816107055761070581610e8a565b60408051613a3160f11b6020820152600060228201527f557365644b657973496e64657800000000000000000000000000000000000000603082015273ffffffffffffffffffffffffffffffffffffffff85169182916340554c3a910160405160208183030381529060405261077a9061160f565b604051602481019190915273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016604482015260640160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1660e09490941b939093179092529051610811925061170e565b600060405180830381855af49150503d806000811461084c576040519150601f19603f3d011682016040523d82523d6000602084013e610851565b606091505b509092509050816108655761086581610e8a565b604080516024810186905273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081166044830152606960648084019190915283518084039091018152608490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f530f4b6000000000000000000000000000000000000000000000000000000000179052915191851691610921919061170e565b600060405180830381855af49150503d806000811461095c576040519150601f19603f3d011682016040523d82523d6000602084013e610961565b606091505b5050505050505050565b6000610975611124565b905090565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106109b3576109b361172a565b60209081029190910181019190915260408051613a3160f11b818401527f73746f726500000000000000000000000000000000000000000000000000000060228201527f5265736f7572636549647300000000000000000000000000000000000000000060308201528151808203909301835281019052600090610a6290610a3a9061160f565b8360007e01010001000000000000000000000000000000000000000000000000000000611170565b9050610a6e8160f81c90565b949350505050565b60408051600180825281830190925260009182919060208083019080368337019050509050605f81600081518110610ab057610ab061172a565b602002602001019060c5811115610ac957610ac9611740565b908160c5811115610adc57610adc611740565b905250610ae8816111a6565b91505090565b60408051600580825260c082019092526000918291906020820160a08036833701905050905060c181600081518110610b2957610b2961172a565b602002602001019060c5811115610b4257610b42611740565b908160c5811115610b5557610b55611740565b8152505060c181600181518110610b6e57610b6e61172a565b602002602001019060c5811115610b8757610b87611740565b908160c5811115610b9a57610b9a611740565b8152505060c181600281518110610bb357610bb361172a565b602002602001019060c5811115610bcc57610bcc611740565b908160c5811115610bdf57610bdf611740565b8152505060c181600381518110610bf857610bf861172a565b602002602001019060c5811115610c1157610c11611740565b908160c5811115610c2457610c24611740565b8152505060c181600481518110610ab057610ab061172a565b604080516001808252818301909252606091816020015b6060815260200190600190039081610c545790505090506040518060400160405280600d81526020017f736f757263655461626c6549640000000000000000000000000000000000000081525081600081518110610cb457610cb461172a565b602002602001018190525090565b60408051600580825260c08201909252606091816020015b6060815260200190600190039081610cda5790505090506040518060400160405280600581526020017f6b6579733000000000000000000000000000000000000000000000000000000081525081600081518110610d3a57610d3a61172a565b60200260200101819052506040518060400160405280600581526020017f6b6579733100000000000000000000000000000000000000000000000000000081525081600181518110610d8e57610d8e61172a565b60200260200101819052506040518060400160405280600581526020017f6b6579733200000000000000000000000000000000000000000000000000000081525081600281518110610de257610de261172a565b60200260200101819052506040518060400160405280600581526020017f6b6579733300000000000000000000000000000000000000000000000000000081525081600381518110610e3657610e3661172a565b60200260200101819052506040518060400160405280600581526020017f6b6579733400000000000000000000000000000000000000000000000000000081525081600481518110610cb457610cb461172a565b805160208201fd5b60408051600280825260608201835260009283929190602083019080368337019050509050605f81600081518110610ecc57610ecc61172a565b602002602001019060c5811115610ee557610ee5611740565b908160c5811115610ef857610ef8611740565b81525050605f81600181518110610ab057610ab061172a565b60408051600280825260608201835260009283929190602083019080368337019050509050606081600081518110610f4b57610f4b61172a565b602002602001019060c5811115610f6457610f64611740565b908160c5811115610f7757610f77611740565b81525050600481600181518110610ab057610ab061172a565b6040805160028082526060828101909352816020015b6060815260200190600190039081610fa65790505090506040518060400160405280600d81526020017f736f757263655461626c65496400000000000000000000000000000000000000815250816000815181106110065761100661172a565b60200260200101819052506040518060400160405280600881526020017f6b6579734861736800000000000000000000000000000000000000000000000081525081600181518110610cb457610cb461172a565b6040805160028082526060828101909352816020015b60608152602001906001900390816110705790505090506040518060400160405280600381526020017f6861730000000000000000000000000000000000000000000000000000000000815250816000815181106110d0576110d061172a565b60200260200101819052506040518060400160405280600581526020017f696e64657800000000000000000000000000000000000000000000000000000081525081600181518110610cb457610cb461172a565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e1755460009073ffffffffffffffffffffffffffffffffffffffff168061116b573391505090565b919050565b600061119d61117f868661139c565b60ff858116601b0360080285901c1661119885876113f2565b611435565b95945050505050565b6000601c825111156111f25781516040517f5318beb90000000000000000000000000000000000000000000000000000000081526004016111e991815260200190565b60405180910390fd5b60008080805b85518110156112cd5760006112368783815181106112185761121861172a565b602002602001015160c581111561123157611231611740565b611486565b90508060000361124b57600190920191611283565b8215611283576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80840193506008826004601f0303028783815181106112a4576112a461172a565b602002602001015160c58111156112bd576112bd611740565b901b9490941793506001016111f8565b50600581111561130c576040517f5318beb9000000000000000000000000000000000000000000000000000000008152600481018290526024016111e9565b8451819003600861131f6002602061176c565b611329919061177f565b83901b9390931792600860016113416002602061176c565b61134b919061176c565b611355919061177f565b81901b9390931792600860018061136e6002602061176c565b611378919061176c565b611382919061176c565b61138c919061177f565b9190911b92909217949350505050565b600082826040516020016113b1929190611796565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff1681101561142d5761141960ff601b83900360080287901c16836117c4565b915080611425816117d7565b9150506113f7565b509392505050565b60006020821061145b57602082048401935060208281611457576114576117f1565b0691505b508254600882021b60208290038084111561142d576001850154600882021c82179150509392505050565b6000808260c581111561149b5761149b611740565b60ff16905060618110156114b557601f1660010192915050565b60618360c58111156114c9576114c9611740565b036114d75750601492915050565b50600092915050565b50919050565b6000602082840312156114f857600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461152857600080fd5b9392505050565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561155757600080fd5b813567ffffffffffffffff8082111561156f57600080fd5b818401915084601f83011261158357600080fd5b8135818111156115955761159561152f565b604051601f8201601f19908116603f011681019083821181831017156115bd576115bd61152f565b816040528281528760208487010111156115d657600080fd5b826020860160208301376000928101602001929092525095945050505050565b60006020828403121561160857600080fd5b5051919050565b805160208083015191908110156114e05760001960209190910360031b1b16919050565b60005b8381101561164e578181015183820152602001611636565b50506000910152565b600081518084526020808501808196508360051b8101915082860160005b858110156116b75782840389528151805180865261169881888801898501611633565b99860199601f01601f1916949094018501935090840190600101611675565b5091979650505050505050565b86815285602082015284604082015283606082015260c0608082015260006116ef60c0830185611657565b82810360a08401526117018185611657565b9998505050505050505050565b60008251611720818460208701611633565b9190910192915050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b818103818111156101db576101db611756565b80820281158282048414176101db576101db611756565b82815260006020808301845182860160005b828110156116b7578151845292840192908401906001016117a8565b808201808211156101db576101db611756565b600060001982036117ea576117ea611756565b5060010190565b634e487b7160e01b600052601260045260246000fdfea164736f6c6343000815000a",
134
- "sourceMap": "1419:2624:114:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;754:220:95;;;;;;:::i;:::-;;:::i;:::-;;;516:14:139;;509:22;491:41;;479:2;464:18;754:220:95;;;;;;;;1151:379:97;;;:::i;:::-;;;719:42:139;707:55;;;689:74;;677:2;662:18;1151:379:97;543:226:139;3945:96:114;;;;;;:::i;:::-;;:::i;:::-;;1720:89;;;1782:22;2094:98:139;;2082:2;2067:18;1720:89:114;1948:250:139;1771:212:97;;;-1:-1:-1;;1953:14:97;1949:23;1936:37;2349:25:139;;2337:2;2322:18;1771:212:97;2203:177:139;1813:2128:114;;;;;;:::i;:::-;;:::i;2199:95:97:-;;;:::i;754:220:95:-;878:4;897:34;;;360:110:90;897:34:95;;:72;;-1:-1:-1;935:34:95;;;188::89;935::95;897:72;890:79;754:220;-1:-1:-1;;754:220:95:o;1151:379:97:-;1433:34;1437:14;1433:34;1420:48;1416:2;1412:57;;1480:45;;-1:-1:-1;1515:10:97;1480:45;1151:379;:::o;3945:96:114:-;4001:35;;;;;;;;;;;;;;1813:2128;1916:24;1970:4;1959:27;;;;;;;;;;;;:::i;:::-;1916:71;;1994:16;2024:8;:6;:8::i;:::-;1253:69:119;;;-1:-1:-1;;;1253:69:119;;;2757:92:139;2095:12:114;2865:11:139;;;2858:100;;;1299:22:119;2974:12:139;;;2967:101;1994:39:114;;-1:-1:-1;2113:23:114;;2148:42;;3084:12:139;1253:69:119;;;;;;;;;;;;1245:78;;;:::i;:::-;2148:22:114;:42::i;:::-;2143:1421;;1253:69:119;;;-1:-1:-1;;;1253:69:119;;;2757:92:139;1286:11:119;2865::139;;;2858:100;1299:22:119;2974:12:139;;;2967:101;2253:27:114;;;;;;2316:19;;3084:12:139;1253:69:119;;;;;;;;;;;;1245:78;;;:::i;:::-;1435:66;2435:26:114;:24;:26::i;:::-;2475:28;:26;:28::i;:::-;2517:25;:23;:25::i;:::-;2556:27;:25;:27::i;:::-;2290:315;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;2290:315:114;;;;;;;;;;;;;;;;;;;;;;;;;;;;2253:360;;;;-1:-1:-1;2253:360:114;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2229:384:114;;-1:-1:-1;2229:384:114;-1:-1:-1;2229:384:114;2621:41;;2635:27;2651:10;2635:15;:27::i;:::-;1253:71:120;;;-1:-1:-1;;;1253:71:120;;;2757:92:139;1286:11:120;2865::139;;;2858:100;1299:24:120;2974:12:139;;;2967:101;2695:27:114;;;;;;2758:19;;3084:12:139;1253:71:120;;;;;;;;;;;;1245:80;;;:::i;:::-;1439:66;2881:28:114;:26;:28::i;:::-;2923:30;:28;:30::i;:::-;2967:27;:25;:27::i;:::-;3008:29;:27;:29::i;:::-;2732:327;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;2732:327:114;;;;;;;;;;;;;;;;;;;;;;;;;;;;2695:372;;;;-1:-1:-1;2695:372:114;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2671:396:114;;-1:-1:-1;2671:396:114;-1:-1:-1;2671:396:114;3075:41;;3089:27;3105:10;3089:15;:27::i;:::-;1253:69:119;;;-1:-1:-1;;;1253:69:119;;;2757:92:139;1286:11:119;2865::139;;;2858:100;1299:22:119;2974:12:139;;;2967:101;3194:27:114;;;;;;3246:17;;3084:12:139;1253:69:119;;;;;;;;;;;;1245:78;;;:::i;:::-;3231:70:114;;;;;6026:25:139;;;;6099:42;3294:4:114;6087:55:139;6067:18;;;6060:83;5999:18;;3231:70:114;;;-1:-1:-1;;3231:70:114;;;;;;;;;;;;;;;;;;;;;;;;;;;;3194:115;;;;-1:-1:-1;3194:115:114;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3170:139:114;;-1:-1:-1;3170:139:114;-1:-1:-1;3170:139:114;3317:41;;3331:27;3347:10;3331:15;:27::i;:::-;1253:71:120;;;-1:-1:-1;;;1253:71:120;;;2757:92:139;1286:11:120;2865::139;;;2858:100;1299:24:120;2974:12:139;;;2967:101;3391:27:114;;;;;;3443:17;;3084:12:139;1253:71:120;;;;;;;;;;;;1245:80;;;:::i;:::-;3428:72:114;;;;;6026:25:139;;;;6099:42;3493:4:114;6087:55:139;6067:18;;;6060:83;5999:18;;3428:72:114;;;-1:-1:-1;;3428:72:114;;;;;;;;;;;;;;;;;;;;;;;;;;;;3391:117;;;;-1:-1:-1;3391:117:114;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3367:141:114;;-1:-1:-1;3367:141:114;-1:-1:-1;3367:141:114;3516:41;;3530:27;3546:10;3530:15;:27::i;:::-;983:6:81;3707:223:114;;;;;6409:25:139;;;3672:27:114;3801:4;6470:55:139;;6450:18;;;6443:83;3817:95:114;6542:18:139;;;;6535:45;;;;3707:223:114;;;;;;;;;;6382:18:139;;;;3707:223:114;;;;;;;;;;;;;3672:264;;:27;;;;:264;;3707:223;3672:264;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;1813:2128:114:o;2199:95:97:-;2238:7;2260:29;:27;:29::i;:::-;2253:36;;2199:95;:::o;3825:314:76:-;3939:16;;;3953:1;3939:16;;;;;;;;;3891:11;;;;3939:16;;;;;;;;;;;;-1:-1:-1;3939:16:76;3910:45;;3994:10;3961:9;3971:1;3961:12;;;;;;;;:::i;:::-;;;;;;;;;;;:44;;;;1047:74;;;-1:-1:-1;;;1047:74:76;;;2757:92:139;1080:16:76;2865:11:139;;;2858:100;1098:22:76;2974:12:139;;;2967:101;1047:74:76;;;;;;;;;;3084:12:139;;1047:74:76;;-1:-1:-1;;4028:62:76;;1039:83;;;:::i;:::-;4063:9;4074:1;1234:66;4028:24;:62::i;:::-;4012:78;;4104:29;4125:5;4112:20;;9917:5;9831:97;4104:29;4096:38;3825:314;-1:-1:-1;;;;3825:314:76:o;1975:200:119:-;2069:19;;;2086:1;2069:19;;;;;;;;;2022:6;;;;2069:19;;;;;;;;;;;;-1:-1:-1;2069:19:119;2036:52;;2110:18;2094:10;2105:1;2094:13;;;;;;;;:::i;:::-;;;;;;:34;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;2142:28:119;2159:10;2142:16;:28::i;:::-;2135:35;;;1975:200;:::o;2292:406::-;2390:19;;;2407:1;2390:19;;;;;;;;;2341:6;;;;2390:19;;;;;;;;;;;-1:-1:-1;2390:19:119;2355:54;;2433:24;2415:12;2428:1;2415:15;;;;;;;;:::i;:::-;;;;;;:42;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;2481:24;2463:12;2476:1;2463:15;;;;;;;;:::i;:::-;;;;;;:42;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;2529:24;2511:12;2524:1;2511:15;;;;;;;;:::i;:::-;;;;;;:42;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;2577:24;2559:12;2572:1;2559:15;;;;;;;;:::i;:::-;;;;;;:42;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;2625:24;2607:12;2620:1;2607:15;;;;;;;;:::i;2832:144::-;2921:15;;;2934:1;2921:15;;;;;;;;;2878:24;;2921:15;;;;;;;;;;;;;;;;;;;;2910:26;;2942:29;;;;;;;;;;;;;;;;;:8;2951:1;2942:11;;;;;;;;:::i;:::-;;;;;;:29;;;;2832:144;:::o;3116:260::-;3211:15;;;3224:1;3211:15;;;;;;;;;3164:26;;3211:15;;;;;;;;;;;;;;;;;;;;3198:28;;3232:23;;;;;;;;;;;;;;;;;:10;3243:1;3232:13;;;;;;;;:::i;:::-;;;;;;:23;;;;3261;;;;;;;;;;;;;;;;;:10;3272:1;3261:13;;;;;;;;:::i;:::-;;;;;;:23;;;;3290;;;;;;;;;;;;;;;;;:10;3301:1;3290:13;;;;;;;;:::i;:::-;;;;;;:23;;;;3319;;;;;;;;;;;;;;;;;:10;3330:1;3319:13;;;;;;;;:::i;:::-;;;;;;:23;;;;3348;;;;;;;;;;;;;;;;;:10;3359:1;3348:13;;;;;;;;:::i;501:217:108:-;704:6;698:13;691:4;683:6;679:17;672:40;1858:240:120;1952:19;;;1969:1;1952:19;;;;;;;;1905:6;;;;1952:19;1969:1;1952:19;;;;;;;;;;-1:-1:-1;1952:19:120;1919:52;;1993:18;1977:10;1988:1;1977:13;;;;;;;;:::i;:::-;;;;;;:34;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;2033:18;2017:10;2028:1;2017:13;;;;;;;;:::i;2215:246::-;2313:19;;;2330:1;2313:19;;;;;;;;2264:6;;;;2313:19;2330:1;2313:19;;;;;;;;;;-1:-1:-1;2313:19:120;2278:54;;2356:15;2338:12;2351:1;2338:15;;;;;;;;:::i;:::-;;;;;;:33;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;2395:17;2377:12;2390:1;2377:15;;;;;;;;:::i;2595:174::-;2684:15;;;2697:1;2684:15;;;2641:24;2684:15;;;;;;;;;;;;;;;;;;;;;;;;;;2673:26;;2705:29;;;;;;;;;;;;;;;;;:8;2714:1;2705:11;;;;;;;;:::i;:::-;;;;;;:29;;;;2740:24;;;;;;;;;;;;;;;;;:8;2749:1;2740:11;;;;;;;;:::i;2909:171::-;3004:15;;;3017:1;3004:15;;;2957:26;3004:15;;;;;;;;;;;;;;;;;;;;;;;;;;2991:28;;3025:21;;;;;;;;;;;;;;;;;:10;3036:1;3025:13;;;;;;;;:::i;:::-;;;;;;:21;;;;3052:23;;;;;;;;;;;;;;;;;:10;3063:1;3052:13;;;;;;;;:::i;1766:227:73:-;996:42;1855:22;1816:7;;1855:22;;;1883:106;;1931:10;1924:17;;;1766:227;:::o;1883:106::-;1969:13;1766:227;-1:-1:-1;1766:227:73:o;35212:541:71:-;35369:7;35506:242;35550:59;35591:7;35600:8;35550:40;:59::i;:::-;35627:31;;;;4044:19:54;:27;537:1:79;4043:44:54;4009:79;;;3996:93;35676:63:71;35715:11;35728:10;35676:38;:63::i;:::-;35506:17;:242::i;:::-;35493:255;35212:541;-1:-1:-1;;;;;35212:541:71:o;1247:2059:68:-;1315:6;647:2:79;1333:7:68;:14;:33;1329:85;;;1399:7;:14;1375:39;;;;;;;;;2349:25:139;;2337:2;2322:18;;2203:177;1375:39:68;;;;;;;;1329:85;1420:14;;;;1621:956;1645:7;:14;1641:1;:18;1621:956;;;1671:24;1698:32;:7;1706:1;1698:10;;;;;;;;:::i;:::-;;;;;;;:30;;;;;;;;:::i;:::-;;:32::i;:::-;1671:59;;1743:16;1763:1;1743:21;1739:404;;1928:15;;;;;1739:404;;;1972:17;;1968:175;;2096:38;;;;;;;;;;;;;;1968:175;2269:16;2254:31;;;;537:1:79;2531::68;2527;437:2:79;2509:19:68;:23;2508:40;2492:7;2500:1;2492:10;;;;;;;;:::i;:::-;;;;;;;2484:19;;;;;;;;:::i;:::-;:65;;2474:75;;;;;-1:-1:-1;2559:3:68;;1621:956;;;;902:1:79;2621:13:68;:34;2617:85;;;2664:38;;;;;;;;2349:25:139;;;2322:18;;2664:38:68;2203:177:139;2617:85:68;2802:14;;:30;;;537:1:79;1247:13;1259:1;334:2;1247:13;:::i;:::-;1246:30;;;;:::i;:::-;3090:41:68;;;3080:51;;;;;537:1:79;1425;1409:13;1421:1;334:2;1409:13;:::i;:::-;:17;;;;:::i;:::-;1408:34;;;;:::i;:::-;3147:47:68;;;3137:57;;;;;537:1:79;1597;;1577:13;1589:1;334:2;1577:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1576:38;;;;:::i;:::-;3210:49:68;;;;3200:59;;;;;1247:2059;-1:-1:-1;;;;1247:2059:68:o;49655:191:71:-;49757:7;49821;49830:8;49804:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;49804:35:71;;;;;;;;;49794:46;;49804:35;49794:46;;;;41226:22;49787:53;;49655:191;-1:-1:-1;;;49655:191:71:o;50672:242::-;50768:7;;;50807:84;50827:10;50823:14;;:1;:14;50807:84;;;50852:32;3996:93:54;4044:19;:27;;;537:1:79;4043:44:54;4009:79;;;3996:93;50852:32:71;;:::i;:::-;;-1:-1:-1;50839:3:71;;;;:::i;:::-;;;;50807:84;;;-1:-1:-1;50903:6:71;50672:242;-1:-1:-1;;;50672:242:71:o;8680:790:70:-;8778:14;8814:2;8804:6;:12;8800:112;;8873:2;8864:6;:11;8846:29;;;;8895:2;8885:12;;;;;;:::i;:::-;;;;8800:112;-1:-1:-1;9092:21:70;;9088:1;9076:14;;9072:42;9240:2;:11;;;9322:22;;;9318:148;;;9447:1;9431:14;9427:22;9421:29;9417:1;9402:13;9398:21;9394:57;9386:6;9383:69;9373:79;;8794:676;8680:790;;;;;:::o;3195:520:52:-;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:52:o;3312:401::-;3610:18;3596:10;:32;;;;;;;;:::i;:::-;;3592:121;;-1:-1:-1;3643:2:52;;3195:520;-1:-1:-1;;3195:520:52:o;3592:121::-;-1:-1:-1;3707:1:52;;3195:520;-1:-1:-1;;3195:520:52:o;3592:121::-;3270:445;3195:520;;;:::o;14:332:139:-;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;199:117;335:5;14:332;-1:-1:-1;;;14:332:139:o;774:184::-;-1:-1:-1;;;823:1:139;816:88;923:4;920:1;913:15;947:4;944:1;937:15;963:980;1031:6;1084:2;1072:9;1063:7;1059:23;1055:32;1052:52;;;1100:1;1097;1090:12;1052:52;1140:9;1127:23;1169:18;1210:2;1202:6;1199:14;1196:34;;;1226:1;1223;1216:12;1196:34;1264:6;1253:9;1249:22;1239:32;;1309:7;1302:4;1298:2;1294:13;1290:27;1280:55;;1331:1;1328;1321:12;1280:55;1367:2;1354:16;1389:2;1385;1382:10;1379:36;;;1395:18;;:::i;:::-;1529:2;1523:9;1591:4;1583:13;;-1:-1:-1;;1579:22:139;;;1603:2;1575:31;1571:40;1559:53;;;1627:18;;;1647:22;;;1624:46;1621:72;;;1673:18;;:::i;:::-;1713:10;1709:2;1702:22;1748:2;1740:6;1733:18;1788:7;1783:2;1778;1774;1770:11;1766:20;1763:33;1760:53;;;1809:1;1806;1799:12;1760:53;1865:2;1860;1856;1852:11;1847:2;1839:6;1835:15;1822:46;1910:1;1888:15;;;1905:2;1884:24;1877:35;;;;-1:-1:-1;1892:6:139;963:980;-1:-1:-1;;;;;963:980:139:o;2385:184::-;2455:6;2508:2;2496:9;2487:7;2483:23;2479:32;2476:52;;;2524:1;2521;2514:12;2476:52;-1:-1:-1;2547:16:139;;2385:184;-1:-1:-1;2385:184:139:o;3107:357::-;3225:12;;3272:4;3261:16;;;3255:23;;3225:12;3290:16;;3287:171;;;-1:-1:-1;;3364:4:139;3360:17;;;;3357:1;3353:25;3349:98;3338:110;;3107:357;-1:-1:-1;3107:357:139:o;3469:250::-;3554:1;3564:113;3578:6;3575:1;3572:13;3564:113;;;3654:11;;;3648:18;3635:11;;;3628:39;3600:2;3593:10;3564:113;;;-1:-1:-1;;3711:1:139;3693:16;;3686:27;3469:250::o;3724:882::-;3776:3;3814:5;3808:12;3841:6;3836:3;3829:19;3867:4;3908:2;3903:3;3899:12;3933:11;3960;3953:18;;4010:6;4007:1;4003:14;3996:5;3992:26;3980:38;;4052:2;4045:5;4041:14;4073:1;4083:497;4097:6;4094:1;4091:13;4083:497;;;4168:5;4162:4;4158:16;4153:3;4146:29;4204:6;4198:13;4246:2;4240:9;4275:8;4269:4;4262:22;4297:72;4360:8;4355:2;4349:4;4345:13;4340:2;4336;4332:11;4297:72;:::i;:::-;4558:12;;;;4422:2;4408:17;-1:-1:-1;;4404:90:139;4394:101;;;;4390:110;;;-1:-1:-1;4523:15:139;;;;4119:1;4112:9;4083:497;;;-1:-1:-1;4596:4:139;;3724:882;-1:-1:-1;;;;;;;3724:882:139:o;4611:912::-;5141:6;5130:9;5123:25;5184:6;5179:2;5168:9;5164:18;5157:34;5227:6;5222:2;5211:9;5207:18;5200:34;5270:6;5265:2;5254:9;5250:18;5243:34;5314:3;5308;5297:9;5293:19;5286:32;5104:4;5341:56;5392:3;5381:9;5377:19;5369:6;5341:56;:::i;:::-;5446:9;5438:6;5434:22;5428:3;5417:9;5413:19;5406:51;5474:43;5510:6;5502;5474:43;:::i;:::-;5466:51;4611:912;-1:-1:-1;;;;;;;;;4611:912:139:o;5528:287::-;5657:3;5695:6;5689:13;5711:66;5770:6;5765:3;5758:4;5750:6;5746:17;5711:66;:::i;:::-;5793:16;;;;;5528:287;-1:-1:-1;;5528:287:139:o;6591:184::-;-1:-1:-1;;;6640:1:139;6633:88;6740:4;6737:1;6730:15;6764:4;6761:1;6754:15;6780:184;-1:-1:-1;;;6829:1:139;6822:88;6929:4;6926:1;6919:15;6953:4;6950:1;6943:15;6969:184;-1:-1:-1;;;7018:1:139;7011:88;7118:4;7115:1;7108:15;7142:4;7139:1;7132:15;7158:128;7225:9;;;7246:11;;;7243:37;;;7260:18;;:::i;7291:168::-;7364:9;;;7395;;7412:15;;;7406:22;;7392:37;7382:71;;7433:18;;:::i;7464:640::-;7715:6;7710:3;7703:19;7685:3;7741:2;7774;7769:3;7765:12;7806:6;7800:13;7871:2;7863:6;7859:15;7892:1;7902:175;7916:6;7913:1;7910:13;7902:175;;;7979:13;;7965:28;;8015:14;;;;8052:15;;;;7938:1;7931:9;7902:175;;8109:125;8174:9;;;8195:10;;;8192:36;;;8208:18;;:::i;8239:195::-;8278:3;-1:-1:-1;;8302:5:139;8299:77;8296:103;;8379:18;;:::i;:::-;-1:-1:-1;8426:1:139;8415:13;;8239:195::o;8439:184::-;-1:-1:-1;;;8488:1:139;8481:88;8588:4;8585:1;8578:15;8612:4;8609:1;8602:15",
133
+ "object": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c806317d7de7c1161005b57806317d7de7c146100ec57806345ec93541461011a5780637c5b03351461012d578063e1af802c1461014057600080fd5b806301ffc9a714610082578063119df25f146100aa57806313861fb5146100d7575b600080fd5b6100956100903660046114f0565b610148565b60405190151581526020015b60405180910390f35b6100b26101e1565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100a1565b6100ea6100e536600461154f565b6101f0565b005b6040517f6b657973496e5461626c6500000000000000000000000000000000000000000081526020016100a1565b604051601f1936013581526020016100a1565b6100ea61013b36600461154f565b610222565b6100b2610948565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f79f50b5b0000000000000000000000000000000000000000000000000000000014806101db57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101eb610952565b905090565b6040517fea8b184c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000818060200190518101906102389190611600565b90506000610244610948565b60408051613a3160f11b60208201526000602282018190527f4b657973496e5461626c6500000000000000000000000000000000000000000060308301529293506060916102aa91016040516020818303038152906040526102a590611619565b610984565b6108425760408051613a3160f11b6020820152600060228201527f4b657973496e5461626c65000000000000000000000000000000000000000000603082015273ffffffffffffffffffffffffffffffffffffffff8516918291630ba51f49910160405160208183030381529060405261032390611619565b7c0500000000000000000000000000000000000000000000000000000000610349610a80565b610351610af8565b610359610c47565b610361610ccc565b604051602401610376969594939291906116ce565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1660e09490941b9390931790925290516103c39250611718565b600060405180830381855af49150503d80600081146103fe576040519150601f19603f3d011682016040523d82523d6000602084013e610403565b606091505b509092509050816104175761041781610e94565b60408051613a3160f11b6020820152600060228201527f557365644b657973496e64657800000000000000000000000000000000000000603082015273ffffffffffffffffffffffffffffffffffffffff8516918291630ba51f49910160405160208183030381529060405261048c90611619565b7e060200010500000000000000000000000000000000000000000000000000006104b4610e9c565b6104bc610f1b565b6104c4610f9a565b6104cc611064565b6040516024016104e1969594939291906116ce565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1660e09490941b93909317909252905161052e9250611718565b600060405180830381855af49150503d8060008114610569576040519150601f19603f3d011682016040523d82523d6000602084013e61056e565b606091505b509092509050816105825761058281610e94565b60408051613a3160f11b6020820152600060228201527f4b657973496e5461626c65000000000000000000000000000000000000000000603082015273ffffffffffffffffffffffffffffffffffffffff85169182916340554c3a91016040516020818303038152906040526105f790611619565b604051602481019190915273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016604482015260640160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1660e09490941b93909317909252905161068e9250611718565b600060405180830381855af49150503d80600081146106c9576040519150601f19603f3d011682016040523d82523d6000602084013e6106ce565b606091505b509092509050816106e2576106e281610e94565b60408051613a3160f11b6020820152600060228201527f557365644b657973496e64657800000000000000000000000000000000000000603082015273ffffffffffffffffffffffffffffffffffffffff85169182916340554c3a910160405160208183030381529060405261075790611619565b604051602481019190915273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016604482015260640160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1660e09490941b9390931790925290516107ee9250611718565b600060405180830381855af49150503d8060008114610829576040519150601f19603f3d011682016040523d82523d6000602084013e61082e565b606091505b509092509050816108425761084281610e94565b604080516024810186905273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081166044830152606960648084019190915283518084039091018152608490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f530f4b60000000000000000000000000000000000000000000000000000000001790529151918516916108fe9190611718565b600060405180830381855af49150503d8060008114610939576040519150601f19603f3d011682016040523d82523d6000602084013e61093e565b606091505b5050505050505050565b60006101eb61112e565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806109815750335b90565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106109bd576109bd611734565b60209081029190910181019190915260408051613a3160f11b818401527f73746f726500000000000000000000000000000000000000000000000000000060228201527f5265736f7572636549647300000000000000000000000000000000000000000060308201528151808203909301835281019052600090610a6c90610a4490611619565b8360007e0101000100000000000000000000000000000000000000000000000000000061117a565b9050610a788160f81c90565b949350505050565b60408051600180825281830190925260009182919060208083019080368337019050509050605f81600081518110610aba57610aba611734565b602002602001019060c5811115610ad357610ad361174a565b908160c5811115610ae657610ae661174a565b905250610af2816111b0565b91505090565b60408051600580825260c082019092526000918291906020820160a08036833701905050905060c181600081518110610b3357610b33611734565b602002602001019060c5811115610b4c57610b4c61174a565b908160c5811115610b5f57610b5f61174a565b8152505060c181600181518110610b7857610b78611734565b602002602001019060c5811115610b9157610b9161174a565b908160c5811115610ba457610ba461174a565b8152505060c181600281518110610bbd57610bbd611734565b602002602001019060c5811115610bd657610bd661174a565b908160c5811115610be957610be961174a565b8152505060c181600381518110610c0257610c02611734565b602002602001019060c5811115610c1b57610c1b61174a565b908160c5811115610c2e57610c2e61174a565b8152505060c181600481518110610aba57610aba611734565b604080516001808252818301909252606091816020015b6060815260200190600190039081610c5e5790505090506040518060400160405280600d81526020017f736f757263655461626c6549640000000000000000000000000000000000000081525081600081518110610cbe57610cbe611734565b602002602001018190525090565b60408051600580825260c08201909252606091816020015b6060815260200190600190039081610ce45790505090506040518060400160405280600581526020017f6b6579733000000000000000000000000000000000000000000000000000000081525081600081518110610d4457610d44611734565b60200260200101819052506040518060400160405280600581526020017f6b6579733100000000000000000000000000000000000000000000000000000081525081600181518110610d9857610d98611734565b60200260200101819052506040518060400160405280600581526020017f6b6579733200000000000000000000000000000000000000000000000000000081525081600281518110610dec57610dec611734565b60200260200101819052506040518060400160405280600581526020017f6b6579733300000000000000000000000000000000000000000000000000000081525081600381518110610e4057610e40611734565b60200260200101819052506040518060400160405280600581526020017f6b6579733400000000000000000000000000000000000000000000000000000081525081600481518110610cbe57610cbe611734565b805160208201fd5b60408051600280825260608201835260009283929190602083019080368337019050509050605f81600081518110610ed657610ed6611734565b602002602001019060c5811115610eef57610eef61174a565b908160c5811115610f0257610f0261174a565b81525050605f81600181518110610aba57610aba611734565b60408051600280825260608201835260009283929190602083019080368337019050509050606081600081518110610f5557610f55611734565b602002602001019060c5811115610f6e57610f6e61174a565b908160c5811115610f8157610f8161174a565b81525050600481600181518110610aba57610aba611734565b6040805160028082526060828101909352816020015b6060815260200190600190039081610fb05790505090506040518060400160405280600d81526020017f736f757263655461626c654964000000000000000000000000000000000000008152508160008151811061101057611010611734565b60200260200101819052506040518060400160405280600881526020017f6b6579734861736800000000000000000000000000000000000000000000000081525081600181518110610cbe57610cbe611734565b6040805160028082526060828101909352816020015b606081526020019060019003908161107a5790505090506040518060400160405280600381526020017f6861730000000000000000000000000000000000000000000000000000000000815250816000815181106110da576110da611734565b60200260200101819052506040518060400160405280600581526020017f696e64657800000000000000000000000000000000000000000000000000000081525081600181518110610cbe57610cbe611734565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e1755460009073ffffffffffffffffffffffffffffffffffffffff1680611175573391505090565b919050565b60006111a761118986866113a6565b60ff858116601b0360080285901c166111a285876113fc565b61143f565b95945050505050565b6000601c825111156111fc5781516040517f5318beb90000000000000000000000000000000000000000000000000000000081526004016111f391815260200190565b60405180910390fd5b60008080805b85518110156112d757600061124087838151811061122257611222611734565b602002602001015160c581111561123b5761123b61174a565b611490565b9050806000036112555760019092019161128d565b821561128d576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80840193506008826004601f0303028783815181106112ae576112ae611734565b602002602001015160c58111156112c7576112c761174a565b901b949094179350600101611202565b506005811115611316576040517f5318beb9000000000000000000000000000000000000000000000000000000008152600481018290526024016111f3565b8451819003600861132960026020611776565b6113339190611789565b83901b93909317926008600161134b60026020611776565b6113559190611776565b61135f9190611789565b81901b9390931792600860018061137860026020611776565b6113829190611776565b61138c9190611776565b6113969190611789565b9190911b92909217949350505050565b600082826040516020016113bb9291906117a0565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff168110156114375761142360ff601b83900360080287901c16836117ce565b91508061142f816117e1565b915050611401565b509392505050565b60006020821061146557602082048401935060208281611461576114616117fb565b0691505b508254600882021b602082900380841115611437576001850154600882021c82179150509392505050565b6000808260c58111156114a5576114a561174a565b60ff16905060618110156114bf57601f1660010192915050565b60618360c58111156114d3576114d361174a565b036114e15750601492915050565b50600092915050565b50919050565b60006020828403121561150257600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461153257600080fd5b9392505050565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561156157600080fd5b813567ffffffffffffffff8082111561157957600080fd5b818401915084601f83011261158d57600080fd5b81358181111561159f5761159f611539565b604051601f8201601f19908116603f011681019083821181831017156115c7576115c7611539565b816040528281528760208487010111156115e057600080fd5b826020860160208301376000928101602001929092525095945050505050565b60006020828403121561161257600080fd5b5051919050565b805160208083015191908110156114ea5760001960209190910360031b1b16919050565b60005b83811015611658578181015183820152602001611640565b50506000910152565b600081518084526020808501808196508360051b8101915082860160005b858110156116c1578284038952815180518086526116a28188880189850161163d565b99860199601f01601f191694909401850193509084019060010161167f565b5091979650505050505050565b86815285602082015284604082015283606082015260c0608082015260006116f960c0830185611661565b82810360a084015261170b8185611661565b9998505050505050505050565b6000825161172a81846020870161163d565b9190910192915050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b818103818111156101db576101db611760565b80820281158282048414176101db576101db611760565b82815260006020808301845182860160005b828110156116c1578151845292840192908401906001016117b2565b808201808211156101db576101db611760565b600060001982036117f4576117f4611760565b5060010190565b634e487b7160e01b600052601260045260246000fdfea164736f6c6343000815000a",
134
+ "sourceMap": "1419:2624:114:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;754:220:95;;;;;;:::i;:::-;;:::i;:::-;;;516:14:139;;509:22;491:41;;479:2;464:18;754:220:95;;;;;;;;1245:113:97;;;:::i;:::-;;;719:42:139;707:55;;;689:74;;677:2;662:18;1245:113:97;543:226:139;3945:96:114;;;;;;:::i;:::-;;:::i;:::-;;1720:89;;;1782:22;2094:98:139;;2082:2;2067:18;1720:89:114;1948:250:139;1599:110:97;;;-1:-1:-1;;3585:14:97;3581:23;3568:37;2349:25:139;;2337:2;2322:18;1599:110:97;2203:177:139;1813:2128:114;;;;;;:::i;:::-;;:::i;1925:95:97:-;;;:::i;754:220:95:-;878:4;897:34;;;360:110:90;897:34:95;;:72;;-1:-1:-1;935:34:95;;;188::89;935::95;897:72;890:79;754:220;-1:-1:-1;;754:220:95:o;1245:113:97:-;1288:14;1317:36;:34;:36::i;:::-;1310:43;;1245:113;:::o;3945:96:114:-;4001:35;;;;;;;;;;;;;;1813:2128;1916:24;1970:4;1959:27;;;;;;;;;;;;:::i;:::-;1916:71;;1994:16;2024:8;:6;:8::i;:::-;1253:69:119;;;-1:-1:-1;;;1253:69:119;;;2757:92:139;2095:12:114;2865:11:139;;;2858:100;;;1299:22:119;2974:12:139;;;2967:101;1994:39:114;;-1:-1:-1;2113:23:114;;2148:42;;3084:12:139;1253:69:119;;;;;;;;;;;;1245:78;;;:::i;:::-;2148:22:114;:42::i;:::-;2143:1421;;1253:69:119;;;-1:-1:-1;;;1253:69:119;;;2757:92:139;1286:11:119;2865::139;;;2858:100;1299:22:119;2974:12:139;;;2967:101;2253:27:114;;;;;;2316:19;;3084:12:139;1253:69:119;;;;;;;;;;;;1245:78;;;:::i;:::-;1435:66;2435:26:114;:24;:26::i;:::-;2475:28;:26;:28::i;:::-;2517:25;:23;:25::i;:::-;2556:27;:25;:27::i;:::-;2290:315;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;2290:315:114;;;;;;;;;;;;;;;;;;;;;;;;;;;;2253:360;;;;-1:-1:-1;2253:360:114;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2229:384:114;;-1:-1:-1;2229:384:114;-1:-1:-1;2229:384:114;2621:41;;2635:27;2651:10;2635:15;:27::i;:::-;1253:71:120;;;-1:-1:-1;;;1253:71:120;;;2757:92:139;1286:11:120;2865::139;;;2858:100;1299:24:120;2974:12:139;;;2967:101;2695:27:114;;;;;;2758:19;;3084:12:139;1253:71:120;;;;;;;;;;;;1245:80;;;:::i;:::-;1439:66;2881:28:114;:26;:28::i;:::-;2923:30;:28;:30::i;:::-;2967:27;:25;:27::i;:::-;3008:29;:27;:29::i;:::-;2732:327;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;2732:327:114;;;;;;;;;;;;;;;;;;;;;;;;;;;;2695:372;;;;-1:-1:-1;2695:372:114;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2671:396:114;;-1:-1:-1;2671:396:114;-1:-1:-1;2671:396:114;3075:41;;3089:27;3105:10;3089:15;:27::i;:::-;1253:69:119;;;-1:-1:-1;;;1253:69:119;;;2757:92:139;1286:11:119;2865::139;;;2858:100;1299:22:119;2974:12:139;;;2967:101;3194:27:114;;;;;;3246:17;;3084:12:139;1253:69:119;;;;;;;;;;;;1245:78;;;:::i;:::-;3231:70:114;;;;;6026:25:139;;;;6099:42;3294:4:114;6087:55:139;6067:18;;;6060:83;5999:18;;3231:70:114;;;-1:-1:-1;;3231:70:114;;;;;;;;;;;;;;;;;;;;;;;;;;;;3194:115;;;;-1:-1:-1;3194:115:114;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3170:139:114;;-1:-1:-1;3170:139:114;-1:-1:-1;3170:139:114;3317:41;;3331:27;3347:10;3331:15;:27::i;:::-;1253:71:120;;;-1:-1:-1;;;1253:71:120;;;2757:92:139;1286:11:120;2865::139;;;2858:100;1299:24:120;2974:12:139;;;2967:101;3391:27:114;;;;;;3443:17;;3084:12:139;1253:71:120;;;;;;;;;;;;1245:80;;;:::i;:::-;3428:72:114;;;;;6026:25:139;;;;6099:42;3493:4:114;6087:55:139;6067:18;;;6060:83;5999:18;;3428:72:114;;;-1:-1:-1;;3428:72:114;;;;;;;;;;;;;;;;;;;;;;;;;;;;3391:117;;;;-1:-1:-1;3391:117:114;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3367:141:114;;-1:-1:-1;3367:141:114;-1:-1:-1;3367:141:114;3516:41;;3530:27;3546:10;3530:15;:27::i;:::-;983:6:81;3707:223:114;;;;;6409:25:139;;;3672:27:114;3801:4;6470:55:139;;6450:18;;;6443:83;3817:95:114;6542:18:139;;;;6535:45;;;;3707:223:114;;;;;;;;;;6382:18:139;;;;3707:223:114;;;;;;;;;;;;;3672:264;;:27;;;;:264;;3707:223;3672:264;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;1813:2128:114:o;1925:95:97:-;1964:7;1986:29;:27;:29::i;2779:381::-;3063:34;3067:14;3063:34;3050:48;3046:2;3042:57;;3110:45;;-1:-1:-1;3145:10:97;3110:45;2779:381;:::o;3825:314:76:-;3939:16;;;3953:1;3939:16;;;;;;;;;3891:11;;;;3939:16;;;;;;;;;;;;-1:-1:-1;3939:16:76;3910:45;;3994:10;3961:9;3971:1;3961:12;;;;;;;;:::i;:::-;;;;;;;;;;;:44;;;;1047:74;;;-1:-1:-1;;;1047:74:76;;;2757:92:139;1080:16:76;2865:11:139;;;2858:100;1098:22:76;2974:12:139;;;2967:101;1047:74:76;;;;;;;;;;3084:12:139;;1047:74:76;;-1:-1:-1;;4028:62:76;;1039:83;;;:::i;:::-;4063:9;4074:1;1234:66;4028:24;:62::i;:::-;4012:78;;4104:29;4125:5;4112:20;;9917:5;9831:97;4104:29;4096:38;3825:314;-1:-1:-1;;;;3825:314:76:o;1975:200:119:-;2069:19;;;2086:1;2069:19;;;;;;;;;2022:6;;;;2069:19;;;;;;;;;;;;-1:-1:-1;2069:19:119;2036:52;;2110:18;2094:10;2105:1;2094:13;;;;;;;;:::i;:::-;;;;;;:34;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;2142:28:119;2159:10;2142:16;:28::i;:::-;2135:35;;;1975:200;:::o;2292:406::-;2390:19;;;2407:1;2390:19;;;;;;;;;2341:6;;;;2390:19;;;;;;;;;;;-1:-1:-1;2390:19:119;2355:54;;2433:24;2415:12;2428:1;2415:15;;;;;;;;:::i;:::-;;;;;;:42;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;2481:24;2463:12;2476:1;2463:15;;;;;;;;:::i;:::-;;;;;;:42;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;2529:24;2511:12;2524:1;2511:15;;;;;;;;:::i;:::-;;;;;;:42;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;2577:24;2559:12;2572:1;2559:15;;;;;;;;:::i;:::-;;;;;;:42;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;2625:24;2607:12;2620:1;2607:15;;;;;;;;:::i;2832:144::-;2921:15;;;2934:1;2921:15;;;;;;;;;2878:24;;2921:15;;;;;;;;;;;;;;;;;;;;2910:26;;2942:29;;;;;;;;;;;;;;;;;:8;2951:1;2942:11;;;;;;;;:::i;:::-;;;;;;:29;;;;2832:144;:::o;3116:260::-;3211:15;;;3224:1;3211:15;;;;;;;;;3164:26;;3211:15;;;;;;;;;;;;;;;;;;;;3198:28;;3232:23;;;;;;;;;;;;;;;;;:10;3243:1;3232:13;;;;;;;;:::i;:::-;;;;;;:23;;;;3261;;;;;;;;;;;;;;;;;:10;3272:1;3261:13;;;;;;;;:::i;:::-;;;;;;:23;;;;3290;;;;;;;;;;;;;;;;;:10;3301:1;3290:13;;;;;;;;:::i;:::-;;;;;;:23;;;;3319;;;;;;;;;;;;;;;;;:10;3330:1;3319:13;;;;;;;;:::i;:::-;;;;;;:23;;;;3348;;;;;;;;;;;;;;;;;:10;3359:1;3348:13;;;;;;;;:::i;501:217:108:-;704:6;698:13;691:4;683:6;679:17;672:40;1858:240:120;1952:19;;;1969:1;1952:19;;;;;;;;1905:6;;;;1952:19;1969:1;1952:19;;;;;;;;;;-1:-1:-1;1952:19:120;1919:52;;1993:18;1977:10;1988:1;1977:13;;;;;;;;:::i;:::-;;;;;;:34;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;2033:18;2017:10;2028:1;2017:13;;;;;;;;:::i;2215:246::-;2313:19;;;2330:1;2313:19;;;;;;;;2264:6;;;;2313:19;2330:1;2313:19;;;;;;;;;;-1:-1:-1;2313:19:120;2278:54;;2356:15;2338:12;2351:1;2338:15;;;;;;;;:::i;:::-;;;;;;:33;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;2395:17;2377:12;2390:1;2377:15;;;;;;;;:::i;2595:174::-;2684:15;;;2697:1;2684:15;;;2641:24;2684:15;;;;;;;;;;;;;;;;;;;;;;;;;;2673:26;;2705:29;;;;;;;;;;;;;;;;;:8;2714:1;2705:11;;;;;;;;:::i;:::-;;;;;;:29;;;;2740:24;;;;;;;;;;;;;;;;;:8;2749:1;2740:11;;;;;;;;:::i;2909:171::-;3004:15;;;3017:1;3004:15;;;2957:26;3004:15;;;;;;;;;;;;;;;;;;;;;;;;;;2991:28;;3025:21;;;;;;;;;;;;;;;;;:10;3036:1;3025:13;;;;;;;;:::i;:::-;;;;;;:21;;;;3052:23;;;;;;;;;;;;;;;;;:10;3063:1;3052:13;;;;;;;;:::i;1766:227:73:-;996:42;1855:22;1816:7;;1855:22;;;1883:106;;1931:10;1924:17;;;1766:227;:::o;1883:106::-;1969:13;1766:227;-1:-1:-1;1766:227:73:o;35212:541:71:-;35369:7;35506:242;35550:59;35591:7;35600:8;35550:40;:59::i;:::-;35627:31;;;;4044:19:54;:27;537:1:79;4043:44:54;4009:79;;;3996:93;35676:63:71;35715:11;35728:10;35676:38;:63::i;:::-;35506:17;:242::i;:::-;35493:255;35212:541;-1:-1:-1;;;;;35212:541:71:o;1247:2059:68:-;1315:6;647:2:79;1333:7:68;:14;:33;1329:85;;;1399:7;:14;1375:39;;;;;;;;;2349:25:139;;2337:2;2322:18;;2203:177;1375:39:68;;;;;;;;1329:85;1420:14;;;;1621:956;1645:7;:14;1641:1;:18;1621:956;;;1671:24;1698:32;:7;1706:1;1698:10;;;;;;;;:::i;:::-;;;;;;;:30;;;;;;;;:::i;:::-;;:32::i;:::-;1671:59;;1743:16;1763:1;1743:21;1739:404;;1928:15;;;;;1739:404;;;1972:17;;1968:175;;2096:38;;;;;;;;;;;;;;1968:175;2269:16;2254:31;;;;537:1:79;2531::68;2527;437:2:79;2509:19:68;:23;2508:40;2492:7;2500:1;2492:10;;;;;;;;:::i;:::-;;;;;;;2484:19;;;;;;;;:::i;:::-;:65;;2474:75;;;;;-1:-1:-1;2559:3:68;;1621:956;;;;902:1:79;2621:13:68;:34;2617:85;;;2664:38;;;;;;;;2349:25:139;;;2322:18;;2664:38:68;2203:177:139;2617:85:68;2802:14;;:30;;;537:1:79;1247:13;1259:1;334:2;1247:13;:::i;:::-;1246:30;;;;:::i;:::-;3090:41:68;;;3080:51;;;;;537:1:79;1425;1409:13;1421:1;334:2;1409:13;:::i;:::-;:17;;;;:::i;:::-;1408:34;;;;:::i;:::-;3147:47:68;;;3137:57;;;;;537:1:79;1597;;1577:13;1589:1;334:2;1577:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1576:38;;;;:::i;:::-;3210:49:68;;;;3200:59;;;;;1247:2059;-1:-1:-1;;;;1247:2059:68:o;49619:191:71:-;49721:7;49785;49794:8;49768:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;49768:35:71;;;;;;;;;49758:46;;49768:35;49758:46;;;;41226:22;49751:53;;49619:191;-1:-1:-1;;;49619:191:71:o;50636:242::-;50732:7;;;50771:84;50791:10;50787:14;;:1;:14;50771:84;;;50816:32;3996:93:54;4044:19;:27;;;537:1:79;4043:44:54;4009:79;;;3996:93;50816:32:71;;:::i;:::-;;-1:-1:-1;50803:3:71;;;;:::i;:::-;;;;50771:84;;;-1:-1:-1;50867:6:71;50636:242;-1:-1:-1;;;50636:242:71:o;8680:790:70:-;8778:14;8814:2;8804:6;:12;8800:112;;8873:2;8864:6;:11;8846:29;;;;8895:2;8885:12;;;;;;:::i;:::-;;;;8800:112;-1:-1:-1;9092:21:70;;9088:1;9076:14;;9072:42;9240:2;:11;;;9322:22;;;9318:148;;;9447:1;9431:14;9427:22;9421:29;9417:1;9402:13;9398:21;9394:57;9386:6;9383:69;9373:79;;8794:676;8680:790;;;;;:::o;3195:520:52:-;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:52:o;3312:401::-;3610:18;3596:10;:32;;;;;;;;:::i;:::-;;3592:121;;-1:-1:-1;3643:2:52;;3195:520;-1:-1:-1;;3195:520:52:o;3592:121::-;-1:-1:-1;3707:1:52;;3195:520;-1:-1:-1;;3195:520:52:o;3592:121::-;3270:445;3195:520;;;:::o;14:332:139:-;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;199:117;335:5;14:332;-1:-1:-1;;;14:332:139:o;774:184::-;-1:-1:-1;;;823:1:139;816:88;923:4;920:1;913:15;947:4;944:1;937:15;963:980;1031:6;1084:2;1072:9;1063:7;1059:23;1055:32;1052:52;;;1100:1;1097;1090:12;1052:52;1140:9;1127:23;1169:18;1210:2;1202:6;1199:14;1196:34;;;1226:1;1223;1216:12;1196:34;1264:6;1253:9;1249:22;1239:32;;1309:7;1302:4;1298:2;1294:13;1290:27;1280:55;;1331:1;1328;1321:12;1280:55;1367:2;1354:16;1389:2;1385;1382:10;1379:36;;;1395:18;;:::i;:::-;1529:2;1523:9;1591:4;1583:13;;-1:-1:-1;;1579:22:139;;;1603:2;1575:31;1571:40;1559:53;;;1627:18;;;1647:22;;;1624:46;1621:72;;;1673:18;;:::i;:::-;1713:10;1709:2;1702:22;1748:2;1740:6;1733:18;1788:7;1783:2;1778;1774;1770:11;1766:20;1763:33;1760:53;;;1809:1;1806;1799:12;1760:53;1865:2;1860;1856;1852:11;1847:2;1839:6;1835:15;1822:46;1910:1;1888:15;;;1905:2;1884:24;1877:35;;;;-1:-1:-1;1892:6:139;963:980;-1:-1:-1;;;;;963:980:139:o;2385:184::-;2455:6;2508:2;2496:9;2487:7;2483:23;2479:32;2476:52;;;2524:1;2521;2514:12;2476:52;-1:-1:-1;2547:16:139;;2385:184;-1:-1:-1;2385:184:139:o;3107:357::-;3225:12;;3272:4;3261:16;;;3255:23;;3225:12;3290:16;;3287:171;;;-1:-1:-1;;3364:4:139;3360:17;;;;3357:1;3353:25;3349:98;3338:110;;3107:357;-1:-1:-1;3107:357:139:o;3469:250::-;3554:1;3564:113;3578:6;3575:1;3572:13;3564:113;;;3654:11;;;3648:18;3635:11;;;3628:39;3600:2;3593:10;3564:113;;;-1:-1:-1;;3711:1:139;3693:16;;3686:27;3469:250::o;3724:882::-;3776:3;3814:5;3808:12;3841:6;3836:3;3829:19;3867:4;3908:2;3903:3;3899:12;3933:11;3960;3953:18;;4010:6;4007:1;4003:14;3996:5;3992:26;3980:38;;4052:2;4045:5;4041:14;4073:1;4083:497;4097:6;4094:1;4091:13;4083:497;;;4168:5;4162:4;4158:16;4153:3;4146:29;4204:6;4198:13;4246:2;4240:9;4275:8;4269:4;4262:22;4297:72;4360:8;4355:2;4349:4;4345:13;4340:2;4336;4332:11;4297:72;:::i;:::-;4558:12;;;;4422:2;4408:17;-1:-1:-1;;4404:90:139;4394:101;;;;4390:110;;;-1:-1:-1;4523:15:139;;;;4119:1;4112:9;4083:497;;;-1:-1:-1;4596:4:139;;3724:882;-1:-1:-1;;;;;;;3724:882:139:o;4611:912::-;5141:6;5130:9;5123:25;5184:6;5179:2;5168:9;5164:18;5157:34;5227:6;5222:2;5211:9;5207:18;5200:34;5270:6;5265:2;5254:9;5250:18;5243:34;5314:3;5308;5297:9;5293:19;5286:32;5104:4;5341:56;5392:3;5381:9;5377:19;5369:6;5341:56;:::i;:::-;5446:9;5438:6;5434:22;5428:3;5417:9;5413:19;5406:51;5474:43;5510:6;5502;5474:43;:::i;:::-;5466:51;4611:912;-1:-1:-1;;;;;;;;;4611:912:139:o;5528:287::-;5657:3;5695:6;5689:13;5711:66;5770:6;5765:3;5758:4;5750:6;5746:17;5711:66;:::i;:::-;5793:16;;;;;5528:287;-1:-1:-1;;5528:287:139:o;6591:184::-;-1:-1:-1;;;6640:1:139;6633:88;6740:4;6737:1;6730:15;6764:4;6761:1;6754:15;6780:184;-1:-1:-1;;;6829:1:139;6822:88;6929:4;6926:1;6919:15;6953:4;6950:1;6943:15;6969:184;-1:-1:-1;;;7018:1:139;7011:88;7118:4;7115:1;7108:15;7142:4;7139:1;7132:15;7158:128;7225:9;;;7246:11;;;7243:37;;;7260:18;;:::i;7291:168::-;7364:9;;;7395;;7412:15;;;7406:22;;7392:37;7382:71;;7433:18;;:::i;7464:640::-;7715:6;7710:3;7703:19;7685:3;7741:2;7774;7769:3;7765:12;7806:6;7800:13;7871:2;7863:6;7859:15;7892:1;7902:175;7916:6;7913:1;7910:13;7902:175;;;7979:13;;7965:28;;8015:14;;;;8052:15;;;;7938:1;7931:9;7902:175;;8109:125;8174:9;;;8195:10;;;8192:36;;;8208:18;;:::i;8239:195::-;8278:3;-1:-1:-1;;8302:5:139;8299:77;8296:103;;8379:18;;:::i;:::-;-1:-1:-1;8426:1:139;8415:13;;8239:195::o;8439:184::-;-1:-1:-1;;;8488:1:139;8481:88;8588:4;8585:1;8578:15;8612:4;8609:1;8602:15",
135
135
  "linkReferences": {},
136
136
  "immutableReferences": {
137
- "40383": [
137
+ "40447": [
138
138
  {
139
- "start": 1596,
139
+ "start": 1561,
140
140
  "length": 32
141
141
  },
142
142
  {
143
- "start": 1948,
143
+ "start": 1913,
144
144
  "length": 32
145
145
  },
146
146
  {
147
- "start": 2183,
147
+ "start": 2148,
148
148
  "length": 32
149
149
  }
150
150
  ]
@@ -159,7 +159,7 @@
159
159
  "installRoot(bytes)": "7c5b0335",
160
160
  "supportsInterface(bytes4)": "01ffc9a7"
161
161
  },
162
- "rawMetadata": "{\"compiler\":{\"version\":\"0.8.21+commit.d9974bed\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"Module_NonRootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_RootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"SchemaLib_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SchemaLib_StaticTypeAfterDynamicType\",\"type\":\"error\"},{\"inputs\":[],\"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\":[],\"name\":\"getName\",\"outputs\":[{\"internalType\":\"bytes16\",\"name\":\"\",\"type\":\"bytes16\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"install\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"args\",\"type\":\"bytes\"}],\"name\":\"installRoot\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"Module_RootInstallNotSupported()\":[{\"details\":\"Errors to represent non-support of specific installation types.\"}],\"SchemaLib_InvalidLength(uint256)\":[{\"details\":\"Error raised when the provided schema has an invalid length.\"}],\"SchemaLib_StaticTypeAfterDynamicType()\":[{\"details\":\"Error raised when a static type is placed after a dynamic type in a schema.\"}]},\"kind\":\"dev\",\"methods\":{\"_msgSender()\":{\"returns\":{\"sender\":\"The address of the trusted sender.\"}},\"_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.\"}},\"getName()\":{\"details\":\"Provides a way to identify the module by a unique name.\",\"returns\":{\"_0\":\"The name of the module as a bytes16.\"}},\"installRoot(bytes)\":{\"details\":\"This function is invoked by the World contract during `installRootModule` process. The module expects to be called via the World contract and thus installs itself on the `msg.sender`.\",\"params\":{\"args\":\"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\":\"Extracts the trusted msg.sender value from the appended 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.\"},\"getName()\":{\"notice\":\"Return the name of the module.\"},\"installRoot(bytes)\":{\"notice\":\"Installs the module as a root module.\"},\"supportsInterface(bytes4)\":{\"notice\":\"Checks if the given interfaceId is supported by this contract.\"}},\"notice\":\"This module deploys a hook that is called when a value is set in the `sourceTableId` provided in the install methods arguments. The hook keeps track of the keys that are in a given table. This mapping is stored in a global table that is registered when the module is first installed. Note: if a table with composite keys is used, only the first key is indexed Note: this module currently only supports `installRoot` (via `World.installRootModule`). TODO: add support for `install` (via `World.installModule`) by using `callFrom` with the `msgSender()`\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/modules/keysintable/KeysInTableModule.sol\":\"KeysInTableModule\"},\"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\":\"0x770eff7a38b9b7b1613dc11ca09db4f28b42a117c9b39b2a06a650a58a250bdb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39f544110658a53def52c2a4e33b8b158b95a4f14fccea58d5268b6e728d86d4\",\"dweb:/ipfs/QmTesj6tjSFbfAiKUitXapdNYWPStS8bLkB3r22qfyHwUC\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0xab31edce915377852bb5f29f7f2ccfc50cac087d64d2a8aae669715ad862d558\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3187e86e43be1fbdd59df45c695294f1114aa1ac48e6445c0cb26089434be5c4\",\"dweb:/ipfs/Qmck7shMVrcKMVkgN2pC1byPY7hb3V9fTxnUcGgxAUeXYk\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x2a0536cd6cecc479d0b81d5aad6380231f4d6873beadc54814d801c2036b02c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e07c041e19146a9ec258cc700a450b4d49440202895eb12f3bb17508427c23ba\",\"dweb:/ipfs/QmXoqrCGDSkuFgNSMURRFdjokjREL78nLDzNaUi6rjefy9\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0x045024523eb55d08ad8d13eca6185bff2988865f4aa12e3f9372029c2ecb8ddd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6621c53b49f8fe0557d1a1db47bfe1561801c09256948dd0652fb41541891a18\",\"dweb:/ipfs/QmZgFVCUH1pKcc9MeFyzMe1VW87SLz6c9szGwrDRUp6BZe\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x2bbc3c43400c15a91a5cb35430a91309cb64a4d13a0a170eacec71dcf334feaf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f44dfc9605067de539de07a76a34bf469faa9e6dad8c192abafc2e05860c7dd2\",\"dweb:/ipfs/QmX8xgG6XWokM7YFwFZvmMhuh1uhkSjxCMD2oTHjUVdapb\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x9092b65551d0f910e5645cebb5acadb387cdd192d75fa89cd6b293bd65b28827\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://478825a6f7eff9ddab968e71e1d55ebee279d3b318f10976d9334384000059c0\",\"dweb:/ipfs/Qme7NY976woRy3RQjE4tkkiwoXnoVtTmER3PbWCSbjZ2kb\"]},\"node_modules/@latticexyz/store/src/IStoreData.sol\":{\"keccak256\":\"0xa8eade05c551aeef35c84727d7a44af239516deb2d8a0cfb7ebeb5d88c6995e5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5335910bd8a204abb5f4396fb911a5ee5c221bd7fa63b1cc8ae5e737c6458c6a\",\"dweb:/ipfs/QmckkCAfrNcWo3yDxoD1jCe1k4iDA2GzVDpFjJZs7W79vx\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0xb9070663ded3cad82285bb7610949e422f88abb48c2ddbd792af83d127d64212\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://830490f1c888bec86df1e7ef43773d60ebdbdfdb2b91ab7fe074e2f38d7439dc\",\"dweb:/ipfs/QmS26fpXdZuGgMmjcdQDf9k1Bedn2dhjk9byFZJoNkctPZ\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0xdd3104680808f975462a85cbd4fa87783ba5395797419caeeca37e8f8627a16f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://943864b7eb16ad2047ade5a8598e85c8a4b46d1aed6aef02bfb7cee8de732b4d\",\"dweb:/ipfs/QmTEij4caToSNk15PFpubXYDy9QhwmPyP9tMXjUse2cTdv\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0xa6777c7868333996ad9c61a94457dcac702d8d7445a104dfdc86543d25e7470e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6268a16449d7529a94746d0103670dd0e38faf5117bf914fb01da9947ab44c2e\",\"dweb:/ipfs/QmaSfbx1QRA3jw2K8bGkQTw4CTGPUzNqnCJW7LwaFUJCXy\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xd2180d53ecd31069b1166f170ecdcd85917ac50f45fc26fb39b49cee7ba00e37\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1494bb0a3228e2d194bddaed4761fd3ca865979f0e3f3a53acd271143a4aa0ac\",\"dweb:/ipfs/Qmaddnzzmu99iP9dTWK9ZeByh5dZyjY9SpVnRdvyr2fBAo\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0xf448fbb2bc9c982721a43234463656da5a49cea08543e62148d54f11e1ac3e2f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://64b3579d9b9dcd73dca2beab3d4fcf60237420945ebbb2e9f4ffcc88f4110115\",\"dweb:/ipfs/QmaW5nN3zGEriSYHncye6Nz2TkAw1oo1CyG2JuJTJrJoXg\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x8b6c7af5ee330928aebb58c8872d3944304ee10ed11f8a325b6accc4ec5df81b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b866d158701c7a40834bed735194b804ef219f2bbe574e2307785fff7bcf9da1\",\"dweb:/ipfs/QmXzJfZkXVfyr2RFGwDuazeVnV3UWYmQxjKZ3KzFbbe75U\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0x69295976e61a1a108d1b4d6eb497b238730309f3047c4320d48e01a0ce8d4ec7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://559c451b21fb9dd4fec27b41bef42f4362f1e7ebb7992106d548b9d4f733b3e5\",\"dweb:/ipfs/QmeSE7YTW5zUrfZYFVb2pFnDe3XxiT8XNecfwC3wfpxCRv\"]},\"node_modules/@latticexyz/store/src/PackedCounter.sol\":{\"keccak256\":\"0x44ddfa9eb8a861462c550f0a9d66c40c68acdb347a61fa765949608407a2c7fb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://47ee957f4b19cab9e20bf5fc569c015eca13852fb3351f2a105a8be9c48204c0\",\"dweb:/ipfs/QmNkyzDobVQLoq9BtQ8HtgsPLiqnmi97EZx1wsu6wp8nKH\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x40983c580b8958e55db4520095934a535e98544ffe8228327e598973eb6647ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://839d658fa2bb2b1f09a08149d2bf0c26a26c301ad2dda8154fc99458085a695d\",\"dweb:/ipfs/Qmd5jHHYrgqraPqF8bjzT4xyjsoPk8K7pkxXLLfz6MRT6d\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x58aef318ba03f8ff8866ef70f8a30f549b150657ea699734aefe16c298956401\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7dc104690a7e2bcf5ce1afadcd58f8ef4d639b4b92b9ad9293656235d54395f3\",\"dweb:/ipfs/QmYJJvEv5KBJ3kzf9AkgRn7Uu5dp4exGTRddf4cae1btgE\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xfaf54b1f5acccd4c6ce3f8377050ee84efbb423cb604b4651e8b9ea3b467bf32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acf2ce7ffec21f28ad1dc6da06c342f1212a03a3d16a0be7ee85715a5940718c\",\"dweb:/ipfs/QmTCN3NSdFg87hi7KS2Xtq7PsmRUMG64SxC8PtP3p2GzuT\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x0893905ebe431a414226b479a84a54804091001a406222c748adbd4b651853a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bcfcd3848127884041f0bcd727a0e7acbddec283aa6c16ba47abc6a3be720648\",\"dweb:/ipfs/QmY5fBd53e4Ro6vzTZYsteSibSTXVA3GHTeCAiUZTa5DPZ\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x1dd80c8f47d425b611aa382a226a47919831976e0da7145a227c1bf629eec24d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac31d8551e5ef995d45e8eef1067e9793a2228cc3a539e16121d27083b203715\",\"dweb:/ipfs/QmWntan3y5oFxNnuvit8A4Xiuk2bMWasWTA7cqkh7Tk427\"]},\"node_modules/@latticexyz/store/src/StoreHook.sol\":{\"keccak256\":\"0xd267686b3961da4d9a39e2cd39b89d7074ed27a516a03085bb69a6efea0a424e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c8c96a99b6c8dab12799165b888ed5c647638a1114bec138dd65ad46c6d1cf34\",\"dweb:/ipfs/QmaMAkfEmRivfHts72hfYiiQiVc15QSRsXkPHM3d2AbFjf\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0xf132af10f960a498f49c0534027056e715f4bdcb8fbdb53ac6879c92309ab416\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e85a09aeb7543bcd9d74b7ad319ae61e1f7f15a6a0ad9e79aff750fbd18111c7\",\"dweb:/ipfs/QmY6xgqeeaR1FsCPLmFbVgjm1D2UyrXNABKXWLfFaSmBhR\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0xf337a5abb2d43ef00c1c200e7fbec30fc89c7c701e457ab4277194b700d2aea3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eccdf6158076b4e8f1b587a0310228f53323705e054a44eaa7733f38805c3ee6\",\"dweb:/ipfs/QmbXEVNTctg54dK9awdCVyAjeuUjR6ckfmmXBP8DrFmjyq\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xacf4aee01f167b98b2869bdf4407682fd9f18b85507048bc274bcb98d094948c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://86b114326973cef4f59c17e947945d09b90a0c48ede1da80f4f8aed0b6de179c\",\"dweb:/ipfs/QmZ6K6gZnV2ZdgbT8yG7Jz4HgoPymgdX3jTy6oUnG9xdgD\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xc2dc1bd6335fb0cc27cb7a80298d954d9ce0a0e9864d1dd8531aadb66c0ce21d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7e34a386bd44933010c4f5a4dbfe8b0b8e5e9e39eaead46a2ebef0018db9b72\",\"dweb:/ipfs/QmQPyAdLUmE2Y6Ai7t2n56USg25PGHYxxXWRi1zEkdyT6a\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xfecdfde3b41c04dcf43e9c19f84f6a7f77df0fd844928692742b47662a0b814c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://968e83ac99e8d1799730aa6f1f23962c3fe3566cd7ec8bcf97d297823c364764\",\"dweb:/ipfs/QmVnhbeg89ajfLP1U1HDLiWi8T7HuFtsXUydjKXyyPa7MP\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x42b9fd484a055e8e312a2396059fb76a962608fa3a875ea3da6e5aab79084d04\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://866fd30788245eb54ac09d70768c0b34846d361b4219781c814fb06e38fb546c\",\"dweb:/ipfs/QmRbLCYjZ9qefcC8q7gnsAUsqCTEjdRtRnXdSNB1x7saPz\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x9e37c64c119ef07ad914bc589ee3f6d67946ab95877978c1ee3e2c1ffae07076\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3fad47e542025382aa28e8171253e34f93b2f149434b67a26989542d70218793\",\"dweb:/ipfs/QmW6JsKNwPc6oAMrgcikgR2EPwMUtQANiuZSQSGCd29HHC\"]},\"node_modules/@latticexyz/store/src/leftMask.sol\":{\"keccak256\":\"0xd0360567e4d77c6a8e3d8a5f4bf3653ccde4d268674c50988d55695dc6193f6f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53e6bcb53fcb08ee9426225fdab7c41df91e12cb4f80d92895a6117338627401\",\"dweb:/ipfs/QmeLcaPGeMBpNSTSsPYK3PHpzKuGMjuitCweAWcoXK2mXr\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x60880298016fa117ed9a43ddfd020f11d98a2d345bdcb08e5884e40df98eddd5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3619dfda1fd514c0fc5fb34c14d5b5aa41dd6ba6045d37d5f4c8199f3a826f81\",\"dweb:/ipfs/QmbzRBYfVa423gNzCitpGN3i2N9oeGYfinVE1jgtqxnNZX\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0xada1867ba72930fc5cf5562dd4e36de849dbac9c833b7969cb1b046a808fabf2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e4b5fdcaa54f567a3f8561c2c3fbc0d68c8dad892a4a8e5418bbce8efc53d84\",\"dweb:/ipfs/QmTWbYJX1yrCqrEwUKB9rGpHdRvLNU8GCkBbxnLjGD4d2t\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x1af0fd984640123391ec2df855d00298504b7ce186a56c2caca769cfd9e08e04\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7305a62318890d2cc6420ba7dec13d9f2c1cb67ac689015fc83b9cbccd0696f1\",\"dweb:/ipfs/QmR8jGNLbt64Tv1YZKRVBCVsd71oeUQFzGHHtpsrs4PuRq\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x1c280d24360282e196d9c4833c58c2437108cea2af0ac7596f95be81389e306d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6b4556b6eeae9328fbd9adcce346547e823c397503276a4d63effb67e00b5b49\",\"dweb:/ipfs/QmUsynVsMYzjh8oJR8YB7SRrwFMdXcsQsHBrXxLEEFxsiB\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x5cacd4cb371e0a79bc8d64f62349d568fd8b08093c11ae0c3db4f16480d8808b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://12b64ddf2b5c19cf68ba93a8153ed79cbafe7a91e015d4b2f25eb1d42ab06256\",\"dweb:/ipfs/QmQz5WwztcuTbSGFv2pkhU3w5scUj1gmavoyUpduxk2v3A\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x01029999a48b7c1d85de84cae465dd24ec126c95b8a865cd20c7ed5dfcc0f02c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9750164ce996badb0fd7df2f526780b9cb9558912405fe46f31064bd7c522491\",\"dweb:/ipfs/QmYf8m2ZXFANRc9ysHgNkNtSF327ccxKYjCUJ49UXBKADk\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0x7997ebbdee6a2493f28e7032c7a8b906ade40f807d95734e2653c8f1b023ff47\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c8ca41bb2619bf27e5bf886d1322f0e2dffd096c49f7ae6e716541dd1e1ddce5\",\"dweb:/ipfs/Qmb8zATUWWTtiWaSLjbAe6PGnJPes9ANvEyk7pYoWR3P3Y\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xec02d49b84a882c9cf01e4e5c16f890ed7c52db945fd43a6f97ffe87730ba0d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8f8ee1a3aaac5789b36808bdae2e26e32d1664583a6b21680b5721f04d81bbc3\",\"dweb:/ipfs/Qmd4L3vGQiavSCe9g2k7riyA6cer3ruuxRFehAJCSxNRfw\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0xb2114b6b66c0e7d8304d9e1d06aa1d0731f089daa6a0584e6cf744d9c48cf4db\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ebbb172970b106dd4ae5a6d5e417ac75cad7529d2b94c1601e10b886d0edf510\",\"dweb:/ipfs/QmPGn4F92hjkFch6Jh2NB37EYLLfstw6JxJKUZjXBFqGCw\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0x22b8cb3ffcc21cb1657d57fc8ac929d2d6fdd199328e6f43ad2cb54f53dcd500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://47c001f6b7c6d6e453c340618d23b1532078abb7d0fd7283405071e4e8ff8d2d\",\"dweb:/ipfs/QmRW3femBhqQCPwDEj4Jop2Dnd3EU21ufg7GDVwN4joCQu\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0xc3e7975e5785574543229eac51e3441f4185863d7f5346c0ae08a27b4541f8a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://62cc0dc109e6e5475bb07fb95643a31c74337c23521db0557a36dad6117a1e83\",\"dweb:/ipfs/Qmb8jbE1XQTUdreKFr4Jw3xmjctaLuReRZjPxZKQ2uW9p4\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0x9dc133cb55dc23fd6fcbbef8078bb4ea9bf67d698400cf89fc62b905b60cf5eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7c1a57df7052218483eafe72d873660f39a73e2e06c1b14ad8a579d85b94bc6c\",\"dweb:/ipfs/Qme7dnjvADGZyM2L7nZ51nSjsjXXF9isTVCpWaUCd1cEGs\"]},\"node_modules/@latticexyz/world/src/Module.sol\":{\"keccak256\":\"0x652a3d6a3721a1c3f36abd7a398b16ae7d9e30ddbf54d8dc4494343dadb9f719\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c33d2bb71a7ae8823233fa399f778fe86e9bb078889a092fcd1ed9e7838873e5\",\"dweb:/ipfs/QmYM6JQ4syoxQLCXC4evHVEwbsTuXgS42HZZ9Fho7J9EXr\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x45792667fe063195103e9fd74e3e9e0b0b4aea4fc4a0a8a3e69538c14751217b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cba8976da1e2f7e336045e8d65eba89d18ae49e4688de61ff61a95fb817fe9fc\",\"dweb:/ipfs/QmWoByJM6DmheS2jisxSvAzrqC6XWrgaKxoNNUr44aXJtE\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xb7bfae2890004001221b3902d185c14cfea0e606d16914f6b7f81cf112aa9417\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acfd0d09166fc1bf16a8a5c80fbae1bd42426b2fcbab3c492bc836ea5c0375fb\",\"dweb:/ipfs/QmTzZWHVBkx8hipFVpgEwAbZpr4c6hfr7yf7R71JojT3NK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0xc912f14d0f2e2e9e728a9d18e250ebe3eb2f51d0b4d79993c9d997991bbd5593\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://29621425847a1c11205307896b04e2a6c97934dd619f23ce6774ce52520f1255\",\"dweb:/ipfs/QmeuTe3q8U11Dqkp5tahxVWnp9Cd5ezQmRZ5vhEHtv14Eu\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xf04594c29c5c5b3110453ac189a8008735753de864ab4a7dfa97ccd3ae5f4a55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a3061f72b969a294dc96c3b2e59277e762ce6571cedcc7e280412431453dde5\",\"dweb:/ipfs/QmWB9aboakrCH9AmzGiZ1mCceh9atF4ks5ndEYFzUVbaHT\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf96aee478cc770cd9cd417b7939c38c9b9b075c91f3f47bdf8c6742f5591e9dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9c59c4c9a6ab3d64e2b0d7c9f3df2d330a36fc93ac2ab5e5f907fa881fbed1f8\",\"dweb:/ipfs/QmTbd82cCtDwc8Ga1UsWAKXmFYrWU1zkbCCk1nMspqWdZu\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0xb4d323470e22b1d3f0168a44196eb09466f602b7564c75e5739c5f53a5036f97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acad752208d00b731baaa1cfa192ff3981001fd030953bdc604e4f69ec2cd0b8\",\"dweb:/ipfs/QmRFw3RgmX2CHqg7PqsP3rqVKxBVYNq5hHcFiyA2Y7iAaX\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/ICoreSystem.sol\":{\"keccak256\":\"0xf837b53eaa348da3b3650e0b7159de02d3f84897d96e487ece2f932c272dbe57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fbdc52e9e519c8c6d4a00caf4de08688eb8eb34dbfc6236308f281d7cf05b51b\",\"dweb:/ipfs/QmWnogXiA5KA6JGxCTJR5W1MNFowrH7baSAYhSXjV1xM47\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x5be1d1ee90a7a03258e8c4fce7542453332c637a51b015e0cc29151ef2792263\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6d97356b2ca9d97b7593f4c0772742529fea73f1665e55a879a368b399cae0\",\"dweb:/ipfs/QmXCs5X4Z95isKRzjP4TQjQxwiB7773tHiJWLWkjLv3SLj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0xd7e31957e7fcf056912fe16e10a0411bdb071c14c45853e7da264dfbfd6bcb62\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c4ce02327ac8971177685fc2655733ed3c07f5dfb72846680544a48953180aad\",\"dweb:/ipfs/QmQMNtkeCXdZfyyvtY8vUrKh5RUbpM7HYMGrzbxZGzTEFh\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0x36c772d51a5da46fcddf88831194d6d331083b8c8246fa79107c4b697c258d77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2d2656374c398a2b075d5f26d2ab2c3ea315c99912e52d8030d50f5f8fdda8ac\",\"dweb:/ipfs/QmSG8uJr2ZbFVnht5cTG6xb6XbB6f3kvnznks4BdeAMYET\"]},\"node_modules/@latticexyz/world/src/modules/core/types.sol\":{\"keccak256\":\"0x256b3269e1e7eb6c8b6e26432bbe6799b4d45a88ef1b0e795ea71e604cec3a8a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99bf6320ce9671ed74e7352b4e6c462d741ca9a894c48b526e7d8513308fa6b3\",\"dweb:/ipfs/QmRFJcWFMDRkg7soJ4r4MrqacKmj16vUEMFEGWJuvFi4vJ\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0x16795bdbfd7956d733df9ada1030ee7a1a714e3b9da5899149a7b07568c4af55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a71128b4989e78215d5fc57dae8c2f84c6b5e503c159178c0df6f642b8228df\",\"dweb:/ipfs/QmNYTfBe62SdGESZ32fxME72CbAxEqk4j79jBT7655C4u7\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xe31ee781596541f60ed71ef327c9d26ffc899e7fb3f4991c67406518bfc00746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f7b864fea8c77833a322b16c4673f110d5065d0cafcedecd07895699cf4258c2\",\"dweb:/ipfs/QmRkzXVjMLwQFWxjEjgfdXVPAp6SU4zfxPo4NJcmz8HwH9\"]},\"src/modules/keysintable/KeysInTableHook.sol\":{\"keccak256\":\"0x5c99ca28f8f1cf7bbd4a81a740bdbf1bf3868cbcf67413375e693e6d0ddfae13\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fd577beb914ac63b06ca53e2bac25ab7d59bd5db3e939b17d26ec651780ad673\",\"dweb:/ipfs/QmXff1gvwQ3z2DSZpd4v78qx2kWtDPA4PXZbrgW4qHZC7G\"]},\"src/modules/keysintable/KeysInTableModule.sol\":{\"keccak256\":\"0xd9242dcc6e8a9d5e007c515f5fee69283e88b107184f0130a5646bcb71ccf212\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://407060762d00c75be697f361d7e3fa6f0058541b8a8c5d3d25560be4e9bc64b9\",\"dweb:/ipfs/QmcF8rpeRt9TfF2dR1Psf1CMB1eMUHvVZ5xD3wdzC84pT9\"]},\"src/modules/keysintable/tables/KeysInTable.sol\":{\"keccak256\":\"0x7593d024fa73d26b9b5f912505f9d29323d3af111d538ac359cc44a9a14b2820\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f2f0f417dc6a40d963e656776bdfee62da8f43a1340a6b4a2edd3c2341b07f1\",\"dweb:/ipfs/QmSVunrK9XxduA1BSNHFnKHZqKcnk49kp734wKT2jn85Tz\"]},\"src/modules/keysintable/tables/UsedKeysIndex.sol\":{\"keccak256\":\"0xd882718639cdeb1f3beb590d28577ce4a5c95fdf5394bbd81efcbc8743316c5b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc8579f0af7b3d6766c071362881fa67ba66ada34e2dbdc05fa2e40c553c5dd2\",\"dweb:/ipfs/QmX1xiomkgop99y9TA7FxRwjp3dfAMmQtw3skcRg8YDRhW\"]}},\"version\":1}",
162
+ "rawMetadata": "{\"compiler\":{\"version\":\"0.8.21+commit.d9974bed\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"Module_NonRootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_RootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"SchemaLib_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SchemaLib_StaticTypeAfterDynamicType\",\"type\":\"error\"},{\"inputs\":[],\"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\":[],\"name\":\"getName\",\"outputs\":[{\"internalType\":\"bytes16\",\"name\":\"\",\"type\":\"bytes16\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"install\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"args\",\"type\":\"bytes\"}],\"name\":\"installRoot\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"Module_RootInstallNotSupported()\":[{\"details\":\"Errors to represent non-support of specific installation types.\"}],\"SchemaLib_InvalidLength(uint256)\":[{\"details\":\"Error raised when the provided schema has an invalid length.\"}],\"SchemaLib_StaticTypeAfterDynamicType()\":[{\"details\":\"Error raised when a static type is placed after a dynamic type in a schema.\"}]},\"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.\"}},\"getName()\":{\"details\":\"Provides a way to identify the module by a unique name.\",\"returns\":{\"_0\":\"The name of the module as a bytes16.\"}},\"installRoot(bytes)\":{\"details\":\"This function is invoked by the World contract during `installRootModule` process. The module expects to be called via the World contract and thus installs itself on the `msg.sender`.\",\"params\":{\"args\":\"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.\"},\"getName()\":{\"notice\":\"Return the name of the module.\"},\"installRoot(bytes)\":{\"notice\":\"Installs the module as a root module.\"},\"supportsInterface(bytes4)\":{\"notice\":\"Checks if the given interfaceId is supported by this contract.\"}},\"notice\":\"This module deploys a hook that is called when a value is set in the `sourceTableId` provided in the install methods arguments. The hook keeps track of the keys that are in a given table. This mapping is stored in a global table that is registered when the module is first installed. Note: if a table with composite keys is used, only the first key is indexed Note: this module currently only supports `installRoot` (via `World.installRootModule`). TODO: add support for `install` (via `World.installModule`) by using `callFrom` with the `msgSender()`\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/modules/keysintable/KeysInTableModule.sol\":\"KeysInTableModule\"},\"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\":\"0x770eff7a38b9b7b1613dc11ca09db4f28b42a117c9b39b2a06a650a58a250bdb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39f544110658a53def52c2a4e33b8b158b95a4f14fccea58d5268b6e728d86d4\",\"dweb:/ipfs/QmTesj6tjSFbfAiKUitXapdNYWPStS8bLkB3r22qfyHwUC\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0xab31edce915377852bb5f29f7f2ccfc50cac087d64d2a8aae669715ad862d558\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3187e86e43be1fbdd59df45c695294f1114aa1ac48e6445c0cb26089434be5c4\",\"dweb:/ipfs/Qmck7shMVrcKMVkgN2pC1byPY7hb3V9fTxnUcGgxAUeXYk\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x2a0536cd6cecc479d0b81d5aad6380231f4d6873beadc54814d801c2036b02c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e07c041e19146a9ec258cc700a450b4d49440202895eb12f3bb17508427c23ba\",\"dweb:/ipfs/QmXoqrCGDSkuFgNSMURRFdjokjREL78nLDzNaUi6rjefy9\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0x045024523eb55d08ad8d13eca6185bff2988865f4aa12e3f9372029c2ecb8ddd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6621c53b49f8fe0557d1a1db47bfe1561801c09256948dd0652fb41541891a18\",\"dweb:/ipfs/QmZgFVCUH1pKcc9MeFyzMe1VW87SLz6c9szGwrDRUp6BZe\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x2bbc3c43400c15a91a5cb35430a91309cb64a4d13a0a170eacec71dcf334feaf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f44dfc9605067de539de07a76a34bf469faa9e6dad8c192abafc2e05860c7dd2\",\"dweb:/ipfs/QmX8xgG6XWokM7YFwFZvmMhuh1uhkSjxCMD2oTHjUVdapb\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x9092b65551d0f910e5645cebb5acadb387cdd192d75fa89cd6b293bd65b28827\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://478825a6f7eff9ddab968e71e1d55ebee279d3b318f10976d9334384000059c0\",\"dweb:/ipfs/Qme7NY976woRy3RQjE4tkkiwoXnoVtTmER3PbWCSbjZ2kb\"]},\"node_modules/@latticexyz/store/src/IStoreData.sol\":{\"keccak256\":\"0xa8eade05c551aeef35c84727d7a44af239516deb2d8a0cfb7ebeb5d88c6995e5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5335910bd8a204abb5f4396fb911a5ee5c221bd7fa63b1cc8ae5e737c6458c6a\",\"dweb:/ipfs/QmckkCAfrNcWo3yDxoD1jCe1k4iDA2GzVDpFjJZs7W79vx\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0xb9070663ded3cad82285bb7610949e422f88abb48c2ddbd792af83d127d64212\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://830490f1c888bec86df1e7ef43773d60ebdbdfdb2b91ab7fe074e2f38d7439dc\",\"dweb:/ipfs/QmS26fpXdZuGgMmjcdQDf9k1Bedn2dhjk9byFZJoNkctPZ\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0xdd3104680808f975462a85cbd4fa87783ba5395797419caeeca37e8f8627a16f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://943864b7eb16ad2047ade5a8598e85c8a4b46d1aed6aef02bfb7cee8de732b4d\",\"dweb:/ipfs/QmTEij4caToSNk15PFpubXYDy9QhwmPyP9tMXjUse2cTdv\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0xa6777c7868333996ad9c61a94457dcac702d8d7445a104dfdc86543d25e7470e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6268a16449d7529a94746d0103670dd0e38faf5117bf914fb01da9947ab44c2e\",\"dweb:/ipfs/QmaSfbx1QRA3jw2K8bGkQTw4CTGPUzNqnCJW7LwaFUJCXy\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xd2180d53ecd31069b1166f170ecdcd85917ac50f45fc26fb39b49cee7ba00e37\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1494bb0a3228e2d194bddaed4761fd3ca865979f0e3f3a53acd271143a4aa0ac\",\"dweb:/ipfs/Qmaddnzzmu99iP9dTWK9ZeByh5dZyjY9SpVnRdvyr2fBAo\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0xf448fbb2bc9c982721a43234463656da5a49cea08543e62148d54f11e1ac3e2f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://64b3579d9b9dcd73dca2beab3d4fcf60237420945ebbb2e9f4ffcc88f4110115\",\"dweb:/ipfs/QmaW5nN3zGEriSYHncye6Nz2TkAw1oo1CyG2JuJTJrJoXg\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x8b6c7af5ee330928aebb58c8872d3944304ee10ed11f8a325b6accc4ec5df81b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b866d158701c7a40834bed735194b804ef219f2bbe574e2307785fff7bcf9da1\",\"dweb:/ipfs/QmXzJfZkXVfyr2RFGwDuazeVnV3UWYmQxjKZ3KzFbbe75U\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0x69295976e61a1a108d1b4d6eb497b238730309f3047c4320d48e01a0ce8d4ec7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://559c451b21fb9dd4fec27b41bef42f4362f1e7ebb7992106d548b9d4f733b3e5\",\"dweb:/ipfs/QmeSE7YTW5zUrfZYFVb2pFnDe3XxiT8XNecfwC3wfpxCRv\"]},\"node_modules/@latticexyz/store/src/PackedCounter.sol\":{\"keccak256\":\"0x44ddfa9eb8a861462c550f0a9d66c40c68acdb347a61fa765949608407a2c7fb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://47ee957f4b19cab9e20bf5fc569c015eca13852fb3351f2a105a8be9c48204c0\",\"dweb:/ipfs/QmNkyzDobVQLoq9BtQ8HtgsPLiqnmi97EZx1wsu6wp8nKH\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x40983c580b8958e55db4520095934a535e98544ffe8228327e598973eb6647ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://839d658fa2bb2b1f09a08149d2bf0c26a26c301ad2dda8154fc99458085a695d\",\"dweb:/ipfs/Qmd5jHHYrgqraPqF8bjzT4xyjsoPk8K7pkxXLLfz6MRT6d\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x58aef318ba03f8ff8866ef70f8a30f549b150657ea699734aefe16c298956401\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7dc104690a7e2bcf5ce1afadcd58f8ef4d639b4b92b9ad9293656235d54395f3\",\"dweb:/ipfs/QmYJJvEv5KBJ3kzf9AkgRn7Uu5dp4exGTRddf4cae1btgE\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xfaf54b1f5acccd4c6ce3f8377050ee84efbb423cb604b4651e8b9ea3b467bf32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acf2ce7ffec21f28ad1dc6da06c342f1212a03a3d16a0be7ee85715a5940718c\",\"dweb:/ipfs/QmTCN3NSdFg87hi7KS2Xtq7PsmRUMG64SxC8PtP3p2GzuT\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x0893905ebe431a414226b479a84a54804091001a406222c748adbd4b651853a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bcfcd3848127884041f0bcd727a0e7acbddec283aa6c16ba47abc6a3be720648\",\"dweb:/ipfs/QmY5fBd53e4Ro6vzTZYsteSibSTXVA3GHTeCAiUZTa5DPZ\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x95b7d62d84b43777c54dd1c7d941dbb5ba0afc02c444c30cfdb1de671bbbf180\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fe62a2fdb2a73610c3072f31b7f88ed3f9d03c1009fe0f0ef37a7eb814b23534\",\"dweb:/ipfs/QmV85zaV5HAD6eGc5N4RmdtmpR6EwkswVLQTaR2aJqsXrj\"]},\"node_modules/@latticexyz/store/src/StoreHook.sol\":{\"keccak256\":\"0xd267686b3961da4d9a39e2cd39b89d7074ed27a516a03085bb69a6efea0a424e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c8c96a99b6c8dab12799165b888ed5c647638a1114bec138dd65ad46c6d1cf34\",\"dweb:/ipfs/QmaMAkfEmRivfHts72hfYiiQiVc15QSRsXkPHM3d2AbFjf\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0xf132af10f960a498f49c0534027056e715f4bdcb8fbdb53ac6879c92309ab416\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e85a09aeb7543bcd9d74b7ad319ae61e1f7f15a6a0ad9e79aff750fbd18111c7\",\"dweb:/ipfs/QmY6xgqeeaR1FsCPLmFbVgjm1D2UyrXNABKXWLfFaSmBhR\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0xf337a5abb2d43ef00c1c200e7fbec30fc89c7c701e457ab4277194b700d2aea3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eccdf6158076b4e8f1b587a0310228f53323705e054a44eaa7733f38805c3ee6\",\"dweb:/ipfs/QmbXEVNTctg54dK9awdCVyAjeuUjR6ckfmmXBP8DrFmjyq\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xacf4aee01f167b98b2869bdf4407682fd9f18b85507048bc274bcb98d094948c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://86b114326973cef4f59c17e947945d09b90a0c48ede1da80f4f8aed0b6de179c\",\"dweb:/ipfs/QmZ6K6gZnV2ZdgbT8yG7Jz4HgoPymgdX3jTy6oUnG9xdgD\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xc2dc1bd6335fb0cc27cb7a80298d954d9ce0a0e9864d1dd8531aadb66c0ce21d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7e34a386bd44933010c4f5a4dbfe8b0b8e5e9e39eaead46a2ebef0018db9b72\",\"dweb:/ipfs/QmQPyAdLUmE2Y6Ai7t2n56USg25PGHYxxXWRi1zEkdyT6a\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xfecdfde3b41c04dcf43e9c19f84f6a7f77df0fd844928692742b47662a0b814c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://968e83ac99e8d1799730aa6f1f23962c3fe3566cd7ec8bcf97d297823c364764\",\"dweb:/ipfs/QmVnhbeg89ajfLP1U1HDLiWi8T7HuFtsXUydjKXyyPa7MP\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x42b9fd484a055e8e312a2396059fb76a962608fa3a875ea3da6e5aab79084d04\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://866fd30788245eb54ac09d70768c0b34846d361b4219781c814fb06e38fb546c\",\"dweb:/ipfs/QmRbLCYjZ9qefcC8q7gnsAUsqCTEjdRtRnXdSNB1x7saPz\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x9e37c64c119ef07ad914bc589ee3f6d67946ab95877978c1ee3e2c1ffae07076\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3fad47e542025382aa28e8171253e34f93b2f149434b67a26989542d70218793\",\"dweb:/ipfs/QmW6JsKNwPc6oAMrgcikgR2EPwMUtQANiuZSQSGCd29HHC\"]},\"node_modules/@latticexyz/store/src/leftMask.sol\":{\"keccak256\":\"0xd0360567e4d77c6a8e3d8a5f4bf3653ccde4d268674c50988d55695dc6193f6f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53e6bcb53fcb08ee9426225fdab7c41df91e12cb4f80d92895a6117338627401\",\"dweb:/ipfs/QmeLcaPGeMBpNSTSsPYK3PHpzKuGMjuitCweAWcoXK2mXr\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x60880298016fa117ed9a43ddfd020f11d98a2d345bdcb08e5884e40df98eddd5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3619dfda1fd514c0fc5fb34c14d5b5aa41dd6ba6045d37d5f4c8199f3a826f81\",\"dweb:/ipfs/QmbzRBYfVa423gNzCitpGN3i2N9oeGYfinVE1jgtqxnNZX\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0xada1867ba72930fc5cf5562dd4e36de849dbac9c833b7969cb1b046a808fabf2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e4b5fdcaa54f567a3f8561c2c3fbc0d68c8dad892a4a8e5418bbce8efc53d84\",\"dweb:/ipfs/QmTWbYJX1yrCqrEwUKB9rGpHdRvLNU8GCkBbxnLjGD4d2t\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x1af0fd984640123391ec2df855d00298504b7ce186a56c2caca769cfd9e08e04\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7305a62318890d2cc6420ba7dec13d9f2c1cb67ac689015fc83b9cbccd0696f1\",\"dweb:/ipfs/QmR8jGNLbt64Tv1YZKRVBCVsd71oeUQFzGHHtpsrs4PuRq\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x1c280d24360282e196d9c4833c58c2437108cea2af0ac7596f95be81389e306d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6b4556b6eeae9328fbd9adcce346547e823c397503276a4d63effb67e00b5b49\",\"dweb:/ipfs/QmUsynVsMYzjh8oJR8YB7SRrwFMdXcsQsHBrXxLEEFxsiB\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x5cacd4cb371e0a79bc8d64f62349d568fd8b08093c11ae0c3db4f16480d8808b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://12b64ddf2b5c19cf68ba93a8153ed79cbafe7a91e015d4b2f25eb1d42ab06256\",\"dweb:/ipfs/QmQz5WwztcuTbSGFv2pkhU3w5scUj1gmavoyUpduxk2v3A\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x01029999a48b7c1d85de84cae465dd24ec126c95b8a865cd20c7ed5dfcc0f02c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9750164ce996badb0fd7df2f526780b9cb9558912405fe46f31064bd7c522491\",\"dweb:/ipfs/QmYf8m2ZXFANRc9ysHgNkNtSF327ccxKYjCUJ49UXBKADk\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0x7997ebbdee6a2493f28e7032c7a8b906ade40f807d95734e2653c8f1b023ff47\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c8ca41bb2619bf27e5bf886d1322f0e2dffd096c49f7ae6e716541dd1e1ddce5\",\"dweb:/ipfs/Qmb8zATUWWTtiWaSLjbAe6PGnJPes9ANvEyk7pYoWR3P3Y\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xec02d49b84a882c9cf01e4e5c16f890ed7c52db945fd43a6f97ffe87730ba0d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8f8ee1a3aaac5789b36808bdae2e26e32d1664583a6b21680b5721f04d81bbc3\",\"dweb:/ipfs/Qmd4L3vGQiavSCe9g2k7riyA6cer3ruuxRFehAJCSxNRfw\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0xb2114b6b66c0e7d8304d9e1d06aa1d0731f089daa6a0584e6cf744d9c48cf4db\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ebbb172970b106dd4ae5a6d5e417ac75cad7529d2b94c1601e10b886d0edf510\",\"dweb:/ipfs/QmPGn4F92hjkFch6Jh2NB37EYLLfstw6JxJKUZjXBFqGCw\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0x22b8cb3ffcc21cb1657d57fc8ac929d2d6fdd199328e6f43ad2cb54f53dcd500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://47c001f6b7c6d6e453c340618d23b1532078abb7d0fd7283405071e4e8ff8d2d\",\"dweb:/ipfs/QmRW3femBhqQCPwDEj4Jop2Dnd3EU21ufg7GDVwN4joCQu\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0xc3e7975e5785574543229eac51e3441f4185863d7f5346c0ae08a27b4541f8a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://62cc0dc109e6e5475bb07fb95643a31c74337c23521db0557a36dad6117a1e83\",\"dweb:/ipfs/Qmb8jbE1XQTUdreKFr4Jw3xmjctaLuReRZjPxZKQ2uW9p4\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0x9dc133cb55dc23fd6fcbbef8078bb4ea9bf67d698400cf89fc62b905b60cf5eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7c1a57df7052218483eafe72d873660f39a73e2e06c1b14ad8a579d85b94bc6c\",\"dweb:/ipfs/Qme7dnjvADGZyM2L7nZ51nSjsjXXF9isTVCpWaUCd1cEGs\"]},\"node_modules/@latticexyz/world/src/Module.sol\":{\"keccak256\":\"0x652a3d6a3721a1c3f36abd7a398b16ae7d9e30ddbf54d8dc4494343dadb9f719\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c33d2bb71a7ae8823233fa399f778fe86e9bb078889a092fcd1ed9e7838873e5\",\"dweb:/ipfs/QmYM6JQ4syoxQLCXC4evHVEwbsTuXgS42HZZ9Fho7J9EXr\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0xa11d93077d94f18683f1098b69c4713a48001ae15054476135ec9569041abb9a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b1d3384def68b4061c445b55602dd9cbcd4e8c58c13db5e945f284a05c1b518\",\"dweb:/ipfs/Qma5DUZrSKZUxrxiGCpyRPWMJNdHU2wu6qDEsFWEJSnLfN\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xb7bfae2890004001221b3902d185c14cfea0e606d16914f6b7f81cf112aa9417\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acfd0d09166fc1bf16a8a5c80fbae1bd42426b2fcbab3c492bc836ea5c0375fb\",\"dweb:/ipfs/QmTzZWHVBkx8hipFVpgEwAbZpr4c6hfr7yf7R71JojT3NK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0xc912f14d0f2e2e9e728a9d18e250ebe3eb2f51d0b4d79993c9d997991bbd5593\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://29621425847a1c11205307896b04e2a6c97934dd619f23ce6774ce52520f1255\",\"dweb:/ipfs/QmeuTe3q8U11Dqkp5tahxVWnp9Cd5ezQmRZ5vhEHtv14Eu\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xf04594c29c5c5b3110453ac189a8008735753de864ab4a7dfa97ccd3ae5f4a55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a3061f72b969a294dc96c3b2e59277e762ce6571cedcc7e280412431453dde5\",\"dweb:/ipfs/QmWB9aboakrCH9AmzGiZ1mCceh9atF4ks5ndEYFzUVbaHT\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf96aee478cc770cd9cd417b7939c38c9b9b075c91f3f47bdf8c6742f5591e9dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9c59c4c9a6ab3d64e2b0d7c9f3df2d330a36fc93ac2ab5e5f907fa881fbed1f8\",\"dweb:/ipfs/QmTbd82cCtDwc8Ga1UsWAKXmFYrWU1zkbCCk1nMspqWdZu\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0xb4d323470e22b1d3f0168a44196eb09466f602b7564c75e5739c5f53a5036f97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acad752208d00b731baaa1cfa192ff3981001fd030953bdc604e4f69ec2cd0b8\",\"dweb:/ipfs/QmRFw3RgmX2CHqg7PqsP3rqVKxBVYNq5hHcFiyA2Y7iAaX\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/ICoreSystem.sol\":{\"keccak256\":\"0xf837b53eaa348da3b3650e0b7159de02d3f84897d96e487ece2f932c272dbe57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fbdc52e9e519c8c6d4a00caf4de08688eb8eb34dbfc6236308f281d7cf05b51b\",\"dweb:/ipfs/QmWnogXiA5KA6JGxCTJR5W1MNFowrH7baSAYhSXjV1xM47\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x5be1d1ee90a7a03258e8c4fce7542453332c637a51b015e0cc29151ef2792263\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6d97356b2ca9d97b7593f4c0772742529fea73f1665e55a879a368b399cae0\",\"dweb:/ipfs/QmXCs5X4Z95isKRzjP4TQjQxwiB7773tHiJWLWkjLv3SLj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0xd7e31957e7fcf056912fe16e10a0411bdb071c14c45853e7da264dfbfd6bcb62\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c4ce02327ac8971177685fc2655733ed3c07f5dfb72846680544a48953180aad\",\"dweb:/ipfs/QmQMNtkeCXdZfyyvtY8vUrKh5RUbpM7HYMGrzbxZGzTEFh\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0x36c772d51a5da46fcddf88831194d6d331083b8c8246fa79107c4b697c258d77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2d2656374c398a2b075d5f26d2ab2c3ea315c99912e52d8030d50f5f8fdda8ac\",\"dweb:/ipfs/QmSG8uJr2ZbFVnht5cTG6xb6XbB6f3kvnznks4BdeAMYET\"]},\"node_modules/@latticexyz/world/src/modules/core/types.sol\":{\"keccak256\":\"0x256b3269e1e7eb6c8b6e26432bbe6799b4d45a88ef1b0e795ea71e604cec3a8a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99bf6320ce9671ed74e7352b4e6c462d741ca9a894c48b526e7d8513308fa6b3\",\"dweb:/ipfs/QmRFJcWFMDRkg7soJ4r4MrqacKmj16vUEMFEGWJuvFi4vJ\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0x16795bdbfd7956d733df9ada1030ee7a1a714e3b9da5899149a7b07568c4af55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a71128b4989e78215d5fc57dae8c2f84c6b5e503c159178c0df6f642b8228df\",\"dweb:/ipfs/QmNYTfBe62SdGESZ32fxME72CbAxEqk4j79jBT7655C4u7\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xe31ee781596541f60ed71ef327c9d26ffc899e7fb3f4991c67406518bfc00746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f7b864fea8c77833a322b16c4673f110d5065d0cafcedecd07895699cf4258c2\",\"dweb:/ipfs/QmRkzXVjMLwQFWxjEjgfdXVPAp6SU4zfxPo4NJcmz8HwH9\"]},\"src/modules/keysintable/KeysInTableHook.sol\":{\"keccak256\":\"0x5c99ca28f8f1cf7bbd4a81a740bdbf1bf3868cbcf67413375e693e6d0ddfae13\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fd577beb914ac63b06ca53e2bac25ab7d59bd5db3e939b17d26ec651780ad673\",\"dweb:/ipfs/QmXff1gvwQ3z2DSZpd4v78qx2kWtDPA4PXZbrgW4qHZC7G\"]},\"src/modules/keysintable/KeysInTableModule.sol\":{\"keccak256\":\"0xd9242dcc6e8a9d5e007c515f5fee69283e88b107184f0130a5646bcb71ccf212\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://407060762d00c75be697f361d7e3fa6f0058541b8a8c5d3d25560be4e9bc64b9\",\"dweb:/ipfs/QmcF8rpeRt9TfF2dR1Psf1CMB1eMUHvVZ5xD3wdzC84pT9\"]},\"src/modules/keysintable/tables/KeysInTable.sol\":{\"keccak256\":\"0x7593d024fa73d26b9b5f912505f9d29323d3af111d538ac359cc44a9a14b2820\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f2f0f417dc6a40d963e656776bdfee62da8f43a1340a6b4a2edd3c2341b07f1\",\"dweb:/ipfs/QmSVunrK9XxduA1BSNHFnKHZqKcnk49kp734wKT2jn85Tz\"]},\"src/modules/keysintable/tables/UsedKeysIndex.sol\":{\"keccak256\":\"0xd882718639cdeb1f3beb590d28577ce4a5c95fdf5394bbd81efcbc8743316c5b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc8579f0af7b3d6766c071362881fa67ba66ada34e2dbdc05fa2e40c553c5dd2\",\"dweb:/ipfs/QmX1xiomkgop99y9TA7FxRwjp3dfAMmQtw3skcRg8YDRhW\"]}},\"version\":1}",
163
163
  "metadata": {
164
164
  "compiler": {
165
165
  "version": "0.8.21+commit.d9974bed"
@@ -294,7 +294,7 @@
294
294
  "methods": {
295
295
  "_msgSender()": {
296
296
  "returns": {
297
- "sender": "The address of the trusted sender."
297
+ "sender": "The `msg.sender` in the call to the World contract before the World routed the call to the WorldContextConsumer contract."
298
298
  }
299
299
  },
300
300
  "_msgValue()": {
@@ -335,7 +335,7 @@
335
335
  "kind": "user",
336
336
  "methods": {
337
337
  "_msgSender()": {
338
- "notice": "Extracts the trusted msg.sender value from the appended calldata."
338
+ "notice": "Extract the `msg.sender` from the context appended to the calldata."
339
339
  },
340
340
  "_msgValue()": {
341
341
  "notice": "Extract the `msg.value` from the context appended to the calldata."
@@ -528,10 +528,10 @@
528
528
  "license": "MIT"
529
529
  },
530
530
  "node_modules/@latticexyz/store/src/StoreCore.sol": {
531
- "keccak256": "0x1dd80c8f47d425b611aa382a226a47919831976e0da7145a227c1bf629eec24d",
531
+ "keccak256": "0x95b7d62d84b43777c54dd1c7d941dbb5ba0afc02c444c30cfdb1de671bbbf180",
532
532
  "urls": [
533
- "bzz-raw://ac31d8551e5ef995d45e8eef1067e9793a2228cc3a539e16121d27083b203715",
534
- "dweb:/ipfs/QmWntan3y5oFxNnuvit8A4Xiuk2bMWasWTA7cqkh7Tk427"
533
+ "bzz-raw://fe62a2fdb2a73610c3072f31b7f88ed3f9d03c1009fe0f0ef37a7eb814b23534",
534
+ "dweb:/ipfs/QmV85zaV5HAD6eGc5N4RmdtmpR6EwkswVLQTaR2aJqsXrj"
535
535
  ],
536
536
  "license": "MIT"
537
537
  },
@@ -712,10 +712,10 @@
712
712
  "license": "MIT"
713
713
  },
714
714
  "node_modules/@latticexyz/world/src/WorldContext.sol": {
715
- "keccak256": "0x45792667fe063195103e9fd74e3e9e0b0b4aea4fc4a0a8a3e69538c14751217b",
715
+ "keccak256": "0xa11d93077d94f18683f1098b69c4713a48001ae15054476135ec9569041abb9a",
716
716
  "urls": [
717
- "bzz-raw://cba8976da1e2f7e336045e8d65eba89d18ae49e4688de61ff61a95fb817fe9fc",
718
- "dweb:/ipfs/QmWoByJM6DmheS2jisxSvAzrqC6XWrgaKxoNNUr44aXJtE"
717
+ "bzz-raw://9b1d3384def68b4061c445b55602dd9cbcd4e8c58c13db5e945f284a05c1b518",
718
+ "dweb:/ipfs/Qma5DUZrSKZUxrxiGCpyRPWMJNdHU2wu6qDEsFWEJSnLfN"
719
719
  ],
720
720
  "license": "MIT"
721
721
  },
@@ -852,62 +852,62 @@
852
852
  },
853
853
  "ast": {
854
854
  "absolutePath": "src/modules/keysintable/KeysInTableModule.sol",
855
- "id": 40611,
855
+ "id": 40675,
856
856
  "exportedSymbols": {
857
857
  "AFTER_SPLICE_DYNAMIC_DATA": [
858
- 36580
858
+ 36610
859
859
  ],
860
860
  "AFTER_SPLICE_STATIC_DATA": [
861
- 36568
861
+ 36598
862
862
  ],
863
863
  "BEFORE_DELETE_RECORD": [
864
- 36586
864
+ 36616
865
865
  ],
866
866
  "BEFORE_SET_RECORD": [
867
- 36550
867
+ 36580
868
868
  ],
869
869
  "IBaseWorld": [
870
- 39711
870
+ 39775
871
871
  ],
872
872
  "KeysInTable": [
873
- 48213
873
+ 48277
874
874
  ],
875
875
  "KeysInTableHook": [
876
- 40343
876
+ 40407
877
877
  ],
878
878
  "KeysInTableModule": [
879
- 40610
879
+ 40674
880
880
  ],
881
881
  "KeysInTableTableId": [
882
- 41697
882
+ 41761
883
883
  ],
884
884
  "Module": [
885
- 39153
885
+ 39183
886
886
  ],
887
887
  "ResourceId": [
888
- 26573
888
+ 26605
889
889
  ],
890
890
  "ResourceIds": [
891
- 32280
891
+ 32310
892
892
  ],
893
893
  "UsedKeysIndex": [
894
- 49825
894
+ 49889
895
895
  ],
896
896
  "UsedKeysIndexTableId": [
897
- 48272
897
+ 48336
898
898
  ],
899
899
  "WorldResourceIdInstance": [
900
- 39675
900
+ 39739
901
901
  ],
902
902
  "revertWithBytes": [
903
- 39785
903
+ 39849
904
904
  ]
905
905
  },
906
906
  "nodeType": "SourceUnit",
907
907
  "src": "32:4012:114",
908
908
  "nodes": [
909
909
  {
910
- "id": 40345,
910
+ "id": 40409,
911
911
  "nodeType": "PragmaDirective",
912
912
  "src": "32:25:114",
913
913
  "nodes": [],
@@ -919,23 +919,23 @@
919
919
  ]
920
920
  },
921
921
  {
922
- "id": 40350,
922
+ "id": 40414,
923
923
  "nodeType": "ImportDirective",
924
924
  "src": "59:152:114",
925
925
  "nodes": [],
926
926
  "absolutePath": "node_modules/@latticexyz/store/src/storeHookTypes.sol",
927
927
  "file": "@latticexyz/store/src/storeHookTypes.sol",
928
928
  "nameLocation": "-1:-1:-1",
929
- "scope": 40611,
930
- "sourceUnit": 36631,
929
+ "scope": 40675,
930
+ "sourceUnit": 36661,
931
931
  "symbolAliases": [
932
932
  {
933
933
  "foreign": {
934
- "id": 40346,
934
+ "id": 40410,
935
935
  "name": "BEFORE_SET_RECORD",
936
936
  "nodeType": "Identifier",
937
937
  "overloadedDeclarations": [],
938
- "referencedDeclaration": 36550,
938
+ "referencedDeclaration": 36580,
939
939
  "src": "68:17:114",
940
940
  "typeDescriptions": {}
941
941
  },
@@ -943,11 +943,11 @@
943
943
  },
944
944
  {
945
945
  "foreign": {
946
- "id": 40347,
946
+ "id": 40411,
947
947
  "name": "AFTER_SPLICE_STATIC_DATA",
948
948
  "nodeType": "Identifier",
949
949
  "overloadedDeclarations": [],
950
- "referencedDeclaration": 36568,
950
+ "referencedDeclaration": 36598,
951
951
  "src": "87:24:114",
952
952
  "typeDescriptions": {}
953
953
  },
@@ -955,11 +955,11 @@
955
955
  },
956
956
  {
957
957
  "foreign": {
958
- "id": 40348,
958
+ "id": 40412,
959
959
  "name": "AFTER_SPLICE_DYNAMIC_DATA",
960
960
  "nodeType": "Identifier",
961
961
  "overloadedDeclarations": [],
962
- "referencedDeclaration": 36580,
962
+ "referencedDeclaration": 36610,
963
963
  "src": "113:25:114",
964
964
  "typeDescriptions": {}
965
965
  },
@@ -967,11 +967,11 @@
967
967
  },
968
968
  {
969
969
  "foreign": {
970
- "id": 40349,
970
+ "id": 40413,
971
971
  "name": "BEFORE_DELETE_RECORD",
972
972
  "nodeType": "Identifier",
973
973
  "overloadedDeclarations": [],
974
- "referencedDeclaration": 36586,
974
+ "referencedDeclaration": 36616,
975
975
  "src": "140:20:114",
976
976
  "typeDescriptions": {}
977
977
  },
@@ -981,23 +981,23 @@
981
981
  "unitAlias": ""
982
982
  },
983
983
  {
984
- "id": 40352,
984
+ "id": 40416,
985
985
  "nodeType": "ImportDirective",
986
986
  "src": "212:83:114",
987
987
  "nodes": [],
988
988
  "absolutePath": "node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol",
989
989
  "file": "@latticexyz/store/src/codegen/tables/ResourceIds.sol",
990
990
  "nameLocation": "-1:-1:-1",
991
- "scope": 40611,
992
- "sourceUnit": 32291,
991
+ "scope": 40675,
992
+ "sourceUnit": 32321,
993
993
  "symbolAliases": [
994
994
  {
995
995
  "foreign": {
996
- "id": 40351,
996
+ "id": 40415,
997
997
  "name": "ResourceIds",
998
998
  "nodeType": "Identifier",
999
999
  "overloadedDeclarations": [],
1000
- "referencedDeclaration": 32280,
1000
+ "referencedDeclaration": 32310,
1001
1001
  "src": "221:11:114",
1002
1002
  "typeDescriptions": {}
1003
1003
  },
@@ -1007,23 +1007,23 @@
1007
1007
  "unitAlias": ""
1008
1008
  },
1009
1009
  {
1010
- "id": 40354,
1010
+ "id": 40418,
1011
1011
  "nodeType": "ImportDirective",
1012
1012
  "src": "297:58:114",
1013
1013
  "nodes": [],
1014
1014
  "absolutePath": "node_modules/@latticexyz/world/src/Module.sol",
1015
1015
  "file": "@latticexyz/world/src/Module.sol",
1016
1016
  "nameLocation": "-1:-1:-1",
1017
- "scope": 40611,
1018
- "sourceUnit": 39154,
1017
+ "scope": 40675,
1018
+ "sourceUnit": 39184,
1019
1019
  "symbolAliases": [
1020
1020
  {
1021
1021
  "foreign": {
1022
- "id": 40353,
1022
+ "id": 40417,
1023
1023
  "name": "Module",
1024
1024
  "nodeType": "Identifier",
1025
1025
  "overloadedDeclarations": [],
1026
- "referencedDeclaration": 39153,
1026
+ "referencedDeclaration": 39183,
1027
1027
  "src": "306:6:114",
1028
1028
  "typeDescriptions": {}
1029
1029
  },
@@ -1033,23 +1033,23 @@
1033
1033
  "unitAlias": ""
1034
1034
  },
1035
1035
  {
1036
- "id": 40356,
1036
+ "id": 40420,
1037
1037
  "nodeType": "ImportDirective",
1038
1038
  "src": "357:85:114",
1039
1039
  "nodes": [],
1040
1040
  "absolutePath": "node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol",
1041
1041
  "file": "@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol",
1042
1042
  "nameLocation": "-1:-1:-1",
1043
- "scope": 40611,
1044
- "sourceUnit": 39712,
1043
+ "scope": 40675,
1044
+ "sourceUnit": 39776,
1045
1045
  "symbolAliases": [
1046
1046
  {
1047
1047
  "foreign": {
1048
- "id": 40355,
1048
+ "id": 40419,
1049
1049
  "name": "IBaseWorld",
1050
1050
  "nodeType": "Identifier",
1051
1051
  "overloadedDeclarations": [],
1052
- "referencedDeclaration": 39711,
1052
+ "referencedDeclaration": 39775,
1053
1053
  "src": "366:10:114",
1054
1054
  "typeDescriptions": {}
1055
1055
  },
@@ -1059,23 +1059,23 @@
1059
1059
  "unitAlias": ""
1060
1060
  },
1061
1061
  {
1062
- "id": 40359,
1062
+ "id": 40423,
1063
1063
  "nodeType": "ImportDirective",
1064
1064
  "src": "444:96:114",
1065
1065
  "nodes": [],
1066
1066
  "absolutePath": "node_modules/@latticexyz/world/src/WorldResourceId.sol",
1067
1067
  "file": "@latticexyz/world/src/WorldResourceId.sol",
1068
1068
  "nameLocation": "-1:-1:-1",
1069
- "scope": 40611,
1070
- "sourceUnit": 39676,
1069
+ "scope": 40675,
1070
+ "sourceUnit": 39740,
1071
1071
  "symbolAliases": [
1072
1072
  {
1073
1073
  "foreign": {
1074
- "id": 40357,
1074
+ "id": 40421,
1075
1075
  "name": "ResourceId",
1076
1076
  "nodeType": "Identifier",
1077
1077
  "overloadedDeclarations": [],
1078
- "referencedDeclaration": 26573,
1078
+ "referencedDeclaration": 26605,
1079
1079
  "src": "453:10:114",
1080
1080
  "typeDescriptions": {}
1081
1081
  },
@@ -1083,11 +1083,11 @@
1083
1083
  },
1084
1084
  {
1085
1085
  "foreign": {
1086
- "id": 40358,
1086
+ "id": 40422,
1087
1087
  "name": "WorldResourceIdInstance",
1088
1088
  "nodeType": "Identifier",
1089
1089
  "overloadedDeclarations": [],
1090
- "referencedDeclaration": 39675,
1090
+ "referencedDeclaration": 39739,
1091
1091
  "src": "465:23:114",
1092
1092
  "typeDescriptions": {}
1093
1093
  },
@@ -1097,23 +1097,23 @@
1097
1097
  "unitAlias": ""
1098
1098
  },
1099
1099
  {
1100
- "id": 40361,
1100
+ "id": 40425,
1101
1101
  "nodeType": "ImportDirective",
1102
1102
  "src": "541:76:114",
1103
1103
  "nodes": [],
1104
1104
  "absolutePath": "node_modules/@latticexyz/world/src/revertWithBytes.sol",
1105
1105
  "file": "@latticexyz/world/src/revertWithBytes.sol",
1106
1106
  "nameLocation": "-1:-1:-1",
1107
- "scope": 40611,
1108
- "sourceUnit": 39786,
1107
+ "scope": 40675,
1108
+ "sourceUnit": 39850,
1109
1109
  "symbolAliases": [
1110
1110
  {
1111
1111
  "foreign": {
1112
- "id": 40360,
1112
+ "id": 40424,
1113
1113
  "name": "revertWithBytes",
1114
1114
  "nodeType": "Identifier",
1115
1115
  "overloadedDeclarations": [],
1116
- "referencedDeclaration": 39785,
1116
+ "referencedDeclaration": 39849,
1117
1117
  "src": "550:15:114",
1118
1118
  "typeDescriptions": {}
1119
1119
  },
@@ -1123,23 +1123,23 @@
1123
1123
  "unitAlias": ""
1124
1124
  },
1125
1125
  {
1126
- "id": 40363,
1126
+ "id": 40427,
1127
1127
  "nodeType": "ImportDirective",
1128
1128
  "src": "619:56:114",
1129
1129
  "nodes": [],
1130
1130
  "absolutePath": "src/modules/keysintable/KeysInTableHook.sol",
1131
1131
  "file": "./KeysInTableHook.sol",
1132
1132
  "nameLocation": "-1:-1:-1",
1133
- "scope": 40611,
1134
- "sourceUnit": 40344,
1133
+ "scope": 40675,
1134
+ "sourceUnit": 40408,
1135
1135
  "symbolAliases": [
1136
1136
  {
1137
1137
  "foreign": {
1138
- "id": 40362,
1138
+ "id": 40426,
1139
1139
  "name": "KeysInTableHook",
1140
1140
  "nodeType": "Identifier",
1141
1141
  "overloadedDeclarations": [],
1142
- "referencedDeclaration": 40343,
1142
+ "referencedDeclaration": 40407,
1143
1143
  "src": "628:15:114",
1144
1144
  "typeDescriptions": {}
1145
1145
  },
@@ -1149,23 +1149,23 @@
1149
1149
  "unitAlias": ""
1150
1150
  },
1151
1151
  {
1152
- "id": 40366,
1152
+ "id": 40430,
1153
1153
  "nodeType": "ImportDirective",
1154
1154
  "src": "676:75:114",
1155
1155
  "nodes": [],
1156
1156
  "absolutePath": "src/modules/keysintable/tables/KeysInTable.sol",
1157
1157
  "file": "./tables/KeysInTable.sol",
1158
1158
  "nameLocation": "-1:-1:-1",
1159
- "scope": 40611,
1160
- "sourceUnit": 48214,
1159
+ "scope": 40675,
1160
+ "sourceUnit": 48278,
1161
1161
  "symbolAliases": [
1162
1162
  {
1163
1163
  "foreign": {
1164
- "id": 40364,
1164
+ "id": 40428,
1165
1165
  "name": "KeysInTable",
1166
1166
  "nodeType": "Identifier",
1167
1167
  "overloadedDeclarations": [],
1168
- "referencedDeclaration": 48213,
1168
+ "referencedDeclaration": 48277,
1169
1169
  "src": "685:11:114",
1170
1170
  "typeDescriptions": {}
1171
1171
  },
@@ -1173,11 +1173,11 @@
1173
1173
  },
1174
1174
  {
1175
1175
  "foreign": {
1176
- "id": 40365,
1176
+ "id": 40429,
1177
1177
  "name": "KeysInTableTableId",
1178
1178
  "nodeType": "Identifier",
1179
1179
  "overloadedDeclarations": [],
1180
- "referencedDeclaration": 41697,
1180
+ "referencedDeclaration": 41761,
1181
1181
  "src": "698:18:114",
1182
1182
  "typeDescriptions": {}
1183
1183
  },
@@ -1187,23 +1187,23 @@
1187
1187
  "unitAlias": ""
1188
1188
  },
1189
1189
  {
1190
- "id": 40369,
1190
+ "id": 40433,
1191
1191
  "nodeType": "ImportDirective",
1192
1192
  "src": "752:81:114",
1193
1193
  "nodes": [],
1194
1194
  "absolutePath": "src/modules/keysintable/tables/UsedKeysIndex.sol",
1195
1195
  "file": "./tables/UsedKeysIndex.sol",
1196
1196
  "nameLocation": "-1:-1:-1",
1197
- "scope": 40611,
1198
- "sourceUnit": 49836,
1197
+ "scope": 40675,
1198
+ "sourceUnit": 49900,
1199
1199
  "symbolAliases": [
1200
1200
  {
1201
1201
  "foreign": {
1202
- "id": 40367,
1202
+ "id": 40431,
1203
1203
  "name": "UsedKeysIndex",
1204
1204
  "nodeType": "Identifier",
1205
1205
  "overloadedDeclarations": [],
1206
- "referencedDeclaration": 49825,
1206
+ "referencedDeclaration": 49889,
1207
1207
  "src": "761:13:114",
1208
1208
  "typeDescriptions": {}
1209
1209
  },
@@ -1211,11 +1211,11 @@
1211
1211
  },
1212
1212
  {
1213
1213
  "foreign": {
1214
- "id": 40368,
1214
+ "id": 40432,
1215
1215
  "name": "UsedKeysIndexTableId",
1216
1216
  "nodeType": "Identifier",
1217
1217
  "overloadedDeclarations": [],
1218
- "referencedDeclaration": 48272,
1218
+ "referencedDeclaration": 48336,
1219
1219
  "src": "776:20:114",
1220
1220
  "typeDescriptions": {}
1221
1221
  },
@@ -1225,49 +1225,49 @@
1225
1225
  "unitAlias": ""
1226
1226
  },
1227
1227
  {
1228
- "id": 40610,
1228
+ "id": 40674,
1229
1229
  "nodeType": "ContractDefinition",
1230
1230
  "src": "1419:2624:114",
1231
1231
  "nodes": [
1232
1232
  {
1233
- "id": 40376,
1233
+ "id": 40440,
1234
1234
  "nodeType": "UsingForDirective",
1235
1235
  "src": "1460:45:114",
1236
1236
  "nodes": [],
1237
1237
  "global": false,
1238
1238
  "libraryName": {
1239
- "id": 40373,
1239
+ "id": 40437,
1240
1240
  "name": "WorldResourceIdInstance",
1241
1241
  "nameLocations": [
1242
1242
  "1466:23:114"
1243
1243
  ],
1244
1244
  "nodeType": "IdentifierPath",
1245
- "referencedDeclaration": 39675,
1245
+ "referencedDeclaration": 39739,
1246
1246
  "src": "1466:23:114"
1247
1247
  },
1248
1248
  "typeName": {
1249
- "id": 40375,
1249
+ "id": 40439,
1250
1250
  "nodeType": "UserDefinedTypeName",
1251
1251
  "pathNode": {
1252
- "id": 40374,
1252
+ "id": 40438,
1253
1253
  "name": "ResourceId",
1254
1254
  "nameLocations": [
1255
1255
  "1494:10:114"
1256
1256
  ],
1257
1257
  "nodeType": "IdentifierPath",
1258
- "referencedDeclaration": 26573,
1258
+ "referencedDeclaration": 26605,
1259
1259
  "src": "1494:10:114"
1260
1260
  },
1261
- "referencedDeclaration": 26573,
1261
+ "referencedDeclaration": 26605,
1262
1262
  "src": "1494:10:114",
1263
1263
  "typeDescriptions": {
1264
- "typeIdentifier": "t_userDefinedValueType$_ResourceId_$26573",
1264
+ "typeIdentifier": "t_userDefinedValueType$_ResourceId_$26605",
1265
1265
  "typeString": "ResourceId"
1266
1266
  }
1267
1267
  }
1268
1268
  },
1269
1269
  {
1270
- "id": 40383,
1270
+ "id": 40447,
1271
1271
  "nodeType": "VariableDeclaration",
1272
1272
  "src": "1653:62:114",
1273
1273
  "nodes": [],
@@ -1275,30 +1275,30 @@
1275
1275
  "mutability": "immutable",
1276
1276
  "name": "hook",
1277
1277
  "nameLocation": "1687:4:114",
1278
- "scope": 40610,
1278
+ "scope": 40674,
1279
1279
  "stateVariable": true,
1280
1280
  "storageLocation": "default",
1281
1281
  "typeDescriptions": {
1282
- "typeIdentifier": "t_contract$_KeysInTableHook_$40343",
1282
+ "typeIdentifier": "t_contract$_KeysInTableHook_$40407",
1283
1283
  "typeString": "contract KeysInTableHook"
1284
1284
  },
1285
1285
  "typeName": {
1286
- "id": 40378,
1286
+ "id": 40442,
1287
1287
  "nodeType": "UserDefinedTypeName",
1288
1288
  "pathNode": {
1289
- "id": 40377,
1289
+ "id": 40441,
1290
1290
  "name": "KeysInTableHook",
1291
1291
  "nameLocations": [
1292
1292
  "1653:15:114"
1293
1293
  ],
1294
1294
  "nodeType": "IdentifierPath",
1295
- "referencedDeclaration": 40343,
1295
+ "referencedDeclaration": 40407,
1296
1296
  "src": "1653:15:114"
1297
1297
  },
1298
- "referencedDeclaration": 40343,
1298
+ "referencedDeclaration": 40407,
1299
1299
  "src": "1653:15:114",
1300
1300
  "typeDescriptions": {
1301
- "typeIdentifier": "t_contract$_KeysInTableHook_$40343",
1301
+ "typeIdentifier": "t_contract$_KeysInTableHook_$40407",
1302
1302
  "typeString": "contract KeysInTableHook"
1303
1303
  }
1304
1304
  },
@@ -1306,7 +1306,7 @@
1306
1306
  "arguments": [],
1307
1307
  "expression": {
1308
1308
  "argumentTypes": [],
1309
- "id": 40381,
1309
+ "id": 40445,
1310
1310
  "isConstant": false,
1311
1311
  "isLValue": false,
1312
1312
  "isPure": false,
@@ -1314,31 +1314,31 @@
1314
1314
  "nodeType": "NewExpression",
1315
1315
  "src": "1694:19:114",
1316
1316
  "typeDescriptions": {
1317
- "typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_KeysInTableHook_$40343_$",
1317
+ "typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_KeysInTableHook_$40407_$",
1318
1318
  "typeString": "function () returns (contract KeysInTableHook)"
1319
1319
  },
1320
1320
  "typeName": {
1321
- "id": 40380,
1321
+ "id": 40444,
1322
1322
  "nodeType": "UserDefinedTypeName",
1323
1323
  "pathNode": {
1324
- "id": 40379,
1324
+ "id": 40443,
1325
1325
  "name": "KeysInTableHook",
1326
1326
  "nameLocations": [
1327
1327
  "1698:15:114"
1328
1328
  ],
1329
1329
  "nodeType": "IdentifierPath",
1330
- "referencedDeclaration": 40343,
1330
+ "referencedDeclaration": 40407,
1331
1331
  "src": "1698:15:114"
1332
1332
  },
1333
- "referencedDeclaration": 40343,
1333
+ "referencedDeclaration": 40407,
1334
1334
  "src": "1698:15:114",
1335
1335
  "typeDescriptions": {
1336
- "typeIdentifier": "t_contract$_KeysInTableHook_$40343",
1336
+ "typeIdentifier": "t_contract$_KeysInTableHook_$40407",
1337
1337
  "typeString": "contract KeysInTableHook"
1338
1338
  }
1339
1339
  }
1340
1340
  },
1341
- "id": 40382,
1341
+ "id": 40446,
1342
1342
  "isConstant": false,
1343
1343
  "isLValue": false,
1344
1344
  "isPure": false,
@@ -1350,19 +1350,19 @@
1350
1350
  "src": "1694:21:114",
1351
1351
  "tryCall": false,
1352
1352
  "typeDescriptions": {
1353
- "typeIdentifier": "t_contract$_KeysInTableHook_$40343",
1353
+ "typeIdentifier": "t_contract$_KeysInTableHook_$40407",
1354
1354
  "typeString": "contract KeysInTableHook"
1355
1355
  }
1356
1356
  },
1357
1357
  "visibility": "private"
1358
1358
  },
1359
1359
  {
1360
- "id": 40394,
1360
+ "id": 40458,
1361
1361
  "nodeType": "FunctionDefinition",
1362
1362
  "src": "1720:89:114",
1363
1363
  "nodes": [],
1364
1364
  "body": {
1365
- "id": 40393,
1365
+ "id": 40457,
1366
1366
  "nodeType": "Block",
1367
1367
  "src": "1769:40:114",
1368
1368
  "nodes": [],
@@ -1372,7 +1372,7 @@
1372
1372
  "arguments": [
1373
1373
  {
1374
1374
  "hexValue": "6b657973496e5461626c65",
1375
- "id": 40390,
1375
+ "id": 40454,
1376
1376
  "isConstant": false,
1377
1377
  "isLValue": false,
1378
1378
  "isPure": true,
@@ -1394,7 +1394,7 @@
1394
1394
  "typeString": "literal_string \"keysInTable\""
1395
1395
  }
1396
1396
  ],
1397
- "id": 40389,
1397
+ "id": 40453,
1398
1398
  "isConstant": false,
1399
1399
  "isLValue": false,
1400
1400
  "isPure": true,
@@ -1406,14 +1406,14 @@
1406
1406
  "typeString": "type(bytes16)"
1407
1407
  },
1408
1408
  "typeName": {
1409
- "id": 40388,
1409
+ "id": 40452,
1410
1410
  "name": "bytes16",
1411
1411
  "nodeType": "ElementaryTypeName",
1412
1412
  "src": "1782:7:114",
1413
1413
  "typeDescriptions": {}
1414
1414
  }
1415
1415
  },
1416
- "id": 40391,
1416
+ "id": 40455,
1417
1417
  "isConstant": false,
1418
1418
  "isLValue": false,
1419
1419
  "isPure": true,
@@ -1429,15 +1429,15 @@
1429
1429
  "typeString": "bytes16"
1430
1430
  }
1431
1431
  },
1432
- "functionReturnParameters": 40387,
1433
- "id": 40392,
1432
+ "functionReturnParameters": 40451,
1433
+ "id": 40456,
1434
1434
  "nodeType": "Return",
1435
1435
  "src": "1775:29:114"
1436
1436
  }
1437
1437
  ]
1438
1438
  },
1439
1439
  "baseFunctions": [
1440
- 61514
1440
+ 61578
1441
1441
  ],
1442
1442
  "functionSelector": "17d7de7c",
1443
1443
  "implemented": true,
@@ -1446,23 +1446,23 @@
1446
1446
  "name": "getName",
1447
1447
  "nameLocation": "1729:7:114",
1448
1448
  "parameters": {
1449
- "id": 40384,
1449
+ "id": 40448,
1450
1450
  "nodeType": "ParameterList",
1451
1451
  "parameters": [],
1452
1452
  "src": "1736:2:114"
1453
1453
  },
1454
1454
  "returnParameters": {
1455
- "id": 40387,
1455
+ "id": 40451,
1456
1456
  "nodeType": "ParameterList",
1457
1457
  "parameters": [
1458
1458
  {
1459
1459
  "constant": false,
1460
- "id": 40386,
1460
+ "id": 40450,
1461
1461
  "mutability": "mutable",
1462
1462
  "name": "",
1463
1463
  "nameLocation": "-1:-1:-1",
1464
1464
  "nodeType": "VariableDeclaration",
1465
- "scope": 40394,
1465
+ "scope": 40458,
1466
1466
  "src": "1760:7:114",
1467
1467
  "stateVariable": false,
1468
1468
  "storageLocation": "default",
@@ -1471,7 +1471,7 @@
1471
1471
  "typeString": "bytes16"
1472
1472
  },
1473
1473
  "typeName": {
1474
- "id": 40385,
1474
+ "id": 40449,
1475
1475
  "name": "bytes16",
1476
1476
  "nodeType": "ElementaryTypeName",
1477
1477
  "src": "1760:7:114",
@@ -1485,76 +1485,76 @@
1485
1485
  ],
1486
1486
  "src": "1759:9:114"
1487
1487
  },
1488
- "scope": 40610,
1488
+ "scope": 40674,
1489
1489
  "stateMutability": "pure",
1490
1490
  "virtual": false,
1491
1491
  "visibility": "public"
1492
1492
  },
1493
1493
  {
1494
- "id": 40600,
1494
+ "id": 40664,
1495
1495
  "nodeType": "FunctionDefinition",
1496
1496
  "src": "1813:2128:114",
1497
1497
  "nodes": [],
1498
1498
  "body": {
1499
- "id": 40599,
1499
+ "id": 40663,
1500
1500
  "nodeType": "Block",
1501
1501
  "src": "1869:2072:114",
1502
1502
  "nodes": [],
1503
1503
  "statements": [
1504
1504
  {
1505
1505
  "assignments": [
1506
- 40402
1506
+ 40466
1507
1507
  ],
1508
1508
  "declarations": [
1509
1509
  {
1510
1510
  "constant": false,
1511
- "id": 40402,
1511
+ "id": 40466,
1512
1512
  "mutability": "mutable",
1513
1513
  "name": "sourceTableId",
1514
1514
  "nameLocation": "1927:13:114",
1515
1515
  "nodeType": "VariableDeclaration",
1516
- "scope": 40599,
1516
+ "scope": 40663,
1517
1517
  "src": "1916:24:114",
1518
1518
  "stateVariable": false,
1519
1519
  "storageLocation": "default",
1520
1520
  "typeDescriptions": {
1521
- "typeIdentifier": "t_userDefinedValueType$_ResourceId_$26573",
1521
+ "typeIdentifier": "t_userDefinedValueType$_ResourceId_$26605",
1522
1522
  "typeString": "ResourceId"
1523
1523
  },
1524
1524
  "typeName": {
1525
- "id": 40401,
1525
+ "id": 40465,
1526
1526
  "nodeType": "UserDefinedTypeName",
1527
1527
  "pathNode": {
1528
- "id": 40400,
1528
+ "id": 40464,
1529
1529
  "name": "ResourceId",
1530
1530
  "nameLocations": [
1531
1531
  "1916:10:114"
1532
1532
  ],
1533
1533
  "nodeType": "IdentifierPath",
1534
- "referencedDeclaration": 26573,
1534
+ "referencedDeclaration": 26605,
1535
1535
  "src": "1916:10:114"
1536
1536
  },
1537
- "referencedDeclaration": 26573,
1537
+ "referencedDeclaration": 26605,
1538
1538
  "src": "1916:10:114",
1539
1539
  "typeDescriptions": {
1540
- "typeIdentifier": "t_userDefinedValueType$_ResourceId_$26573",
1540
+ "typeIdentifier": "t_userDefinedValueType$_ResourceId_$26605",
1541
1541
  "typeString": "ResourceId"
1542
1542
  }
1543
1543
  },
1544
1544
  "visibility": "internal"
1545
1545
  }
1546
1546
  ],
1547
- "id": 40413,
1547
+ "id": 40477,
1548
1548
  "initialValue": {
1549
1549
  "arguments": [
1550
1550
  {
1551
1551
  "arguments": [
1552
1552
  {
1553
- "id": 40407,
1553
+ "id": 40471,
1554
1554
  "name": "args",
1555
1555
  "nodeType": "Identifier",
1556
1556
  "overloadedDeclarations": [],
1557
- "referencedDeclaration": 40396,
1557
+ "referencedDeclaration": 40460,
1558
1558
  "src": "1970:4:114",
1559
1559
  "typeDescriptions": {
1560
1560
  "typeIdentifier": "t_bytes_memory_ptr",
@@ -1564,7 +1564,7 @@
1564
1564
  {
1565
1565
  "components": [
1566
1566
  {
1567
- "id": 40409,
1567
+ "id": 40473,
1568
1568
  "isConstant": false,
1569
1569
  "isLValue": false,
1570
1570
  "isPure": true,
@@ -1576,7 +1576,7 @@
1576
1576
  "typeString": "type(bytes32)"
1577
1577
  },
1578
1578
  "typeName": {
1579
- "id": 40408,
1579
+ "id": 40472,
1580
1580
  "name": "bytes32",
1581
1581
  "nodeType": "ElementaryTypeName",
1582
1582
  "src": "1977:7:114",
@@ -1584,7 +1584,7 @@
1584
1584
  }
1585
1585
  }
1586
1586
  ],
1587
- "id": 40410,
1587
+ "id": 40474,
1588
1588
  "isConstant": false,
1589
1589
  "isInlineArray": false,
1590
1590
  "isLValue": false,
@@ -1610,7 +1610,7 @@
1610
1610
  }
1611
1611
  ],
1612
1612
  "expression": {
1613
- "id": 40405,
1613
+ "id": 40469,
1614
1614
  "name": "abi",
1615
1615
  "nodeType": "Identifier",
1616
1616
  "overloadedDeclarations": [],
@@ -1621,7 +1621,7 @@
1621
1621
  "typeString": "abi"
1622
1622
  }
1623
1623
  },
1624
- "id": 40406,
1624
+ "id": 40470,
1625
1625
  "isConstant": false,
1626
1626
  "isLValue": false,
1627
1627
  "isPure": true,
@@ -1635,7 +1635,7 @@
1635
1635
  "typeString": "function () pure"
1636
1636
  }
1637
1637
  },
1638
- "id": 40411,
1638
+ "id": 40475,
1639
1639
  "isConstant": false,
1640
1640
  "isLValue": false,
1641
1641
  "isPure": false,
@@ -1660,18 +1660,18 @@
1660
1660
  }
1661
1661
  ],
1662
1662
  "expression": {
1663
- "id": 40403,
1663
+ "id": 40467,
1664
1664
  "name": "ResourceId",
1665
1665
  "nodeType": "Identifier",
1666
1666
  "overloadedDeclarations": [],
1667
- "referencedDeclaration": 26573,
1667
+ "referencedDeclaration": 26605,
1668
1668
  "src": "1943:10:114",
1669
1669
  "typeDescriptions": {
1670
- "typeIdentifier": "t_type$_t_userDefinedValueType$_ResourceId_$26573_$",
1670
+ "typeIdentifier": "t_type$_t_userDefinedValueType$_ResourceId_$26605_$",
1671
1671
  "typeString": "type(ResourceId)"
1672
1672
  }
1673
1673
  },
1674
- "id": 40404,
1674
+ "id": 40468,
1675
1675
  "isConstant": false,
1676
1676
  "isLValue": false,
1677
1677
  "isPure": true,
@@ -1681,11 +1681,11 @@
1681
1681
  "nodeType": "MemberAccess",
1682
1682
  "src": "1943:15:114",
1683
1683
  "typeDescriptions": {
1684
- "typeIdentifier": "t_function_wrap_pure$_t_bytes32_$returns$_t_userDefinedValueType$_ResourceId_$26573_$",
1684
+ "typeIdentifier": "t_function_wrap_pure$_t_bytes32_$returns$_t_userDefinedValueType$_ResourceId_$26605_$",
1685
1685
  "typeString": "function (bytes32) pure returns (ResourceId)"
1686
1686
  }
1687
1687
  },
1688
- "id": 40412,
1688
+ "id": 40476,
1689
1689
  "isConstant": false,
1690
1690
  "isLValue": false,
1691
1691
  "isPure": false,
@@ -1697,7 +1697,7 @@
1697
1697
  "src": "1943:44:114",
1698
1698
  "tryCall": false,
1699
1699
  "typeDescriptions": {
1700
- "typeIdentifier": "t_userDefinedValueType$_ResourceId_$26573",
1700
+ "typeIdentifier": "t_userDefinedValueType$_ResourceId_$26605",
1701
1701
  "typeString": "ResourceId"
1702
1702
  }
1703
1703
  },
@@ -1706,66 +1706,66 @@
1706
1706
  },
1707
1707
  {
1708
1708
  "assignments": [
1709
- 40416
1709
+ 40480
1710
1710
  ],
1711
1711
  "declarations": [
1712
1712
  {
1713
1713
  "constant": false,
1714
- "id": 40416,
1714
+ "id": 40480,
1715
1715
  "mutability": "mutable",
1716
1716
  "name": "world",
1717
1717
  "nameLocation": "2005:5:114",
1718
1718
  "nodeType": "VariableDeclaration",
1719
- "scope": 40599,
1719
+ "scope": 40663,
1720
1720
  "src": "1994:16:114",
1721
1721
  "stateVariable": false,
1722
1722
  "storageLocation": "default",
1723
1723
  "typeDescriptions": {
1724
- "typeIdentifier": "t_contract$_IBaseWorld_$39711",
1724
+ "typeIdentifier": "t_contract$_IBaseWorld_$39775",
1725
1725
  "typeString": "contract IBaseWorld"
1726
1726
  },
1727
1727
  "typeName": {
1728
- "id": 40415,
1728
+ "id": 40479,
1729
1729
  "nodeType": "UserDefinedTypeName",
1730
1730
  "pathNode": {
1731
- "id": 40414,
1731
+ "id": 40478,
1732
1732
  "name": "IBaseWorld",
1733
1733
  "nameLocations": [
1734
1734
  "1994:10:114"
1735
1735
  ],
1736
1736
  "nodeType": "IdentifierPath",
1737
- "referencedDeclaration": 39711,
1737
+ "referencedDeclaration": 39775,
1738
1738
  "src": "1994:10:114"
1739
1739
  },
1740
- "referencedDeclaration": 39711,
1740
+ "referencedDeclaration": 39775,
1741
1741
  "src": "1994:10:114",
1742
1742
  "typeDescriptions": {
1743
- "typeIdentifier": "t_contract$_IBaseWorld_$39711",
1743
+ "typeIdentifier": "t_contract$_IBaseWorld_$39775",
1744
1744
  "typeString": "contract IBaseWorld"
1745
1745
  }
1746
1746
  },
1747
1747
  "visibility": "internal"
1748
1748
  }
1749
1749
  ],
1750
- "id": 40421,
1750
+ "id": 40485,
1751
1751
  "initialValue": {
1752
1752
  "arguments": [
1753
1753
  {
1754
1754
  "arguments": [],
1755
1755
  "expression": {
1756
1756
  "argumentTypes": [],
1757
- "id": 40418,
1757
+ "id": 40482,
1758
1758
  "name": "_world",
1759
1759
  "nodeType": "Identifier",
1760
1760
  "overloadedDeclarations": [],
1761
- "referencedDeclaration": 39219,
1761
+ "referencedDeclaration": 39243,
1762
1762
  "src": "2024:6:114",
1763
1763
  "typeDescriptions": {
1764
1764
  "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
1765
1765
  "typeString": "function () view returns (address)"
1766
1766
  }
1767
1767
  },
1768
- "id": 40419,
1768
+ "id": 40483,
1769
1769
  "isConstant": false,
1770
1770
  "isLValue": false,
1771
1771
  "isPure": false,
@@ -1789,18 +1789,18 @@
1789
1789
  "typeString": "address"
1790
1790
  }
1791
1791
  ],
1792
- "id": 40417,
1792
+ "id": 40481,
1793
1793
  "name": "IBaseWorld",
1794
1794
  "nodeType": "Identifier",
1795
1795
  "overloadedDeclarations": [],
1796
- "referencedDeclaration": 39711,
1796
+ "referencedDeclaration": 39775,
1797
1797
  "src": "2013:10:114",
1798
1798
  "typeDescriptions": {
1799
- "typeIdentifier": "t_type$_t_contract$_IBaseWorld_$39711_$",
1799
+ "typeIdentifier": "t_type$_t_contract$_IBaseWorld_$39775_$",
1800
1800
  "typeString": "type(contract IBaseWorld)"
1801
1801
  }
1802
1802
  },
1803
- "id": 40420,
1803
+ "id": 40484,
1804
1804
  "isConstant": false,
1805
1805
  "isLValue": false,
1806
1806
  "isPure": false,
@@ -1812,7 +1812,7 @@
1812
1812
  "src": "2013:20:114",
1813
1813
  "tryCall": false,
1814
1814
  "typeDescriptions": {
1815
- "typeIdentifier": "t_contract$_IBaseWorld_$39711",
1815
+ "typeIdentifier": "t_contract$_IBaseWorld_$39775",
1816
1816
  "typeString": "contract IBaseWorld"
1817
1817
  }
1818
1818
  },
@@ -1821,17 +1821,17 @@
1821
1821
  },
1822
1822
  {
1823
1823
  "assignments": [
1824
- 40423
1824
+ 40487
1825
1825
  ],
1826
1826
  "declarations": [
1827
1827
  {
1828
1828
  "constant": false,
1829
- "id": 40423,
1829
+ "id": 40487,
1830
1830
  "mutability": "mutable",
1831
1831
  "name": "success",
1832
1832
  "nameLocation": "2100:7:114",
1833
1833
  "nodeType": "VariableDeclaration",
1834
- "scope": 40599,
1834
+ "scope": 40663,
1835
1835
  "src": "2095:12:114",
1836
1836
  "stateVariable": false,
1837
1837
  "storageLocation": "default",
@@ -1840,7 +1840,7 @@
1840
1840
  "typeString": "bool"
1841
1841
  },
1842
1842
  "typeName": {
1843
- "id": 40422,
1843
+ "id": 40486,
1844
1844
  "name": "bool",
1845
1845
  "nodeType": "ElementaryTypeName",
1846
1846
  "src": "2095:4:114",
@@ -1852,23 +1852,23 @@
1852
1852
  "visibility": "internal"
1853
1853
  }
1854
1854
  ],
1855
- "id": 40424,
1855
+ "id": 40488,
1856
1856
  "nodeType": "VariableDeclarationStatement",
1857
1857
  "src": "2095:12:114"
1858
1858
  },
1859
1859
  {
1860
1860
  "assignments": [
1861
- 40426
1861
+ 40490
1862
1862
  ],
1863
1863
  "declarations": [
1864
1864
  {
1865
1865
  "constant": false,
1866
- "id": 40426,
1866
+ "id": 40490,
1867
1867
  "mutability": "mutable",
1868
1868
  "name": "returnData",
1869
1869
  "nameLocation": "2126:10:114",
1870
1870
  "nodeType": "VariableDeclaration",
1871
- "scope": 40599,
1871
+ "scope": 40663,
1872
1872
  "src": "2113:23:114",
1873
1873
  "stateVariable": false,
1874
1874
  "storageLocation": "memory",
@@ -1877,7 +1877,7 @@
1877
1877
  "typeString": "bytes"
1878
1878
  },
1879
1879
  "typeName": {
1880
- "id": 40425,
1880
+ "id": 40489,
1881
1881
  "name": "bytes",
1882
1882
  "nodeType": "ElementaryTypeName",
1883
1883
  "src": "2113:5:114",
@@ -1889,13 +1889,13 @@
1889
1889
  "visibility": "internal"
1890
1890
  }
1891
1891
  ],
1892
- "id": 40427,
1892
+ "id": 40491,
1893
1893
  "nodeType": "VariableDeclarationStatement",
1894
1894
  "src": "2113:23:114"
1895
1895
  },
1896
1896
  {
1897
1897
  "condition": {
1898
- "id": 40432,
1898
+ "id": 40496,
1899
1899
  "isConstant": false,
1900
1900
  "isLValue": false,
1901
1901
  "isPure": false,
@@ -1907,14 +1907,14 @@
1907
1907
  "subExpression": {
1908
1908
  "arguments": [
1909
1909
  {
1910
- "id": 40430,
1910
+ "id": 40494,
1911
1911
  "name": "KeysInTableTableId",
1912
1912
  "nodeType": "Identifier",
1913
1913
  "overloadedDeclarations": [],
1914
- "referencedDeclaration": 41697,
1914
+ "referencedDeclaration": 41761,
1915
1915
  "src": "2171:18:114",
1916
1916
  "typeDescriptions": {
1917
- "typeIdentifier": "t_userDefinedValueType$_ResourceId_$26573",
1917
+ "typeIdentifier": "t_userDefinedValueType$_ResourceId_$26605",
1918
1918
  "typeString": "ResourceId"
1919
1919
  }
1920
1920
  }
@@ -1922,23 +1922,23 @@
1922
1922
  "expression": {
1923
1923
  "argumentTypes": [
1924
1924
  {
1925
- "typeIdentifier": "t_userDefinedValueType$_ResourceId_$26573",
1925
+ "typeIdentifier": "t_userDefinedValueType$_ResourceId_$26605",
1926
1926
  "typeString": "ResourceId"
1927
1927
  }
1928
1928
  ],
1929
1929
  "expression": {
1930
- "id": 40428,
1930
+ "id": 40492,
1931
1931
  "name": "ResourceIds",
1932
1932
  "nodeType": "Identifier",
1933
1933
  "overloadedDeclarations": [],
1934
- "referencedDeclaration": 32280,
1934
+ "referencedDeclaration": 32310,
1935
1935
  "src": "2148:11:114",
1936
1936
  "typeDescriptions": {
1937
- "typeIdentifier": "t_type$_t_contract$_ResourceIds_$32280_$",
1937
+ "typeIdentifier": "t_type$_t_contract$_ResourceIds_$32310_$",
1938
1938
  "typeString": "type(library ResourceIds)"
1939
1939
  }
1940
1940
  },
1941
- "id": 40429,
1941
+ "id": 40493,
1942
1942
  "isConstant": false,
1943
1943
  "isLValue": false,
1944
1944
  "isPure": false,
@@ -1946,14 +1946,14 @@
1946
1946
  "memberLocation": "2160:10:114",
1947
1947
  "memberName": "_getExists",
1948
1948
  "nodeType": "MemberAccess",
1949
- "referencedDeclaration": 31611,
1949
+ "referencedDeclaration": 31641,
1950
1950
  "src": "2148:22:114",
1951
1951
  "typeDescriptions": {
1952
- "typeIdentifier": "t_function_internal_view$_t_userDefinedValueType$_ResourceId_$26573_$returns$_t_bool_$",
1952
+ "typeIdentifier": "t_function_internal_view$_t_userDefinedValueType$_ResourceId_$26605_$returns$_t_bool_$",
1953
1953
  "typeString": "function (ResourceId) view returns (bool)"
1954
1954
  }
1955
1955
  },
1956
- "id": 40431,
1956
+ "id": 40495,
1957
1957
  "isConstant": false,
1958
1958
  "isLValue": false,
1959
1959
  "isPure": false,
@@ -1974,17 +1974,17 @@
1974
1974
  "typeString": "bool"
1975
1975
  }
1976
1976
  },
1977
- "id": 40572,
1977
+ "id": 40636,
1978
1978
  "nodeType": "IfStatement",
1979
1979
  "src": "2143:1421:114",
1980
1980
  "trueBody": {
1981
- "id": 40571,
1981
+ "id": 40635,
1982
1982
  "nodeType": "Block",
1983
1983
  "src": "2192:1372:114",
1984
1984
  "statements": [
1985
1985
  {
1986
1986
  "expression": {
1987
- "id": 40464,
1987
+ "id": 40528,
1988
1988
  "isConstant": false,
1989
1989
  "isLValue": false,
1990
1990
  "isPure": false,
@@ -1992,11 +1992,11 @@
1992
1992
  "leftHandSide": {
1993
1993
  "components": [
1994
1994
  {
1995
- "id": 40433,
1995
+ "id": 40497,
1996
1996
  "name": "success",
1997
1997
  "nodeType": "Identifier",
1998
1998
  "overloadedDeclarations": [],
1999
- "referencedDeclaration": 40423,
1999
+ "referencedDeclaration": 40487,
2000
2000
  "src": "2230:7:114",
2001
2001
  "typeDescriptions": {
2002
2002
  "typeIdentifier": "t_bool",
@@ -2004,11 +2004,11 @@
2004
2004
  }
2005
2005
  },
2006
2006
  {
2007
- "id": 40434,
2007
+ "id": 40498,
2008
2008
  "name": "returnData",
2009
2009
  "nodeType": "Identifier",
2010
2010
  "overloadedDeclarations": [],
2011
- "referencedDeclaration": 40426,
2011
+ "referencedDeclaration": 40490,
2012
2012
  "src": "2239:10:114",
2013
2013
  "typeDescriptions": {
2014
2014
  "typeIdentifier": "t_bytes_memory_ptr",
@@ -2016,7 +2016,7 @@
2016
2016
  }
2017
2017
  }
2018
2018
  ],
2019
- "id": 40435,
2019
+ "id": 40499,
2020
2020
  "isConstant": false,
2021
2021
  "isInlineArray": false,
2022
2022
  "isLValue": true,
@@ -2037,18 +2037,18 @@
2037
2037
  "arguments": [
2038
2038
  {
2039
2039
  "expression": {
2040
- "id": 40443,
2040
+ "id": 40507,
2041
2041
  "name": "world",
2042
2042
  "nodeType": "Identifier",
2043
2043
  "overloadedDeclarations": [],
2044
- "referencedDeclaration": 40416,
2044
+ "referencedDeclaration": 40480,
2045
2045
  "src": "2316:5:114",
2046
2046
  "typeDescriptions": {
2047
- "typeIdentifier": "t_contract$_IBaseWorld_$39711",
2047
+ "typeIdentifier": "t_contract$_IBaseWorld_$39775",
2048
2048
  "typeString": "contract IBaseWorld"
2049
2049
  }
2050
2050
  },
2051
- "id": 40444,
2051
+ "id": 40508,
2052
2052
  "isConstant": false,
2053
2053
  "isLValue": false,
2054
2054
  "isPure": false,
@@ -2056,24 +2056,24 @@
2056
2056
  "memberLocation": "2322:13:114",
2057
2057
  "memberName": "registerTable",
2058
2058
  "nodeType": "MemberAccess",
2059
- "referencedDeclaration": 58130,
2059
+ "referencedDeclaration": 58194,
2060
2060
  "src": "2316:19:114",
2061
2061
  "typeDescriptions": {
2062
- "typeIdentifier": "t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$26573_$_t_userDefinedValueType$_FieldLayout_$25450_$_t_userDefinedValueType$_Schema_$26656_$_t_userDefinedValueType$_Schema_$26656_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$__$",
2062
+ "typeIdentifier": "t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$26605_$_t_userDefinedValueType$_FieldLayout_$25482_$_t_userDefinedValueType$_Schema_$26688_$_t_userDefinedValueType$_Schema_$26688_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$__$",
2063
2063
  "typeString": "function (ResourceId,FieldLayout,Schema,Schema,string memory[] memory,string memory[] memory) external"
2064
2064
  }
2065
2065
  },
2066
2066
  {
2067
2067
  "components": [
2068
2068
  {
2069
- "id": 40445,
2069
+ "id": 40509,
2070
2070
  "name": "KeysInTableTableId",
2071
2071
  "nodeType": "Identifier",
2072
2072
  "overloadedDeclarations": [],
2073
- "referencedDeclaration": 41697,
2073
+ "referencedDeclaration": 41761,
2074
2074
  "src": "2361:18:114",
2075
2075
  "typeDescriptions": {
2076
- "typeIdentifier": "t_userDefinedValueType$_ResourceId_$26573",
2076
+ "typeIdentifier": "t_userDefinedValueType$_ResourceId_$26605",
2077
2077
  "typeString": "ResourceId"
2078
2078
  }
2079
2079
  },
@@ -2082,18 +2082,18 @@
2082
2082
  "expression": {
2083
2083
  "argumentTypes": [],
2084
2084
  "expression": {
2085
- "id": 40446,
2085
+ "id": 40510,
2086
2086
  "name": "KeysInTable",
2087
2087
  "nodeType": "Identifier",
2088
2088
  "overloadedDeclarations": [],
2089
- "referencedDeclaration": 48213,
2089
+ "referencedDeclaration": 48277,
2090
2090
  "src": "2393:11:114",
2091
2091
  "typeDescriptions": {
2092
- "typeIdentifier": "t_type$_t_contract$_KeysInTable_$48213_$",
2092
+ "typeIdentifier": "t_type$_t_contract$_KeysInTable_$48277_$",
2093
2093
  "typeString": "type(library KeysInTable)"
2094
2094
  }
2095
2095
  },
2096
- "id": 40447,
2096
+ "id": 40511,
2097
2097
  "isConstant": false,
2098
2098
  "isLValue": false,
2099
2099
  "isPure": false,
@@ -2101,14 +2101,14 @@
2101
2101
  "memberLocation": "2405:14:114",
2102
2102
  "memberName": "getFieldLayout",
2103
2103
  "nodeType": "MemberAccess",
2104
- "referencedDeclaration": 41730,
2104
+ "referencedDeclaration": 41794,
2105
2105
  "src": "2393:26:114",
2106
2106
  "typeDescriptions": {
2107
- "typeIdentifier": "t_function_internal_pure$__$returns$_t_userDefinedValueType$_FieldLayout_$25450_$",
2107
+ "typeIdentifier": "t_function_internal_pure$__$returns$_t_userDefinedValueType$_FieldLayout_$25482_$",
2108
2108
  "typeString": "function () pure returns (FieldLayout)"
2109
2109
  }
2110
2110
  },
2111
- "id": 40448,
2111
+ "id": 40512,
2112
2112
  "isConstant": false,
2113
2113
  "isLValue": false,
2114
2114
  "isPure": false,
@@ -2120,7 +2120,7 @@
2120
2120
  "src": "2393:28:114",
2121
2121
  "tryCall": false,
2122
2122
  "typeDescriptions": {
2123
- "typeIdentifier": "t_userDefinedValueType$_FieldLayout_$25450",
2123
+ "typeIdentifier": "t_userDefinedValueType$_FieldLayout_$25482",
2124
2124
  "typeString": "FieldLayout"
2125
2125
  }
2126
2126
  },
@@ -2129,18 +2129,18 @@
2129
2129
  "expression": {
2130
2130
  "argumentTypes": [],
2131
2131
  "expression": {
2132
- "id": 40449,
2132
+ "id": 40513,
2133
2133
  "name": "KeysInTable",
2134
2134
  "nodeType": "Identifier",
2135
2135
  "overloadedDeclarations": [],
2136
- "referencedDeclaration": 48213,
2136
+ "referencedDeclaration": 48277,
2137
2137
  "src": "2435:11:114",
2138
2138
  "typeDescriptions": {
2139
- "typeIdentifier": "t_type$_t_contract$_KeysInTable_$48213_$",
2139
+ "typeIdentifier": "t_type$_t_contract$_KeysInTable_$48277_$",
2140
2140
  "typeString": "type(library KeysInTable)"
2141
2141
  }
2142
2142
  },
2143
- "id": 40450,
2143
+ "id": 40514,
2144
2144
  "isConstant": false,
2145
2145
  "isLValue": false,
2146
2146
  "isPure": false,
@@ -2148,14 +2148,14 @@
2148
2148
  "memberLocation": "2447:12:114",
2149
2149
  "memberName": "getKeySchema",
2150
2150
  "nodeType": "MemberAccess",
2151
- "referencedDeclaration": 41762,
2151
+ "referencedDeclaration": 41826,
2152
2152
  "src": "2435:24:114",
2153
2153
  "typeDescriptions": {
2154
- "typeIdentifier": "t_function_internal_pure$__$returns$_t_userDefinedValueType$_Schema_$26656_$",
2154
+ "typeIdentifier": "t_function_internal_pure$__$returns$_t_userDefinedValueType$_Schema_$26688_$",
2155
2155
  "typeString": "function () pure returns (Schema)"
2156
2156
  }
2157
2157
  },
2158
- "id": 40451,
2158
+ "id": 40515,
2159
2159
  "isConstant": false,
2160
2160
  "isLValue": false,
2161
2161
  "isPure": false,
@@ -2167,7 +2167,7 @@
2167
2167
  "src": "2435:26:114",
2168
2168
  "tryCall": false,
2169
2169
  "typeDescriptions": {
2170
- "typeIdentifier": "t_userDefinedValueType$_Schema_$26656",
2170
+ "typeIdentifier": "t_userDefinedValueType$_Schema_$26688",
2171
2171
  "typeString": "Schema"
2172
2172
  }
2173
2173
  },
@@ -2176,18 +2176,18 @@
2176
2176
  "expression": {
2177
2177
  "argumentTypes": [],
2178
2178
  "expression": {
2179
- "id": 40452,
2179
+ "id": 40516,
2180
2180
  "name": "KeysInTable",
2181
2181
  "nodeType": "Identifier",
2182
2182
  "overloadedDeclarations": [],
2183
- "referencedDeclaration": 48213,
2183
+ "referencedDeclaration": 48277,
2184
2184
  "src": "2475:11:114",
2185
2185
  "typeDescriptions": {
2186
- "typeIdentifier": "t_type$_t_contract$_KeysInTable_$48213_$",
2186
+ "typeIdentifier": "t_type$_t_contract$_KeysInTable_$48277_$",
2187
2187
  "typeString": "type(library KeysInTable)"
2188
2188
  }
2189
2189
  },
2190
- "id": 40453,
2190
+ "id": 40517,
2191
2191
  "isConstant": false,
2192
2192
  "isLValue": false,
2193
2193
  "isPure": false,
@@ -2195,14 +2195,14 @@
2195
2195
  "memberLocation": "2487:14:114",
2196
2196
  "memberName": "getValueSchema",
2197
2197
  "nodeType": "MemberAccess",
2198
- "referencedDeclaration": 41822,
2198
+ "referencedDeclaration": 41886,
2199
2199
  "src": "2475:26:114",
2200
2200
  "typeDescriptions": {
2201
- "typeIdentifier": "t_function_internal_pure$__$returns$_t_userDefinedValueType$_Schema_$26656_$",
2201
+ "typeIdentifier": "t_function_internal_pure$__$returns$_t_userDefinedValueType$_Schema_$26688_$",
2202
2202
  "typeString": "function () pure returns (Schema)"
2203
2203
  }
2204
2204
  },
2205
- "id": 40454,
2205
+ "id": 40518,
2206
2206
  "isConstant": false,
2207
2207
  "isLValue": false,
2208
2208
  "isPure": false,
@@ -2214,7 +2214,7 @@
2214
2214
  "src": "2475:28:114",
2215
2215
  "tryCall": false,
2216
2216
  "typeDescriptions": {
2217
- "typeIdentifier": "t_userDefinedValueType$_Schema_$26656",
2217
+ "typeIdentifier": "t_userDefinedValueType$_Schema_$26688",
2218
2218
  "typeString": "Schema"
2219
2219
  }
2220
2220
  },
@@ -2223,18 +2223,18 @@
2223
2223
  "expression": {
2224
2224
  "argumentTypes": [],
2225
2225
  "expression": {
2226
- "id": 40455,
2226
+ "id": 40519,
2227
2227
  "name": "KeysInTable",
2228
2228
  "nodeType": "Identifier",
2229
2229
  "overloadedDeclarations": [],
2230
- "referencedDeclaration": 48213,
2230
+ "referencedDeclaration": 48277,
2231
2231
  "src": "2517:11:114",
2232
2232
  "typeDescriptions": {
2233
- "typeIdentifier": "t_type$_t_contract$_KeysInTable_$48213_$",
2233
+ "typeIdentifier": "t_type$_t_contract$_KeysInTable_$48277_$",
2234
2234
  "typeString": "type(library KeysInTable)"
2235
2235
  }
2236
2236
  },
2237
- "id": 40456,
2237
+ "id": 40520,
2238
2238
  "isConstant": false,
2239
2239
  "isLValue": false,
2240
2240
  "isPure": false,
@@ -2242,14 +2242,14 @@
2242
2242
  "memberLocation": "2529:11:114",
2243
2243
  "memberName": "getKeyNames",
2244
2244
  "nodeType": "MemberAccess",
2245
- "referencedDeclaration": 41844,
2245
+ "referencedDeclaration": 41908,
2246
2246
  "src": "2517:23:114",
2247
2247
  "typeDescriptions": {
2248
2248
  "typeIdentifier": "t_function_internal_pure$__$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$",
2249
2249
  "typeString": "function () pure returns (string memory[] memory)"
2250
2250
  }
2251
2251
  },
2252
- "id": 40457,
2252
+ "id": 40521,
2253
2253
  "isConstant": false,
2254
2254
  "isLValue": false,
2255
2255
  "isPure": false,
@@ -2270,18 +2270,18 @@
2270
2270
  "expression": {
2271
2271
  "argumentTypes": [],
2272
2272
  "expression": {
2273
- "id": 40458,
2273
+ "id": 40522,
2274
2274
  "name": "KeysInTable",
2275
2275
  "nodeType": "Identifier",
2276
2276
  "overloadedDeclarations": [],
2277
- "referencedDeclaration": 48213,
2277
+ "referencedDeclaration": 48277,
2278
2278
  "src": "2556:11:114",
2279
2279
  "typeDescriptions": {
2280
- "typeIdentifier": "t_type$_t_contract$_KeysInTable_$48213_$",
2280
+ "typeIdentifier": "t_type$_t_contract$_KeysInTable_$48277_$",
2281
2281
  "typeString": "type(library KeysInTable)"
2282
2282
  }
2283
2283
  },
2284
- "id": 40459,
2284
+ "id": 40523,
2285
2285
  "isConstant": false,
2286
2286
  "isLValue": false,
2287
2287
  "isPure": false,
@@ -2289,14 +2289,14 @@
2289
2289
  "memberLocation": "2568:13:114",
2290
2290
  "memberName": "getFieldNames",
2291
2291
  "nodeType": "MemberAccess",
2292
- "referencedDeclaration": 41890,
2292
+ "referencedDeclaration": 41954,
2293
2293
  "src": "2556:25:114",
2294
2294
  "typeDescriptions": {
2295
2295
  "typeIdentifier": "t_function_internal_pure$__$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$",
2296
2296
  "typeString": "function () pure returns (string memory[] memory)"
2297
2297
  }
2298
2298
  },
2299
- "id": 40460,
2299
+ "id": 40524,
2300
2300
  "isConstant": false,
2301
2301
  "isLValue": false,
2302
2302
  "isPure": false,
@@ -2313,7 +2313,7 @@
2313
2313
  }
2314
2314
  }
2315
2315
  ],
2316
- "id": 40461,
2316
+ "id": 40525,
2317
2317
  "isConstant": false,
2318
2318
  "isInlineArray": false,
2319
2319
  "isLValue": false,
@@ -2322,7 +2322,7 @@
2322
2322
  "nodeType": "TupleExpression",
2323
2323
  "src": "2347:248:114",
2324
2324
  "typeDescriptions": {
2325
- "typeIdentifier": "t_tuple$_t_userDefinedValueType$_ResourceId_$26573_$_t_userDefinedValueType$_FieldLayout_$25450_$_t_userDefinedValueType$_Schema_$26656_$_t_userDefinedValueType$_Schema_$26656_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$",
2325
+ "typeIdentifier": "t_tuple$_t_userDefinedValueType$_ResourceId_$26605_$_t_userDefinedValueType$_FieldLayout_$25482_$_t_userDefinedValueType$_Schema_$26688_$_t_userDefinedValueType$_Schema_$26688_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$",
2326
2326
  "typeString": "tuple(ResourceId,FieldLayout,Schema,Schema,string memory[] memory,string memory[] memory)"
2327
2327
  }
2328
2328
  }
@@ -2330,16 +2330,16 @@
2330
2330
  "expression": {
2331
2331
  "argumentTypes": [
2332
2332
  {
2333
- "typeIdentifier": "t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$26573_$_t_userDefinedValueType$_FieldLayout_$25450_$_t_userDefinedValueType$_Schema_$26656_$_t_userDefinedValueType$_Schema_$26656_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$__$",
2333
+ "typeIdentifier": "t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$26605_$_t_userDefinedValueType$_FieldLayout_$25482_$_t_userDefinedValueType$_Schema_$26688_$_t_userDefinedValueType$_Schema_$26688_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$__$",
2334
2334
  "typeString": "function (ResourceId,FieldLayout,Schema,Schema,string memory[] memory,string memory[] memory) external"
2335
2335
  },
2336
2336
  {
2337
- "typeIdentifier": "t_tuple$_t_userDefinedValueType$_ResourceId_$26573_$_t_userDefinedValueType$_FieldLayout_$25450_$_t_userDefinedValueType$_Schema_$26656_$_t_userDefinedValueType$_Schema_$26656_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$",
2337
+ "typeIdentifier": "t_tuple$_t_userDefinedValueType$_ResourceId_$26605_$_t_userDefinedValueType$_FieldLayout_$25482_$_t_userDefinedValueType$_Schema_$26688_$_t_userDefinedValueType$_Schema_$26688_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$",
2338
2338
  "typeString": "tuple(ResourceId,FieldLayout,Schema,Schema,string memory[] memory,string memory[] memory)"
2339
2339
  }
2340
2340
  ],
2341
2341
  "expression": {
2342
- "id": 40441,
2342
+ "id": 40505,
2343
2343
  "name": "abi",
2344
2344
  "nodeType": "Identifier",
2345
2345
  "overloadedDeclarations": [],
@@ -2350,7 +2350,7 @@
2350
2350
  "typeString": "abi"
2351
2351
  }
2352
2352
  },
2353
- "id": 40442,
2353
+ "id": 40506,
2354
2354
  "isConstant": false,
2355
2355
  "isLValue": false,
2356
2356
  "isPure": true,
@@ -2364,7 +2364,7 @@
2364
2364
  "typeString": "function () pure returns (bytes memory)"
2365
2365
  }
2366
2366
  },
2367
- "id": 40462,
2367
+ "id": 40526,
2368
2368
  "isConstant": false,
2369
2369
  "isLValue": false,
2370
2370
  "isPure": false,
@@ -2391,14 +2391,14 @@
2391
2391
  "expression": {
2392
2392
  "arguments": [
2393
2393
  {
2394
- "id": 40438,
2394
+ "id": 40502,
2395
2395
  "name": "world",
2396
2396
  "nodeType": "Identifier",
2397
2397
  "overloadedDeclarations": [],
2398
- "referencedDeclaration": 40416,
2398
+ "referencedDeclaration": 40480,
2399
2399
  "src": "2261:5:114",
2400
2400
  "typeDescriptions": {
2401
- "typeIdentifier": "t_contract$_IBaseWorld_$39711",
2401
+ "typeIdentifier": "t_contract$_IBaseWorld_$39775",
2402
2402
  "typeString": "contract IBaseWorld"
2403
2403
  }
2404
2404
  }
@@ -2406,11 +2406,11 @@
2406
2406
  "expression": {
2407
2407
  "argumentTypes": [
2408
2408
  {
2409
- "typeIdentifier": "t_contract$_IBaseWorld_$39711",
2409
+ "typeIdentifier": "t_contract$_IBaseWorld_$39775",
2410
2410
  "typeString": "contract IBaseWorld"
2411
2411
  }
2412
2412
  ],
2413
- "id": 40437,
2413
+ "id": 40501,
2414
2414
  "isConstant": false,
2415
2415
  "isLValue": false,
2416
2416
  "isPure": true,
@@ -2422,14 +2422,14 @@
2422
2422
  "typeString": "type(address)"
2423
2423
  },
2424
2424
  "typeName": {
2425
- "id": 40436,
2425
+ "id": 40500,
2426
2426
  "name": "address",
2427
2427
  "nodeType": "ElementaryTypeName",
2428
2428
  "src": "2253:7:114",
2429
2429
  "typeDescriptions": {}
2430
2430
  }
2431
2431
  },
2432
- "id": 40439,
2432
+ "id": 40503,
2433
2433
  "isConstant": false,
2434
2434
  "isLValue": false,
2435
2435
  "isPure": false,
@@ -2445,7 +2445,7 @@
2445
2445
  "typeString": "address"
2446
2446
  }
2447
2447
  },
2448
- "id": 40440,
2448
+ "id": 40504,
2449
2449
  "isConstant": false,
2450
2450
  "isLValue": false,
2451
2451
  "isPure": false,
@@ -2459,7 +2459,7 @@
2459
2459
  "typeString": "function (bytes memory) returns (bool,bytes memory)"
2460
2460
  }
2461
2461
  },
2462
- "id": 40463,
2462
+ "id": 40527,
2463
2463
  "isConstant": false,
2464
2464
  "isLValue": false,
2465
2465
  "isPure": false,
@@ -2481,13 +2481,13 @@
2481
2481
  "typeString": "tuple()"
2482
2482
  }
2483
2483
  },
2484
- "id": 40465,
2484
+ "id": 40529,
2485
2485
  "nodeType": "ExpressionStatement",
2486
2486
  "src": "2229:384:114"
2487
2487
  },
2488
2488
  {
2489
2489
  "condition": {
2490
- "id": 40467,
2490
+ "id": 40531,
2491
2491
  "isConstant": false,
2492
2492
  "isLValue": false,
2493
2493
  "isPure": false,
@@ -2497,11 +2497,11 @@
2497
2497
  "prefix": true,
2498
2498
  "src": "2625:8:114",
2499
2499
  "subExpression": {
2500
- "id": 40466,
2500
+ "id": 40530,
2501
2501
  "name": "success",
2502
2502
  "nodeType": "Identifier",
2503
2503
  "overloadedDeclarations": [],
2504
- "referencedDeclaration": 40423,
2504
+ "referencedDeclaration": 40487,
2505
2505
  "src": "2626:7:114",
2506
2506
  "typeDescriptions": {
2507
2507
  "typeIdentifier": "t_bool",
@@ -2513,18 +2513,18 @@
2513
2513
  "typeString": "bool"
2514
2514
  }
2515
2515
  },
2516
- "id": 40472,
2516
+ "id": 40536,
2517
2517
  "nodeType": "IfStatement",
2518
2518
  "src": "2621:41:114",
2519
2519
  "trueBody": {
2520
2520
  "expression": {
2521
2521
  "arguments": [
2522
2522
  {
2523
- "id": 40469,
2523
+ "id": 40533,
2524
2524
  "name": "returnData",
2525
2525
  "nodeType": "Identifier",
2526
2526
  "overloadedDeclarations": [],
2527
- "referencedDeclaration": 40426,
2527
+ "referencedDeclaration": 40490,
2528
2528
  "src": "2651:10:114",
2529
2529
  "typeDescriptions": {
2530
2530
  "typeIdentifier": "t_bytes_memory_ptr",
@@ -2539,18 +2539,18 @@
2539
2539
  "typeString": "bytes memory"
2540
2540
  }
2541
2541
  ],
2542
- "id": 40468,
2542
+ "id": 40532,
2543
2543
  "name": "revertWithBytes",
2544
2544
  "nodeType": "Identifier",
2545
2545
  "overloadedDeclarations": [],
2546
- "referencedDeclaration": 39785,
2546
+ "referencedDeclaration": 39849,
2547
2547
  "src": "2635:15:114",
2548
2548
  "typeDescriptions": {
2549
2549
  "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
2550
2550
  "typeString": "function (bytes memory) pure"
2551
2551
  }
2552
2552
  },
2553
- "id": 40470,
2553
+ "id": 40534,
2554
2554
  "isConstant": false,
2555
2555
  "isLValue": false,
2556
2556
  "isPure": false,
@@ -2566,14 +2566,14 @@
2566
2566
  "typeString": "tuple()"
2567
2567
  }
2568
2568
  },
2569
- "id": 40471,
2569
+ "id": 40535,
2570
2570
  "nodeType": "ExpressionStatement",
2571
2571
  "src": "2635:27:114"
2572
2572
  }
2573
2573
  },
2574
2574
  {
2575
2575
  "expression": {
2576
- "id": 40504,
2576
+ "id": 40568,
2577
2577
  "isConstant": false,
2578
2578
  "isLValue": false,
2579
2579
  "isPure": false,
@@ -2581,11 +2581,11 @@
2581
2581
  "leftHandSide": {
2582
2582
  "components": [
2583
2583
  {
2584
- "id": 40473,
2584
+ "id": 40537,
2585
2585
  "name": "success",
2586
2586
  "nodeType": "Identifier",
2587
2587
  "overloadedDeclarations": [],
2588
- "referencedDeclaration": 40423,
2588
+ "referencedDeclaration": 40487,
2589
2589
  "src": "2672:7:114",
2590
2590
  "typeDescriptions": {
2591
2591
  "typeIdentifier": "t_bool",
@@ -2593,11 +2593,11 @@
2593
2593
  }
2594
2594
  },
2595
2595
  {
2596
- "id": 40474,
2596
+ "id": 40538,
2597
2597
  "name": "returnData",
2598
2598
  "nodeType": "Identifier",
2599
2599
  "overloadedDeclarations": [],
2600
- "referencedDeclaration": 40426,
2600
+ "referencedDeclaration": 40490,
2601
2601
  "src": "2681:10:114",
2602
2602
  "typeDescriptions": {
2603
2603
  "typeIdentifier": "t_bytes_memory_ptr",
@@ -2605,7 +2605,7 @@
2605
2605
  }
2606
2606
  }
2607
2607
  ],
2608
- "id": 40475,
2608
+ "id": 40539,
2609
2609
  "isConstant": false,
2610
2610
  "isInlineArray": false,
2611
2611
  "isLValue": true,
@@ -2626,18 +2626,18 @@
2626
2626
  "arguments": [
2627
2627
  {
2628
2628
  "expression": {
2629
- "id": 40483,
2629
+ "id": 40547,
2630
2630
  "name": "world",
2631
2631
  "nodeType": "Identifier",
2632
2632
  "overloadedDeclarations": [],
2633
- "referencedDeclaration": 40416,
2633
+ "referencedDeclaration": 40480,
2634
2634
  "src": "2758:5:114",
2635
2635
  "typeDescriptions": {
2636
- "typeIdentifier": "t_contract$_IBaseWorld_$39711",
2636
+ "typeIdentifier": "t_contract$_IBaseWorld_$39775",
2637
2637
  "typeString": "contract IBaseWorld"
2638
2638
  }
2639
2639
  },
2640
- "id": 40484,
2640
+ "id": 40548,
2641
2641
  "isConstant": false,
2642
2642
  "isLValue": false,
2643
2643
  "isPure": false,
@@ -2645,24 +2645,24 @@
2645
2645
  "memberLocation": "2764:13:114",
2646
2646
  "memberName": "registerTable",
2647
2647
  "nodeType": "MemberAccess",
2648
- "referencedDeclaration": 58130,
2648
+ "referencedDeclaration": 58194,
2649
2649
  "src": "2758:19:114",
2650
2650
  "typeDescriptions": {
2651
- "typeIdentifier": "t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$26573_$_t_userDefinedValueType$_FieldLayout_$25450_$_t_userDefinedValueType$_Schema_$26656_$_t_userDefinedValueType$_Schema_$26656_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$__$",
2651
+ "typeIdentifier": "t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$26605_$_t_userDefinedValueType$_FieldLayout_$25482_$_t_userDefinedValueType$_Schema_$26688_$_t_userDefinedValueType$_Schema_$26688_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$__$",
2652
2652
  "typeString": "function (ResourceId,FieldLayout,Schema,Schema,string memory[] memory,string memory[] memory) external"
2653
2653
  }
2654
2654
  },
2655
2655
  {
2656
2656
  "components": [
2657
2657
  {
2658
- "id": 40485,
2658
+ "id": 40549,
2659
2659
  "name": "UsedKeysIndexTableId",
2660
2660
  "nodeType": "Identifier",
2661
2661
  "overloadedDeclarations": [],
2662
- "referencedDeclaration": 48272,
2662
+ "referencedDeclaration": 48336,
2663
2663
  "src": "2803:20:114",
2664
2664
  "typeDescriptions": {
2665
- "typeIdentifier": "t_userDefinedValueType$_ResourceId_$26573",
2665
+ "typeIdentifier": "t_userDefinedValueType$_ResourceId_$26605",
2666
2666
  "typeString": "ResourceId"
2667
2667
  }
2668
2668
  },
@@ -2671,18 +2671,18 @@
2671
2671
  "expression": {
2672
2672
  "argumentTypes": [],
2673
2673
  "expression": {
2674
- "id": 40486,
2674
+ "id": 40550,
2675
2675
  "name": "UsedKeysIndex",
2676
2676
  "nodeType": "Identifier",
2677
2677
  "overloadedDeclarations": [],
2678
- "referencedDeclaration": 49825,
2678
+ "referencedDeclaration": 49889,
2679
2679
  "src": "2837:13:114",
2680
2680
  "typeDescriptions": {
2681
- "typeIdentifier": "t_type$_t_contract$_UsedKeysIndex_$49825_$",
2681
+ "typeIdentifier": "t_type$_t_contract$_UsedKeysIndex_$49889_$",
2682
2682
  "typeString": "type(library UsedKeysIndex)"
2683
2683
  }
2684
2684
  },
2685
- "id": 40487,
2685
+ "id": 40551,
2686
2686
  "isConstant": false,
2687
2687
  "isLValue": false,
2688
2688
  "isPure": false,
@@ -2690,14 +2690,14 @@
2690
2690
  "memberLocation": "2851:14:114",
2691
2691
  "memberName": "getFieldLayout",
2692
2692
  "nodeType": "MemberAccess",
2693
- "referencedDeclaration": 48289,
2693
+ "referencedDeclaration": 48353,
2694
2694
  "src": "2837:28:114",
2695
2695
  "typeDescriptions": {
2696
- "typeIdentifier": "t_function_internal_pure$__$returns$_t_userDefinedValueType$_FieldLayout_$25450_$",
2696
+ "typeIdentifier": "t_function_internal_pure$__$returns$_t_userDefinedValueType$_FieldLayout_$25482_$",
2697
2697
  "typeString": "function () pure returns (FieldLayout)"
2698
2698
  }
2699
2699
  },
2700
- "id": 40488,
2700
+ "id": 40552,
2701
2701
  "isConstant": false,
2702
2702
  "isLValue": false,
2703
2703
  "isPure": false,
@@ -2709,7 +2709,7 @@
2709
2709
  "src": "2837:30:114",
2710
2710
  "tryCall": false,
2711
2711
  "typeDescriptions": {
2712
- "typeIdentifier": "t_userDefinedValueType$_FieldLayout_$25450",
2712
+ "typeIdentifier": "t_userDefinedValueType$_FieldLayout_$25482",
2713
2713
  "typeString": "FieldLayout"
2714
2714
  }
2715
2715
  },
@@ -2718,18 +2718,18 @@
2718
2718
  "expression": {
2719
2719
  "argumentTypes": [],
2720
2720
  "expression": {
2721
- "id": 40489,
2721
+ "id": 40553,
2722
2722
  "name": "UsedKeysIndex",
2723
2723
  "nodeType": "Identifier",
2724
2724
  "overloadedDeclarations": [],
2725
- "referencedDeclaration": 49825,
2725
+ "referencedDeclaration": 49889,
2726
2726
  "src": "2881:13:114",
2727
2727
  "typeDescriptions": {
2728
- "typeIdentifier": "t_type$_t_contract$_UsedKeysIndex_$49825_$",
2728
+ "typeIdentifier": "t_type$_t_contract$_UsedKeysIndex_$49889_$",
2729
2729
  "typeString": "type(library UsedKeysIndex)"
2730
2730
  }
2731
2731
  },
2732
- "id": 40490,
2732
+ "id": 40554,
2733
2733
  "isConstant": false,
2734
2734
  "isLValue": false,
2735
2735
  "isPure": false,
@@ -2737,14 +2737,14 @@
2737
2737
  "memberLocation": "2895:12:114",
2738
2738
  "memberName": "getKeySchema",
2739
2739
  "nodeType": "MemberAccess",
2740
- "referencedDeclaration": 48328,
2740
+ "referencedDeclaration": 48392,
2741
2741
  "src": "2881:26:114",
2742
2742
  "typeDescriptions": {
2743
- "typeIdentifier": "t_function_internal_pure$__$returns$_t_userDefinedValueType$_Schema_$26656_$",
2743
+ "typeIdentifier": "t_function_internal_pure$__$returns$_t_userDefinedValueType$_Schema_$26688_$",
2744
2744
  "typeString": "function () pure returns (Schema)"
2745
2745
  }
2746
2746
  },
2747
- "id": 40491,
2747
+ "id": 40555,
2748
2748
  "isConstant": false,
2749
2749
  "isLValue": false,
2750
2750
  "isPure": false,
@@ -2756,7 +2756,7 @@
2756
2756
  "src": "2881:28:114",
2757
2757
  "tryCall": false,
2758
2758
  "typeDescriptions": {
2759
- "typeIdentifier": "t_userDefinedValueType$_Schema_$26656",
2759
+ "typeIdentifier": "t_userDefinedValueType$_Schema_$26688",
2760
2760
  "typeString": "Schema"
2761
2761
  }
2762
2762
  },
@@ -2765,18 +2765,18 @@
2765
2765
  "expression": {
2766
2766
  "argumentTypes": [],
2767
2767
  "expression": {
2768
- "id": 40492,
2768
+ "id": 40556,
2769
2769
  "name": "UsedKeysIndex",
2770
2770
  "nodeType": "Identifier",
2771
2771
  "overloadedDeclarations": [],
2772
- "referencedDeclaration": 49825,
2772
+ "referencedDeclaration": 49889,
2773
2773
  "src": "2923:13:114",
2774
2774
  "typeDescriptions": {
2775
- "typeIdentifier": "t_type$_t_contract$_UsedKeysIndex_$49825_$",
2775
+ "typeIdentifier": "t_type$_t_contract$_UsedKeysIndex_$49889_$",
2776
2776
  "typeString": "type(library UsedKeysIndex)"
2777
2777
  }
2778
2778
  },
2779
- "id": 40493,
2779
+ "id": 40557,
2780
2780
  "isConstant": false,
2781
2781
  "isLValue": false,
2782
2782
  "isPure": false,
@@ -2784,14 +2784,14 @@
2784
2784
  "memberLocation": "2937:14:114",
2785
2785
  "memberName": "getValueSchema",
2786
2786
  "nodeType": "MemberAccess",
2787
- "referencedDeclaration": 48367,
2787
+ "referencedDeclaration": 48431,
2788
2788
  "src": "2923:28:114",
2789
2789
  "typeDescriptions": {
2790
- "typeIdentifier": "t_function_internal_pure$__$returns$_t_userDefinedValueType$_Schema_$26656_$",
2790
+ "typeIdentifier": "t_function_internal_pure$__$returns$_t_userDefinedValueType$_Schema_$26688_$",
2791
2791
  "typeString": "function () pure returns (Schema)"
2792
2792
  }
2793
2793
  },
2794
- "id": 40494,
2794
+ "id": 40558,
2795
2795
  "isConstant": false,
2796
2796
  "isLValue": false,
2797
2797
  "isPure": false,
@@ -2803,7 +2803,7 @@
2803
2803
  "src": "2923:30:114",
2804
2804
  "tryCall": false,
2805
2805
  "typeDescriptions": {
2806
- "typeIdentifier": "t_userDefinedValueType$_Schema_$26656",
2806
+ "typeIdentifier": "t_userDefinedValueType$_Schema_$26688",
2807
2807
  "typeString": "Schema"
2808
2808
  }
2809
2809
  },
@@ -2812,18 +2812,18 @@
2812
2812
  "expression": {
2813
2813
  "argumentTypes": [],
2814
2814
  "expression": {
2815
- "id": 40495,
2815
+ "id": 40559,
2816
2816
  "name": "UsedKeysIndex",
2817
2817
  "nodeType": "Identifier",
2818
2818
  "overloadedDeclarations": [],
2819
- "referencedDeclaration": 49825,
2819
+ "referencedDeclaration": 49889,
2820
2820
  "src": "2967:13:114",
2821
2821
  "typeDescriptions": {
2822
- "typeIdentifier": "t_type$_t_contract$_UsedKeysIndex_$49825_$",
2822
+ "typeIdentifier": "t_type$_t_contract$_UsedKeysIndex_$49889_$",
2823
2823
  "typeString": "type(library UsedKeysIndex)"
2824
2824
  }
2825
2825
  },
2826
- "id": 40496,
2826
+ "id": 40560,
2827
2827
  "isConstant": false,
2828
2828
  "isLValue": false,
2829
2829
  "isPure": false,
@@ -2831,14 +2831,14 @@
2831
2831
  "memberLocation": "2981:11:114",
2832
2832
  "memberName": "getKeyNames",
2833
2833
  "nodeType": "MemberAccess",
2834
- "referencedDeclaration": 48395,
2834
+ "referencedDeclaration": 48459,
2835
2835
  "src": "2967:25:114",
2836
2836
  "typeDescriptions": {
2837
2837
  "typeIdentifier": "t_function_internal_pure$__$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$",
2838
2838
  "typeString": "function () pure returns (string memory[] memory)"
2839
2839
  }
2840
2840
  },
2841
- "id": 40497,
2841
+ "id": 40561,
2842
2842
  "isConstant": false,
2843
2843
  "isLValue": false,
2844
2844
  "isPure": false,
@@ -2859,18 +2859,18 @@
2859
2859
  "expression": {
2860
2860
  "argumentTypes": [],
2861
2861
  "expression": {
2862
- "id": 40498,
2862
+ "id": 40562,
2863
2863
  "name": "UsedKeysIndex",
2864
2864
  "nodeType": "Identifier",
2865
2865
  "overloadedDeclarations": [],
2866
- "referencedDeclaration": 49825,
2866
+ "referencedDeclaration": 49889,
2867
2867
  "src": "3008:13:114",
2868
2868
  "typeDescriptions": {
2869
- "typeIdentifier": "t_type$_t_contract$_UsedKeysIndex_$49825_$",
2869
+ "typeIdentifier": "t_type$_t_contract$_UsedKeysIndex_$49889_$",
2870
2870
  "typeString": "type(library UsedKeysIndex)"
2871
2871
  }
2872
2872
  },
2873
- "id": 40499,
2873
+ "id": 40563,
2874
2874
  "isConstant": false,
2875
2875
  "isLValue": false,
2876
2876
  "isPure": false,
@@ -2878,14 +2878,14 @@
2878
2878
  "memberLocation": "3022:13:114",
2879
2879
  "memberName": "getFieldNames",
2880
2880
  "nodeType": "MemberAccess",
2881
- "referencedDeclaration": 48423,
2881
+ "referencedDeclaration": 48487,
2882
2882
  "src": "3008:27:114",
2883
2883
  "typeDescriptions": {
2884
2884
  "typeIdentifier": "t_function_internal_pure$__$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$",
2885
2885
  "typeString": "function () pure returns (string memory[] memory)"
2886
2886
  }
2887
2887
  },
2888
- "id": 40500,
2888
+ "id": 40564,
2889
2889
  "isConstant": false,
2890
2890
  "isLValue": false,
2891
2891
  "isPure": false,
@@ -2902,7 +2902,7 @@
2902
2902
  }
2903
2903
  }
2904
2904
  ],
2905
- "id": 40501,
2905
+ "id": 40565,
2906
2906
  "isConstant": false,
2907
2907
  "isInlineArray": false,
2908
2908
  "isLValue": false,
@@ -2911,7 +2911,7 @@
2911
2911
  "nodeType": "TupleExpression",
2912
2912
  "src": "2789:260:114",
2913
2913
  "typeDescriptions": {
2914
- "typeIdentifier": "t_tuple$_t_userDefinedValueType$_ResourceId_$26573_$_t_userDefinedValueType$_FieldLayout_$25450_$_t_userDefinedValueType$_Schema_$26656_$_t_userDefinedValueType$_Schema_$26656_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$",
2914
+ "typeIdentifier": "t_tuple$_t_userDefinedValueType$_ResourceId_$26605_$_t_userDefinedValueType$_FieldLayout_$25482_$_t_userDefinedValueType$_Schema_$26688_$_t_userDefinedValueType$_Schema_$26688_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$",
2915
2915
  "typeString": "tuple(ResourceId,FieldLayout,Schema,Schema,string memory[] memory,string memory[] memory)"
2916
2916
  }
2917
2917
  }
@@ -2919,16 +2919,16 @@
2919
2919
  "expression": {
2920
2920
  "argumentTypes": [
2921
2921
  {
2922
- "typeIdentifier": "t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$26573_$_t_userDefinedValueType$_FieldLayout_$25450_$_t_userDefinedValueType$_Schema_$26656_$_t_userDefinedValueType$_Schema_$26656_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$__$",
2922
+ "typeIdentifier": "t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$26605_$_t_userDefinedValueType$_FieldLayout_$25482_$_t_userDefinedValueType$_Schema_$26688_$_t_userDefinedValueType$_Schema_$26688_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$__$",
2923
2923
  "typeString": "function (ResourceId,FieldLayout,Schema,Schema,string memory[] memory,string memory[] memory) external"
2924
2924
  },
2925
2925
  {
2926
- "typeIdentifier": "t_tuple$_t_userDefinedValueType$_ResourceId_$26573_$_t_userDefinedValueType$_FieldLayout_$25450_$_t_userDefinedValueType$_Schema_$26656_$_t_userDefinedValueType$_Schema_$26656_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$",
2926
+ "typeIdentifier": "t_tuple$_t_userDefinedValueType$_ResourceId_$26605_$_t_userDefinedValueType$_FieldLayout_$25482_$_t_userDefinedValueType$_Schema_$26688_$_t_userDefinedValueType$_Schema_$26688_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$",
2927
2927
  "typeString": "tuple(ResourceId,FieldLayout,Schema,Schema,string memory[] memory,string memory[] memory)"
2928
2928
  }
2929
2929
  ],
2930
2930
  "expression": {
2931
- "id": 40481,
2931
+ "id": 40545,
2932
2932
  "name": "abi",
2933
2933
  "nodeType": "Identifier",
2934
2934
  "overloadedDeclarations": [],
@@ -2939,7 +2939,7 @@
2939
2939
  "typeString": "abi"
2940
2940
  }
2941
2941
  },
2942
- "id": 40482,
2942
+ "id": 40546,
2943
2943
  "isConstant": false,
2944
2944
  "isLValue": false,
2945
2945
  "isPure": true,
@@ -2953,7 +2953,7 @@
2953
2953
  "typeString": "function () pure returns (bytes memory)"
2954
2954
  }
2955
2955
  },
2956
- "id": 40502,
2956
+ "id": 40566,
2957
2957
  "isConstant": false,
2958
2958
  "isLValue": false,
2959
2959
  "isPure": false,
@@ -2980,14 +2980,14 @@
2980
2980
  "expression": {
2981
2981
  "arguments": [
2982
2982
  {
2983
- "id": 40478,
2983
+ "id": 40542,
2984
2984
  "name": "world",
2985
2985
  "nodeType": "Identifier",
2986
2986
  "overloadedDeclarations": [],
2987
- "referencedDeclaration": 40416,
2987
+ "referencedDeclaration": 40480,
2988
2988
  "src": "2703:5:114",
2989
2989
  "typeDescriptions": {
2990
- "typeIdentifier": "t_contract$_IBaseWorld_$39711",
2990
+ "typeIdentifier": "t_contract$_IBaseWorld_$39775",
2991
2991
  "typeString": "contract IBaseWorld"
2992
2992
  }
2993
2993
  }
@@ -2995,11 +2995,11 @@
2995
2995
  "expression": {
2996
2996
  "argumentTypes": [
2997
2997
  {
2998
- "typeIdentifier": "t_contract$_IBaseWorld_$39711",
2998
+ "typeIdentifier": "t_contract$_IBaseWorld_$39775",
2999
2999
  "typeString": "contract IBaseWorld"
3000
3000
  }
3001
3001
  ],
3002
- "id": 40477,
3002
+ "id": 40541,
3003
3003
  "isConstant": false,
3004
3004
  "isLValue": false,
3005
3005
  "isPure": true,
@@ -3011,14 +3011,14 @@
3011
3011
  "typeString": "type(address)"
3012
3012
  },
3013
3013
  "typeName": {
3014
- "id": 40476,
3014
+ "id": 40540,
3015
3015
  "name": "address",
3016
3016
  "nodeType": "ElementaryTypeName",
3017
3017
  "src": "2695:7:114",
3018
3018
  "typeDescriptions": {}
3019
3019
  }
3020
3020
  },
3021
- "id": 40479,
3021
+ "id": 40543,
3022
3022
  "isConstant": false,
3023
3023
  "isLValue": false,
3024
3024
  "isPure": false,
@@ -3034,7 +3034,7 @@
3034
3034
  "typeString": "address"
3035
3035
  }
3036
3036
  },
3037
- "id": 40480,
3037
+ "id": 40544,
3038
3038
  "isConstant": false,
3039
3039
  "isLValue": false,
3040
3040
  "isPure": false,
@@ -3048,7 +3048,7 @@
3048
3048
  "typeString": "function (bytes memory) returns (bool,bytes memory)"
3049
3049
  }
3050
3050
  },
3051
- "id": 40503,
3051
+ "id": 40567,
3052
3052
  "isConstant": false,
3053
3053
  "isLValue": false,
3054
3054
  "isPure": false,
@@ -3070,13 +3070,13 @@
3070
3070
  "typeString": "tuple()"
3071
3071
  }
3072
3072
  },
3073
- "id": 40505,
3073
+ "id": 40569,
3074
3074
  "nodeType": "ExpressionStatement",
3075
3075
  "src": "2671:396:114"
3076
3076
  },
3077
3077
  {
3078
3078
  "condition": {
3079
- "id": 40507,
3079
+ "id": 40571,
3080
3080
  "isConstant": false,
3081
3081
  "isLValue": false,
3082
3082
  "isPure": false,
@@ -3086,11 +3086,11 @@
3086
3086
  "prefix": true,
3087
3087
  "src": "3079:8:114",
3088
3088
  "subExpression": {
3089
- "id": 40506,
3089
+ "id": 40570,
3090
3090
  "name": "success",
3091
3091
  "nodeType": "Identifier",
3092
3092
  "overloadedDeclarations": [],
3093
- "referencedDeclaration": 40423,
3093
+ "referencedDeclaration": 40487,
3094
3094
  "src": "3080:7:114",
3095
3095
  "typeDescriptions": {
3096
3096
  "typeIdentifier": "t_bool",
@@ -3102,18 +3102,18 @@
3102
3102
  "typeString": "bool"
3103
3103
  }
3104
3104
  },
3105
- "id": 40512,
3105
+ "id": 40576,
3106
3106
  "nodeType": "IfStatement",
3107
3107
  "src": "3075:41:114",
3108
3108
  "trueBody": {
3109
3109
  "expression": {
3110
3110
  "arguments": [
3111
3111
  {
3112
- "id": 40509,
3112
+ "id": 40573,
3113
3113
  "name": "returnData",
3114
3114
  "nodeType": "Identifier",
3115
3115
  "overloadedDeclarations": [],
3116
- "referencedDeclaration": 40426,
3116
+ "referencedDeclaration": 40490,
3117
3117
  "src": "3105:10:114",
3118
3118
  "typeDescriptions": {
3119
3119
  "typeIdentifier": "t_bytes_memory_ptr",
@@ -3128,18 +3128,18 @@
3128
3128
  "typeString": "bytes memory"
3129
3129
  }
3130
3130
  ],
3131
- "id": 40508,
3131
+ "id": 40572,
3132
3132
  "name": "revertWithBytes",
3133
3133
  "nodeType": "Identifier",
3134
3134
  "overloadedDeclarations": [],
3135
- "referencedDeclaration": 39785,
3135
+ "referencedDeclaration": 39849,
3136
3136
  "src": "3089:15:114",
3137
3137
  "typeDescriptions": {
3138
3138
  "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
3139
3139
  "typeString": "function (bytes memory) pure"
3140
3140
  }
3141
3141
  },
3142
- "id": 40510,
3142
+ "id": 40574,
3143
3143
  "isConstant": false,
3144
3144
  "isLValue": false,
3145
3145
  "isPure": false,
@@ -3155,14 +3155,14 @@
3155
3155
  "typeString": "tuple()"
3156
3156
  }
3157
3157
  },
3158
- "id": 40511,
3158
+ "id": 40575,
3159
3159
  "nodeType": "ExpressionStatement",
3160
3160
  "src": "3089:27:114"
3161
3161
  }
3162
3162
  },
3163
3163
  {
3164
3164
  "expression": {
3165
- "id": 40533,
3165
+ "id": 40597,
3166
3166
  "isConstant": false,
3167
3167
  "isLValue": false,
3168
3168
  "isPure": false,
@@ -3170,11 +3170,11 @@
3170
3170
  "leftHandSide": {
3171
3171
  "components": [
3172
3172
  {
3173
- "id": 40513,
3173
+ "id": 40577,
3174
3174
  "name": "success",
3175
3175
  "nodeType": "Identifier",
3176
3176
  "overloadedDeclarations": [],
3177
- "referencedDeclaration": 40423,
3177
+ "referencedDeclaration": 40487,
3178
3178
  "src": "3171:7:114",
3179
3179
  "typeDescriptions": {
3180
3180
  "typeIdentifier": "t_bool",
@@ -3182,11 +3182,11 @@
3182
3182
  }
3183
3183
  },
3184
3184
  {
3185
- "id": 40514,
3185
+ "id": 40578,
3186
3186
  "name": "returnData",
3187
3187
  "nodeType": "Identifier",
3188
3188
  "overloadedDeclarations": [],
3189
- "referencedDeclaration": 40426,
3189
+ "referencedDeclaration": 40490,
3190
3190
  "src": "3180:10:114",
3191
3191
  "typeDescriptions": {
3192
3192
  "typeIdentifier": "t_bytes_memory_ptr",
@@ -3194,7 +3194,7 @@
3194
3194
  }
3195
3195
  }
3196
3196
  ],
3197
- "id": 40515,
3197
+ "id": 40579,
3198
3198
  "isConstant": false,
3199
3199
  "isInlineArray": false,
3200
3200
  "isLValue": true,
@@ -3215,18 +3215,18 @@
3215
3215
  "arguments": [
3216
3216
  {
3217
3217
  "expression": {
3218
- "id": 40523,
3218
+ "id": 40587,
3219
3219
  "name": "world",
3220
3220
  "nodeType": "Identifier",
3221
3221
  "overloadedDeclarations": [],
3222
- "referencedDeclaration": 40416,
3222
+ "referencedDeclaration": 40480,
3223
3223
  "src": "3246:5:114",
3224
3224
  "typeDescriptions": {
3225
- "typeIdentifier": "t_contract$_IBaseWorld_$39711",
3225
+ "typeIdentifier": "t_contract$_IBaseWorld_$39775",
3226
3226
  "typeString": "contract IBaseWorld"
3227
3227
  }
3228
3228
  },
3229
- "id": 40524,
3229
+ "id": 40588,
3230
3230
  "isConstant": false,
3231
3231
  "isLValue": false,
3232
3232
  "isPure": false,
@@ -3234,38 +3234,38 @@
3234
3234
  "memberLocation": "3252:11:114",
3235
3235
  "memberName": "grantAccess",
3236
3236
  "nodeType": "MemberAccess",
3237
- "referencedDeclaration": 61634,
3237
+ "referencedDeclaration": 61698,
3238
3238
  "src": "3246:17:114",
3239
3239
  "typeDescriptions": {
3240
- "typeIdentifier": "t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$26573_$_t_address_$returns$__$",
3240
+ "typeIdentifier": "t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$26605_$_t_address_$returns$__$",
3241
3241
  "typeString": "function (ResourceId,address) external"
3242
3242
  }
3243
3243
  },
3244
3244
  {
3245
3245
  "components": [
3246
3246
  {
3247
- "id": 40525,
3247
+ "id": 40589,
3248
3248
  "name": "KeysInTableTableId",
3249
3249
  "nodeType": "Identifier",
3250
3250
  "overloadedDeclarations": [],
3251
- "referencedDeclaration": 41697,
3251
+ "referencedDeclaration": 41761,
3252
3252
  "src": "3266:18:114",
3253
3253
  "typeDescriptions": {
3254
- "typeIdentifier": "t_userDefinedValueType$_ResourceId_$26573",
3254
+ "typeIdentifier": "t_userDefinedValueType$_ResourceId_$26605",
3255
3255
  "typeString": "ResourceId"
3256
3256
  }
3257
3257
  },
3258
3258
  {
3259
3259
  "arguments": [
3260
3260
  {
3261
- "id": 40528,
3261
+ "id": 40592,
3262
3262
  "name": "hook",
3263
3263
  "nodeType": "Identifier",
3264
3264
  "overloadedDeclarations": [],
3265
- "referencedDeclaration": 40383,
3265
+ "referencedDeclaration": 40447,
3266
3266
  "src": "3294:4:114",
3267
3267
  "typeDescriptions": {
3268
- "typeIdentifier": "t_contract$_KeysInTableHook_$40343",
3268
+ "typeIdentifier": "t_contract$_KeysInTableHook_$40407",
3269
3269
  "typeString": "contract KeysInTableHook"
3270
3270
  }
3271
3271
  }
@@ -3273,11 +3273,11 @@
3273
3273
  "expression": {
3274
3274
  "argumentTypes": [
3275
3275
  {
3276
- "typeIdentifier": "t_contract$_KeysInTableHook_$40343",
3276
+ "typeIdentifier": "t_contract$_KeysInTableHook_$40407",
3277
3277
  "typeString": "contract KeysInTableHook"
3278
3278
  }
3279
3279
  ],
3280
- "id": 40527,
3280
+ "id": 40591,
3281
3281
  "isConstant": false,
3282
3282
  "isLValue": false,
3283
3283
  "isPure": true,
@@ -3289,14 +3289,14 @@
3289
3289
  "typeString": "type(address)"
3290
3290
  },
3291
3291
  "typeName": {
3292
- "id": 40526,
3292
+ "id": 40590,
3293
3293
  "name": "address",
3294
3294
  "nodeType": "ElementaryTypeName",
3295
3295
  "src": "3286:7:114",
3296
3296
  "typeDescriptions": {}
3297
3297
  }
3298
3298
  },
3299
- "id": 40529,
3299
+ "id": 40593,
3300
3300
  "isConstant": false,
3301
3301
  "isLValue": false,
3302
3302
  "isPure": false,
@@ -3313,7 +3313,7 @@
3313
3313
  }
3314
3314
  }
3315
3315
  ],
3316
- "id": 40530,
3316
+ "id": 40594,
3317
3317
  "isConstant": false,
3318
3318
  "isInlineArray": false,
3319
3319
  "isLValue": false,
@@ -3322,7 +3322,7 @@
3322
3322
  "nodeType": "TupleExpression",
3323
3323
  "src": "3265:35:114",
3324
3324
  "typeDescriptions": {
3325
- "typeIdentifier": "t_tuple$_t_userDefinedValueType$_ResourceId_$26573_$_t_address_$",
3325
+ "typeIdentifier": "t_tuple$_t_userDefinedValueType$_ResourceId_$26605_$_t_address_$",
3326
3326
  "typeString": "tuple(ResourceId,address)"
3327
3327
  }
3328
3328
  }
@@ -3330,16 +3330,16 @@
3330
3330
  "expression": {
3331
3331
  "argumentTypes": [
3332
3332
  {
3333
- "typeIdentifier": "t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$26573_$_t_address_$returns$__$",
3333
+ "typeIdentifier": "t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$26605_$_t_address_$returns$__$",
3334
3334
  "typeString": "function (ResourceId,address) external"
3335
3335
  },
3336
3336
  {
3337
- "typeIdentifier": "t_tuple$_t_userDefinedValueType$_ResourceId_$26573_$_t_address_$",
3337
+ "typeIdentifier": "t_tuple$_t_userDefinedValueType$_ResourceId_$26605_$_t_address_$",
3338
3338
  "typeString": "tuple(ResourceId,address)"
3339
3339
  }
3340
3340
  ],
3341
3341
  "expression": {
3342
- "id": 40521,
3342
+ "id": 40585,
3343
3343
  "name": "abi",
3344
3344
  "nodeType": "Identifier",
3345
3345
  "overloadedDeclarations": [],
@@ -3350,7 +3350,7 @@
3350
3350
  "typeString": "abi"
3351
3351
  }
3352
3352
  },
3353
- "id": 40522,
3353
+ "id": 40586,
3354
3354
  "isConstant": false,
3355
3355
  "isLValue": false,
3356
3356
  "isPure": true,
@@ -3364,7 +3364,7 @@
3364
3364
  "typeString": "function () pure returns (bytes memory)"
3365
3365
  }
3366
3366
  },
3367
- "id": 40531,
3367
+ "id": 40595,
3368
3368
  "isConstant": false,
3369
3369
  "isLValue": false,
3370
3370
  "isPure": false,
@@ -3391,14 +3391,14 @@
3391
3391
  "expression": {
3392
3392
  "arguments": [
3393
3393
  {
3394
- "id": 40518,
3394
+ "id": 40582,
3395
3395
  "name": "world",
3396
3396
  "nodeType": "Identifier",
3397
3397
  "overloadedDeclarations": [],
3398
- "referencedDeclaration": 40416,
3398
+ "referencedDeclaration": 40480,
3399
3399
  "src": "3202:5:114",
3400
3400
  "typeDescriptions": {
3401
- "typeIdentifier": "t_contract$_IBaseWorld_$39711",
3401
+ "typeIdentifier": "t_contract$_IBaseWorld_$39775",
3402
3402
  "typeString": "contract IBaseWorld"
3403
3403
  }
3404
3404
  }
@@ -3406,11 +3406,11 @@
3406
3406
  "expression": {
3407
3407
  "argumentTypes": [
3408
3408
  {
3409
- "typeIdentifier": "t_contract$_IBaseWorld_$39711",
3409
+ "typeIdentifier": "t_contract$_IBaseWorld_$39775",
3410
3410
  "typeString": "contract IBaseWorld"
3411
3411
  }
3412
3412
  ],
3413
- "id": 40517,
3413
+ "id": 40581,
3414
3414
  "isConstant": false,
3415
3415
  "isLValue": false,
3416
3416
  "isPure": true,
@@ -3422,14 +3422,14 @@
3422
3422
  "typeString": "type(address)"
3423
3423
  },
3424
3424
  "typeName": {
3425
- "id": 40516,
3425
+ "id": 40580,
3426
3426
  "name": "address",
3427
3427
  "nodeType": "ElementaryTypeName",
3428
3428
  "src": "3194:7:114",
3429
3429
  "typeDescriptions": {}
3430
3430
  }
3431
3431
  },
3432
- "id": 40519,
3432
+ "id": 40583,
3433
3433
  "isConstant": false,
3434
3434
  "isLValue": false,
3435
3435
  "isPure": false,
@@ -3445,7 +3445,7 @@
3445
3445
  "typeString": "address"
3446
3446
  }
3447
3447
  },
3448
- "id": 40520,
3448
+ "id": 40584,
3449
3449
  "isConstant": false,
3450
3450
  "isLValue": false,
3451
3451
  "isPure": false,
@@ -3459,7 +3459,7 @@
3459
3459
  "typeString": "function (bytes memory) returns (bool,bytes memory)"
3460
3460
  }
3461
3461
  },
3462
- "id": 40532,
3462
+ "id": 40596,
3463
3463
  "isConstant": false,
3464
3464
  "isLValue": false,
3465
3465
  "isPure": false,
@@ -3481,13 +3481,13 @@
3481
3481
  "typeString": "tuple()"
3482
3482
  }
3483
3483
  },
3484
- "id": 40534,
3484
+ "id": 40598,
3485
3485
  "nodeType": "ExpressionStatement",
3486
3486
  "src": "3170:139:114"
3487
3487
  },
3488
3488
  {
3489
3489
  "condition": {
3490
- "id": 40536,
3490
+ "id": 40600,
3491
3491
  "isConstant": false,
3492
3492
  "isLValue": false,
3493
3493
  "isPure": false,
@@ -3497,11 +3497,11 @@
3497
3497
  "prefix": true,
3498
3498
  "src": "3321:8:114",
3499
3499
  "subExpression": {
3500
- "id": 40535,
3500
+ "id": 40599,
3501
3501
  "name": "success",
3502
3502
  "nodeType": "Identifier",
3503
3503
  "overloadedDeclarations": [],
3504
- "referencedDeclaration": 40423,
3504
+ "referencedDeclaration": 40487,
3505
3505
  "src": "3322:7:114",
3506
3506
  "typeDescriptions": {
3507
3507
  "typeIdentifier": "t_bool",
@@ -3513,18 +3513,18 @@
3513
3513
  "typeString": "bool"
3514
3514
  }
3515
3515
  },
3516
- "id": 40541,
3516
+ "id": 40605,
3517
3517
  "nodeType": "IfStatement",
3518
3518
  "src": "3317:41:114",
3519
3519
  "trueBody": {
3520
3520
  "expression": {
3521
3521
  "arguments": [
3522
3522
  {
3523
- "id": 40538,
3523
+ "id": 40602,
3524
3524
  "name": "returnData",
3525
3525
  "nodeType": "Identifier",
3526
3526
  "overloadedDeclarations": [],
3527
- "referencedDeclaration": 40426,
3527
+ "referencedDeclaration": 40490,
3528
3528
  "src": "3347:10:114",
3529
3529
  "typeDescriptions": {
3530
3530
  "typeIdentifier": "t_bytes_memory_ptr",
@@ -3539,18 +3539,18 @@
3539
3539
  "typeString": "bytes memory"
3540
3540
  }
3541
3541
  ],
3542
- "id": 40537,
3542
+ "id": 40601,
3543
3543
  "name": "revertWithBytes",
3544
3544
  "nodeType": "Identifier",
3545
3545
  "overloadedDeclarations": [],
3546
- "referencedDeclaration": 39785,
3546
+ "referencedDeclaration": 39849,
3547
3547
  "src": "3331:15:114",
3548
3548
  "typeDescriptions": {
3549
3549
  "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
3550
3550
  "typeString": "function (bytes memory) pure"
3551
3551
  }
3552
3552
  },
3553
- "id": 40539,
3553
+ "id": 40603,
3554
3554
  "isConstant": false,
3555
3555
  "isLValue": false,
3556
3556
  "isPure": false,
@@ -3566,14 +3566,14 @@
3566
3566
  "typeString": "tuple()"
3567
3567
  }
3568
3568
  },
3569
- "id": 40540,
3569
+ "id": 40604,
3570
3570
  "nodeType": "ExpressionStatement",
3571
3571
  "src": "3331:27:114"
3572
3572
  }
3573
3573
  },
3574
3574
  {
3575
3575
  "expression": {
3576
- "id": 40562,
3576
+ "id": 40626,
3577
3577
  "isConstant": false,
3578
3578
  "isLValue": false,
3579
3579
  "isPure": false,
@@ -3581,11 +3581,11 @@
3581
3581
  "leftHandSide": {
3582
3582
  "components": [
3583
3583
  {
3584
- "id": 40542,
3584
+ "id": 40606,
3585
3585
  "name": "success",
3586
3586
  "nodeType": "Identifier",
3587
3587
  "overloadedDeclarations": [],
3588
- "referencedDeclaration": 40423,
3588
+ "referencedDeclaration": 40487,
3589
3589
  "src": "3368:7:114",
3590
3590
  "typeDescriptions": {
3591
3591
  "typeIdentifier": "t_bool",
@@ -3593,11 +3593,11 @@
3593
3593
  }
3594
3594
  },
3595
3595
  {
3596
- "id": 40543,
3596
+ "id": 40607,
3597
3597
  "name": "returnData",
3598
3598
  "nodeType": "Identifier",
3599
3599
  "overloadedDeclarations": [],
3600
- "referencedDeclaration": 40426,
3600
+ "referencedDeclaration": 40490,
3601
3601
  "src": "3377:10:114",
3602
3602
  "typeDescriptions": {
3603
3603
  "typeIdentifier": "t_bytes_memory_ptr",
@@ -3605,7 +3605,7 @@
3605
3605
  }
3606
3606
  }
3607
3607
  ],
3608
- "id": 40544,
3608
+ "id": 40608,
3609
3609
  "isConstant": false,
3610
3610
  "isInlineArray": false,
3611
3611
  "isLValue": true,
@@ -3626,18 +3626,18 @@
3626
3626
  "arguments": [
3627
3627
  {
3628
3628
  "expression": {
3629
- "id": 40552,
3629
+ "id": 40616,
3630
3630
  "name": "world",
3631
3631
  "nodeType": "Identifier",
3632
3632
  "overloadedDeclarations": [],
3633
- "referencedDeclaration": 40416,
3633
+ "referencedDeclaration": 40480,
3634
3634
  "src": "3443:5:114",
3635
3635
  "typeDescriptions": {
3636
- "typeIdentifier": "t_contract$_IBaseWorld_$39711",
3636
+ "typeIdentifier": "t_contract$_IBaseWorld_$39775",
3637
3637
  "typeString": "contract IBaseWorld"
3638
3638
  }
3639
3639
  },
3640
- "id": 40553,
3640
+ "id": 40617,
3641
3641
  "isConstant": false,
3642
3642
  "isLValue": false,
3643
3643
  "isPure": false,
@@ -3645,38 +3645,38 @@
3645
3645
  "memberLocation": "3449:11:114",
3646
3646
  "memberName": "grantAccess",
3647
3647
  "nodeType": "MemberAccess",
3648
- "referencedDeclaration": 61634,
3648
+ "referencedDeclaration": 61698,
3649
3649
  "src": "3443:17:114",
3650
3650
  "typeDescriptions": {
3651
- "typeIdentifier": "t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$26573_$_t_address_$returns$__$",
3651
+ "typeIdentifier": "t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$26605_$_t_address_$returns$__$",
3652
3652
  "typeString": "function (ResourceId,address) external"
3653
3653
  }
3654
3654
  },
3655
3655
  {
3656
3656
  "components": [
3657
3657
  {
3658
- "id": 40554,
3658
+ "id": 40618,
3659
3659
  "name": "UsedKeysIndexTableId",
3660
3660
  "nodeType": "Identifier",
3661
3661
  "overloadedDeclarations": [],
3662
- "referencedDeclaration": 48272,
3662
+ "referencedDeclaration": 48336,
3663
3663
  "src": "3463:20:114",
3664
3664
  "typeDescriptions": {
3665
- "typeIdentifier": "t_userDefinedValueType$_ResourceId_$26573",
3665
+ "typeIdentifier": "t_userDefinedValueType$_ResourceId_$26605",
3666
3666
  "typeString": "ResourceId"
3667
3667
  }
3668
3668
  },
3669
3669
  {
3670
3670
  "arguments": [
3671
3671
  {
3672
- "id": 40557,
3672
+ "id": 40621,
3673
3673
  "name": "hook",
3674
3674
  "nodeType": "Identifier",
3675
3675
  "overloadedDeclarations": [],
3676
- "referencedDeclaration": 40383,
3676
+ "referencedDeclaration": 40447,
3677
3677
  "src": "3493:4:114",
3678
3678
  "typeDescriptions": {
3679
- "typeIdentifier": "t_contract$_KeysInTableHook_$40343",
3679
+ "typeIdentifier": "t_contract$_KeysInTableHook_$40407",
3680
3680
  "typeString": "contract KeysInTableHook"
3681
3681
  }
3682
3682
  }
@@ -3684,11 +3684,11 @@
3684
3684
  "expression": {
3685
3685
  "argumentTypes": [
3686
3686
  {
3687
- "typeIdentifier": "t_contract$_KeysInTableHook_$40343",
3687
+ "typeIdentifier": "t_contract$_KeysInTableHook_$40407",
3688
3688
  "typeString": "contract KeysInTableHook"
3689
3689
  }
3690
3690
  ],
3691
- "id": 40556,
3691
+ "id": 40620,
3692
3692
  "isConstant": false,
3693
3693
  "isLValue": false,
3694
3694
  "isPure": true,
@@ -3700,14 +3700,14 @@
3700
3700
  "typeString": "type(address)"
3701
3701
  },
3702
3702
  "typeName": {
3703
- "id": 40555,
3703
+ "id": 40619,
3704
3704
  "name": "address",
3705
3705
  "nodeType": "ElementaryTypeName",
3706
3706
  "src": "3485:7:114",
3707
3707
  "typeDescriptions": {}
3708
3708
  }
3709
3709
  },
3710
- "id": 40558,
3710
+ "id": 40622,
3711
3711
  "isConstant": false,
3712
3712
  "isLValue": false,
3713
3713
  "isPure": false,
@@ -3724,7 +3724,7 @@
3724
3724
  }
3725
3725
  }
3726
3726
  ],
3727
- "id": 40559,
3727
+ "id": 40623,
3728
3728
  "isConstant": false,
3729
3729
  "isInlineArray": false,
3730
3730
  "isLValue": false,
@@ -3733,7 +3733,7 @@
3733
3733
  "nodeType": "TupleExpression",
3734
3734
  "src": "3462:37:114",
3735
3735
  "typeDescriptions": {
3736
- "typeIdentifier": "t_tuple$_t_userDefinedValueType$_ResourceId_$26573_$_t_address_$",
3736
+ "typeIdentifier": "t_tuple$_t_userDefinedValueType$_ResourceId_$26605_$_t_address_$",
3737
3737
  "typeString": "tuple(ResourceId,address)"
3738
3738
  }
3739
3739
  }
@@ -3741,16 +3741,16 @@
3741
3741
  "expression": {
3742
3742
  "argumentTypes": [
3743
3743
  {
3744
- "typeIdentifier": "t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$26573_$_t_address_$returns$__$",
3744
+ "typeIdentifier": "t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$26605_$_t_address_$returns$__$",
3745
3745
  "typeString": "function (ResourceId,address) external"
3746
3746
  },
3747
3747
  {
3748
- "typeIdentifier": "t_tuple$_t_userDefinedValueType$_ResourceId_$26573_$_t_address_$",
3748
+ "typeIdentifier": "t_tuple$_t_userDefinedValueType$_ResourceId_$26605_$_t_address_$",
3749
3749
  "typeString": "tuple(ResourceId,address)"
3750
3750
  }
3751
3751
  ],
3752
3752
  "expression": {
3753
- "id": 40550,
3753
+ "id": 40614,
3754
3754
  "name": "abi",
3755
3755
  "nodeType": "Identifier",
3756
3756
  "overloadedDeclarations": [],
@@ -3761,7 +3761,7 @@
3761
3761
  "typeString": "abi"
3762
3762
  }
3763
3763
  },
3764
- "id": 40551,
3764
+ "id": 40615,
3765
3765
  "isConstant": false,
3766
3766
  "isLValue": false,
3767
3767
  "isPure": true,
@@ -3775,7 +3775,7 @@
3775
3775
  "typeString": "function () pure returns (bytes memory)"
3776
3776
  }
3777
3777
  },
3778
- "id": 40560,
3778
+ "id": 40624,
3779
3779
  "isConstant": false,
3780
3780
  "isLValue": false,
3781
3781
  "isPure": false,
@@ -3802,14 +3802,14 @@
3802
3802
  "expression": {
3803
3803
  "arguments": [
3804
3804
  {
3805
- "id": 40547,
3805
+ "id": 40611,
3806
3806
  "name": "world",
3807
3807
  "nodeType": "Identifier",
3808
3808
  "overloadedDeclarations": [],
3809
- "referencedDeclaration": 40416,
3809
+ "referencedDeclaration": 40480,
3810
3810
  "src": "3399:5:114",
3811
3811
  "typeDescriptions": {
3812
- "typeIdentifier": "t_contract$_IBaseWorld_$39711",
3812
+ "typeIdentifier": "t_contract$_IBaseWorld_$39775",
3813
3813
  "typeString": "contract IBaseWorld"
3814
3814
  }
3815
3815
  }
@@ -3817,11 +3817,11 @@
3817
3817
  "expression": {
3818
3818
  "argumentTypes": [
3819
3819
  {
3820
- "typeIdentifier": "t_contract$_IBaseWorld_$39711",
3820
+ "typeIdentifier": "t_contract$_IBaseWorld_$39775",
3821
3821
  "typeString": "contract IBaseWorld"
3822
3822
  }
3823
3823
  ],
3824
- "id": 40546,
3824
+ "id": 40610,
3825
3825
  "isConstant": false,
3826
3826
  "isLValue": false,
3827
3827
  "isPure": true,
@@ -3833,14 +3833,14 @@
3833
3833
  "typeString": "type(address)"
3834
3834
  },
3835
3835
  "typeName": {
3836
- "id": 40545,
3836
+ "id": 40609,
3837
3837
  "name": "address",
3838
3838
  "nodeType": "ElementaryTypeName",
3839
3839
  "src": "3391:7:114",
3840
3840
  "typeDescriptions": {}
3841
3841
  }
3842
3842
  },
3843
- "id": 40548,
3843
+ "id": 40612,
3844
3844
  "isConstant": false,
3845
3845
  "isLValue": false,
3846
3846
  "isPure": false,
@@ -3856,7 +3856,7 @@
3856
3856
  "typeString": "address"
3857
3857
  }
3858
3858
  },
3859
- "id": 40549,
3859
+ "id": 40613,
3860
3860
  "isConstant": false,
3861
3861
  "isLValue": false,
3862
3862
  "isPure": false,
@@ -3870,7 +3870,7 @@
3870
3870
  "typeString": "function (bytes memory) returns (bool,bytes memory)"
3871
3871
  }
3872
3872
  },
3873
- "id": 40561,
3873
+ "id": 40625,
3874
3874
  "isConstant": false,
3875
3875
  "isLValue": false,
3876
3876
  "isPure": false,
@@ -3892,13 +3892,13 @@
3892
3892
  "typeString": "tuple()"
3893
3893
  }
3894
3894
  },
3895
- "id": 40563,
3895
+ "id": 40627,
3896
3896
  "nodeType": "ExpressionStatement",
3897
3897
  "src": "3367:141:114"
3898
3898
  },
3899
3899
  {
3900
3900
  "condition": {
3901
- "id": 40565,
3901
+ "id": 40629,
3902
3902
  "isConstant": false,
3903
3903
  "isLValue": false,
3904
3904
  "isPure": false,
@@ -3908,11 +3908,11 @@
3908
3908
  "prefix": true,
3909
3909
  "src": "3520:8:114",
3910
3910
  "subExpression": {
3911
- "id": 40564,
3911
+ "id": 40628,
3912
3912
  "name": "success",
3913
3913
  "nodeType": "Identifier",
3914
3914
  "overloadedDeclarations": [],
3915
- "referencedDeclaration": 40423,
3915
+ "referencedDeclaration": 40487,
3916
3916
  "src": "3521:7:114",
3917
3917
  "typeDescriptions": {
3918
3918
  "typeIdentifier": "t_bool",
@@ -3924,18 +3924,18 @@
3924
3924
  "typeString": "bool"
3925
3925
  }
3926
3926
  },
3927
- "id": 40570,
3927
+ "id": 40634,
3928
3928
  "nodeType": "IfStatement",
3929
3929
  "src": "3516:41:114",
3930
3930
  "trueBody": {
3931
3931
  "expression": {
3932
3932
  "arguments": [
3933
3933
  {
3934
- "id": 40567,
3934
+ "id": 40631,
3935
3935
  "name": "returnData",
3936
3936
  "nodeType": "Identifier",
3937
3937
  "overloadedDeclarations": [],
3938
- "referencedDeclaration": 40426,
3938
+ "referencedDeclaration": 40490,
3939
3939
  "src": "3546:10:114",
3940
3940
  "typeDescriptions": {
3941
3941
  "typeIdentifier": "t_bytes_memory_ptr",
@@ -3950,18 +3950,18 @@
3950
3950
  "typeString": "bytes memory"
3951
3951
  }
3952
3952
  ],
3953
- "id": 40566,
3953
+ "id": 40630,
3954
3954
  "name": "revertWithBytes",
3955
3955
  "nodeType": "Identifier",
3956
3956
  "overloadedDeclarations": [],
3957
- "referencedDeclaration": 39785,
3957
+ "referencedDeclaration": 39849,
3958
3958
  "src": "3530:15:114",
3959
3959
  "typeDescriptions": {
3960
3960
  "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
3961
3961
  "typeString": "function (bytes memory) pure"
3962
3962
  }
3963
3963
  },
3964
- "id": 40568,
3964
+ "id": 40632,
3965
3965
  "isConstant": false,
3966
3966
  "isLValue": false,
3967
3967
  "isPure": false,
@@ -3977,7 +3977,7 @@
3977
3977
  "typeString": "tuple()"
3978
3978
  }
3979
3979
  },
3980
- "id": 40569,
3980
+ "id": 40633,
3981
3981
  "nodeType": "ExpressionStatement",
3982
3982
  "src": "3530:27:114"
3983
3983
  }
@@ -3987,7 +3987,7 @@
3987
3987
  },
3988
3988
  {
3989
3989
  "expression": {
3990
- "id": 40597,
3990
+ "id": 40661,
3991
3991
  "isConstant": false,
3992
3992
  "isLValue": false,
3993
3993
  "isPure": false,
@@ -3995,11 +3995,11 @@
3995
3995
  "leftHandSide": {
3996
3996
  "components": [
3997
3997
  {
3998
- "id": 40573,
3998
+ "id": 40637,
3999
3999
  "name": "success",
4000
4000
  "nodeType": "Identifier",
4001
4001
  "overloadedDeclarations": [],
4002
- "referencedDeclaration": 40423,
4002
+ "referencedDeclaration": 40487,
4003
4003
  "src": "3649:7:114",
4004
4004
  "typeDescriptions": {
4005
4005
  "typeIdentifier": "t_bool",
@@ -4007,11 +4007,11 @@
4007
4007
  }
4008
4008
  },
4009
4009
  {
4010
- "id": 40574,
4010
+ "id": 40638,
4011
4011
  "name": "returnData",
4012
4012
  "nodeType": "Identifier",
4013
4013
  "overloadedDeclarations": [],
4014
- "referencedDeclaration": 40426,
4014
+ "referencedDeclaration": 40490,
4015
4015
  "src": "3658:10:114",
4016
4016
  "typeDescriptions": {
4017
4017
  "typeIdentifier": "t_bytes_memory_ptr",
@@ -4019,7 +4019,7 @@
4019
4019
  }
4020
4020
  }
4021
4021
  ],
4022
- "id": 40575,
4022
+ "id": 40639,
4023
4023
  "isConstant": false,
4024
4024
  "isInlineArray": false,
4025
4025
  "isLValue": true,
@@ -4040,18 +4040,18 @@
4040
4040
  "arguments": [
4041
4041
  {
4042
4042
  "expression": {
4043
- "id": 40583,
4043
+ "id": 40647,
4044
4044
  "name": "world",
4045
4045
  "nodeType": "Identifier",
4046
4046
  "overloadedDeclarations": [],
4047
- "referencedDeclaration": 40416,
4047
+ "referencedDeclaration": 40480,
4048
4048
  "src": "3731:5:114",
4049
4049
  "typeDescriptions": {
4050
- "typeIdentifier": "t_contract$_IBaseWorld_$39711",
4050
+ "typeIdentifier": "t_contract$_IBaseWorld_$39775",
4051
4051
  "typeString": "contract IBaseWorld"
4052
4052
  }
4053
4053
  },
4054
- "id": 40584,
4054
+ "id": 40648,
4055
4055
  "isConstant": false,
4056
4056
  "isLValue": false,
4057
4057
  "isPure": false,
@@ -4059,36 +4059,36 @@
4059
4059
  "memberLocation": "3737:17:114",
4060
4060
  "memberName": "registerStoreHook",
4061
4061
  "nodeType": "MemberAccess",
4062
- "referencedDeclaration": 58141,
4062
+ "referencedDeclaration": 58205,
4063
4063
  "src": "3731:23:114",
4064
4064
  "typeDescriptions": {
4065
- "typeIdentifier": "t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$26573_$_t_contract$_IStoreHook_$60921_$_t_uint8_$returns$__$",
4065
+ "typeIdentifier": "t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$26605_$_t_contract$_IStoreHook_$60985_$_t_uint8_$returns$__$",
4066
4066
  "typeString": "function (ResourceId,contract IStoreHook,uint8) external"
4067
4067
  }
4068
4068
  },
4069
4069
  {
4070
4070
  "components": [
4071
4071
  {
4072
- "id": 40585,
4072
+ "id": 40649,
4073
4073
  "name": "sourceTableId",
4074
4074
  "nodeType": "Identifier",
4075
4075
  "overloadedDeclarations": [],
4076
- "referencedDeclaration": 40402,
4076
+ "referencedDeclaration": 40466,
4077
4077
  "src": "3776:13:114",
4078
4078
  "typeDescriptions": {
4079
- "typeIdentifier": "t_userDefinedValueType$_ResourceId_$26573",
4079
+ "typeIdentifier": "t_userDefinedValueType$_ResourceId_$26605",
4080
4080
  "typeString": "ResourceId"
4081
4081
  }
4082
4082
  },
4083
4083
  {
4084
- "id": 40586,
4084
+ "id": 40650,
4085
4085
  "name": "hook",
4086
4086
  "nodeType": "Identifier",
4087
4087
  "overloadedDeclarations": [],
4088
- "referencedDeclaration": 40383,
4088
+ "referencedDeclaration": 40447,
4089
4089
  "src": "3801:4:114",
4090
4090
  "typeDescriptions": {
4091
- "typeIdentifier": "t_contract$_KeysInTableHook_$40343",
4091
+ "typeIdentifier": "t_contract$_KeysInTableHook_$40407",
4092
4092
  "typeString": "contract KeysInTableHook"
4093
4093
  }
4094
4094
  },
@@ -4097,7 +4097,7 @@
4097
4097
  "typeIdentifier": "t_uint8",
4098
4098
  "typeString": "uint8"
4099
4099
  },
4100
- "id": 40593,
4100
+ "id": 40657,
4101
4101
  "isConstant": false,
4102
4102
  "isLValue": false,
4103
4103
  "isPure": true,
@@ -4107,7 +4107,7 @@
4107
4107
  "typeIdentifier": "t_uint8",
4108
4108
  "typeString": "uint8"
4109
4109
  },
4110
- "id": 40591,
4110
+ "id": 40655,
4111
4111
  "isConstant": false,
4112
4112
  "isLValue": false,
4113
4113
  "isPure": true,
@@ -4117,17 +4117,17 @@
4117
4117
  "typeIdentifier": "t_uint8",
4118
4118
  "typeString": "uint8"
4119
4119
  },
4120
- "id": 40589,
4120
+ "id": 40653,
4121
4121
  "isConstant": false,
4122
4122
  "isLValue": false,
4123
4123
  "isPure": true,
4124
4124
  "lValueRequested": false,
4125
4125
  "leftExpression": {
4126
- "id": 40587,
4126
+ "id": 40651,
4127
4127
  "name": "BEFORE_SET_RECORD",
4128
4128
  "nodeType": "Identifier",
4129
4129
  "overloadedDeclarations": [],
4130
- "referencedDeclaration": 36550,
4130
+ "referencedDeclaration": 36580,
4131
4131
  "src": "3817:17:114",
4132
4132
  "typeDescriptions": {
4133
4133
  "typeIdentifier": "t_uint8",
@@ -4137,11 +4137,11 @@
4137
4137
  "nodeType": "BinaryOperation",
4138
4138
  "operator": "|",
4139
4139
  "rightExpression": {
4140
- "id": 40588,
4140
+ "id": 40652,
4141
4141
  "name": "AFTER_SPLICE_STATIC_DATA",
4142
4142
  "nodeType": "Identifier",
4143
4143
  "overloadedDeclarations": [],
4144
- "referencedDeclaration": 36568,
4144
+ "referencedDeclaration": 36598,
4145
4145
  "src": "3837:24:114",
4146
4146
  "typeDescriptions": {
4147
4147
  "typeIdentifier": "t_uint8",
@@ -4157,11 +4157,11 @@
4157
4157
  "nodeType": "BinaryOperation",
4158
4158
  "operator": "|",
4159
4159
  "rightExpression": {
4160
- "id": 40590,
4160
+ "id": 40654,
4161
4161
  "name": "AFTER_SPLICE_DYNAMIC_DATA",
4162
4162
  "nodeType": "Identifier",
4163
4163
  "overloadedDeclarations": [],
4164
- "referencedDeclaration": 36580,
4164
+ "referencedDeclaration": 36610,
4165
4165
  "src": "3864:25:114",
4166
4166
  "typeDescriptions": {
4167
4167
  "typeIdentifier": "t_uint8",
@@ -4177,11 +4177,11 @@
4177
4177
  "nodeType": "BinaryOperation",
4178
4178
  "operator": "|",
4179
4179
  "rightExpression": {
4180
- "id": 40592,
4180
+ "id": 40656,
4181
4181
  "name": "BEFORE_DELETE_RECORD",
4182
4182
  "nodeType": "Identifier",
4183
4183
  "overloadedDeclarations": [],
4184
- "referencedDeclaration": 36586,
4184
+ "referencedDeclaration": 36616,
4185
4185
  "src": "3892:20:114",
4186
4186
  "typeDescriptions": {
4187
4187
  "typeIdentifier": "t_uint8",
@@ -4195,7 +4195,7 @@
4195
4195
  }
4196
4196
  }
4197
4197
  ],
4198
- "id": 40594,
4198
+ "id": 40658,
4199
4199
  "isConstant": false,
4200
4200
  "isInlineArray": false,
4201
4201
  "isLValue": false,
@@ -4204,7 +4204,7 @@
4204
4204
  "nodeType": "TupleExpression",
4205
4205
  "src": "3764:158:114",
4206
4206
  "typeDescriptions": {
4207
- "typeIdentifier": "t_tuple$_t_userDefinedValueType$_ResourceId_$26573_$_t_contract$_KeysInTableHook_$40343_$_t_uint8_$",
4207
+ "typeIdentifier": "t_tuple$_t_userDefinedValueType$_ResourceId_$26605_$_t_contract$_KeysInTableHook_$40407_$_t_uint8_$",
4208
4208
  "typeString": "tuple(ResourceId,contract KeysInTableHook,uint8)"
4209
4209
  }
4210
4210
  }
@@ -4212,16 +4212,16 @@
4212
4212
  "expression": {
4213
4213
  "argumentTypes": [
4214
4214
  {
4215
- "typeIdentifier": "t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$26573_$_t_contract$_IStoreHook_$60921_$_t_uint8_$returns$__$",
4215
+ "typeIdentifier": "t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$26605_$_t_contract$_IStoreHook_$60985_$_t_uint8_$returns$__$",
4216
4216
  "typeString": "function (ResourceId,contract IStoreHook,uint8) external"
4217
4217
  },
4218
4218
  {
4219
- "typeIdentifier": "t_tuple$_t_userDefinedValueType$_ResourceId_$26573_$_t_contract$_KeysInTableHook_$40343_$_t_uint8_$",
4219
+ "typeIdentifier": "t_tuple$_t_userDefinedValueType$_ResourceId_$26605_$_t_contract$_KeysInTableHook_$40407_$_t_uint8_$",
4220
4220
  "typeString": "tuple(ResourceId,contract KeysInTableHook,uint8)"
4221
4221
  }
4222
4222
  ],
4223
4223
  "expression": {
4224
- "id": 40581,
4224
+ "id": 40645,
4225
4225
  "name": "abi",
4226
4226
  "nodeType": "Identifier",
4227
4227
  "overloadedDeclarations": [],
@@ -4232,7 +4232,7 @@
4232
4232
  "typeString": "abi"
4233
4233
  }
4234
4234
  },
4235
- "id": 40582,
4235
+ "id": 40646,
4236
4236
  "isConstant": false,
4237
4237
  "isLValue": false,
4238
4238
  "isPure": true,
@@ -4246,7 +4246,7 @@
4246
4246
  "typeString": "function () pure returns (bytes memory)"
4247
4247
  }
4248
4248
  },
4249
- "id": 40595,
4249
+ "id": 40659,
4250
4250
  "isConstant": false,
4251
4251
  "isLValue": false,
4252
4252
  "isPure": false,
@@ -4273,14 +4273,14 @@
4273
4273
  "expression": {
4274
4274
  "arguments": [
4275
4275
  {
4276
- "id": 40578,
4276
+ "id": 40642,
4277
4277
  "name": "world",
4278
4278
  "nodeType": "Identifier",
4279
4279
  "overloadedDeclarations": [],
4280
- "referencedDeclaration": 40416,
4280
+ "referencedDeclaration": 40480,
4281
4281
  "src": "3680:5:114",
4282
4282
  "typeDescriptions": {
4283
- "typeIdentifier": "t_contract$_IBaseWorld_$39711",
4283
+ "typeIdentifier": "t_contract$_IBaseWorld_$39775",
4284
4284
  "typeString": "contract IBaseWorld"
4285
4285
  }
4286
4286
  }
@@ -4288,11 +4288,11 @@
4288
4288
  "expression": {
4289
4289
  "argumentTypes": [
4290
4290
  {
4291
- "typeIdentifier": "t_contract$_IBaseWorld_$39711",
4291
+ "typeIdentifier": "t_contract$_IBaseWorld_$39775",
4292
4292
  "typeString": "contract IBaseWorld"
4293
4293
  }
4294
4294
  ],
4295
- "id": 40577,
4295
+ "id": 40641,
4296
4296
  "isConstant": false,
4297
4297
  "isLValue": false,
4298
4298
  "isPure": true,
@@ -4304,14 +4304,14 @@
4304
4304
  "typeString": "type(address)"
4305
4305
  },
4306
4306
  "typeName": {
4307
- "id": 40576,
4307
+ "id": 40640,
4308
4308
  "name": "address",
4309
4309
  "nodeType": "ElementaryTypeName",
4310
4310
  "src": "3672:7:114",
4311
4311
  "typeDescriptions": {}
4312
4312
  }
4313
4313
  },
4314
- "id": 40579,
4314
+ "id": 40643,
4315
4315
  "isConstant": false,
4316
4316
  "isLValue": false,
4317
4317
  "isPure": false,
@@ -4327,7 +4327,7 @@
4327
4327
  "typeString": "address"
4328
4328
  }
4329
4329
  },
4330
- "id": 40580,
4330
+ "id": 40644,
4331
4331
  "isConstant": false,
4332
4332
  "isLValue": false,
4333
4333
  "isPure": false,
@@ -4341,7 +4341,7 @@
4341
4341
  "typeString": "function (bytes memory) returns (bool,bytes memory)"
4342
4342
  }
4343
4343
  },
4344
- "id": 40596,
4344
+ "id": 40660,
4345
4345
  "isConstant": false,
4346
4346
  "isLValue": false,
4347
4347
  "isPure": false,
@@ -4363,14 +4363,14 @@
4363
4363
  "typeString": "tuple()"
4364
4364
  }
4365
4365
  },
4366
- "id": 40598,
4366
+ "id": 40662,
4367
4367
  "nodeType": "ExpressionStatement",
4368
4368
  "src": "3648:288:114"
4369
4369
  }
4370
4370
  ]
4371
4371
  },
4372
4372
  "baseFunctions": [
4373
- 61520
4373
+ 61584
4374
4374
  ],
4375
4375
  "functionSelector": "7c5b0335",
4376
4376
  "implemented": true,
@@ -4379,23 +4379,23 @@
4379
4379
  "name": "installRoot",
4380
4380
  "nameLocation": "1822:11:114",
4381
4381
  "overrides": {
4382
- "id": 40398,
4382
+ "id": 40462,
4383
4383
  "nodeType": "OverrideSpecifier",
4384
4384
  "overrides": [],
4385
4385
  "src": "1860:8:114"
4386
4386
  },
4387
4387
  "parameters": {
4388
- "id": 40397,
4388
+ "id": 40461,
4389
4389
  "nodeType": "ParameterList",
4390
4390
  "parameters": [
4391
4391
  {
4392
4392
  "constant": false,
4393
- "id": 40396,
4393
+ "id": 40460,
4394
4394
  "mutability": "mutable",
4395
4395
  "name": "args",
4396
4396
  "nameLocation": "1847:4:114",
4397
4397
  "nodeType": "VariableDeclaration",
4398
- "scope": 40600,
4398
+ "scope": 40664,
4399
4399
  "src": "1834:17:114",
4400
4400
  "stateVariable": false,
4401
4401
  "storageLocation": "memory",
@@ -4404,7 +4404,7 @@
4404
4404
  "typeString": "bytes"
4405
4405
  },
4406
4406
  "typeName": {
4407
- "id": 40395,
4407
+ "id": 40459,
4408
4408
  "name": "bytes",
4409
4409
  "nodeType": "ElementaryTypeName",
4410
4410
  "src": "1834:5:114",
@@ -4419,23 +4419,23 @@
4419
4419
  "src": "1833:19:114"
4420
4420
  },
4421
4421
  "returnParameters": {
4422
- "id": 40399,
4422
+ "id": 40463,
4423
4423
  "nodeType": "ParameterList",
4424
4424
  "parameters": [],
4425
4425
  "src": "1869:0:114"
4426
4426
  },
4427
- "scope": 40610,
4427
+ "scope": 40674,
4428
4428
  "stateMutability": "nonpayable",
4429
4429
  "virtual": false,
4430
4430
  "visibility": "public"
4431
4431
  },
4432
4432
  {
4433
- "id": 40609,
4433
+ "id": 40673,
4434
4434
  "nodeType": "FunctionDefinition",
4435
4435
  "src": "3945:96:114",
4436
4436
  "nodes": [],
4437
4437
  "body": {
4438
- "id": 40608,
4438
+ "id": 40672,
4439
4439
  "nodeType": "Block",
4440
4440
  "src": "3988:53:114",
4441
4441
  "nodes": [],
@@ -4445,18 +4445,18 @@
4445
4445
  "arguments": [],
4446
4446
  "expression": {
4447
4447
  "argumentTypes": [],
4448
- "id": 40605,
4448
+ "id": 40669,
4449
4449
  "name": "Module_NonRootInstallNotSupported",
4450
4450
  "nodeType": "Identifier",
4451
4451
  "overloadedDeclarations": [],
4452
- "referencedDeclaration": 61508,
4452
+ "referencedDeclaration": 61572,
4453
4453
  "src": "4001:33:114",
4454
4454
  "typeDescriptions": {
4455
4455
  "typeIdentifier": "t_function_error_pure$__$returns$__$",
4456
4456
  "typeString": "function () pure"
4457
4457
  }
4458
4458
  },
4459
- "id": 40606,
4459
+ "id": 40670,
4460
4460
  "isConstant": false,
4461
4461
  "isLValue": false,
4462
4462
  "isPure": false,
@@ -4472,14 +4472,14 @@
4472
4472
  "typeString": "tuple()"
4473
4473
  }
4474
4474
  },
4475
- "id": 40607,
4475
+ "id": 40671,
4476
4476
  "nodeType": "RevertStatement",
4477
4477
  "src": "3994:42:114"
4478
4478
  }
4479
4479
  ]
4480
4480
  },
4481
4481
  "baseFunctions": [
4482
- 61526
4482
+ 61590
4483
4483
  ],
4484
4484
  "functionSelector": "13861fb5",
4485
4485
  "implemented": true,
@@ -4488,17 +4488,17 @@
4488
4488
  "name": "install",
4489
4489
  "nameLocation": "3954:7:114",
4490
4490
  "parameters": {
4491
- "id": 40603,
4491
+ "id": 40667,
4492
4492
  "nodeType": "ParameterList",
4493
4493
  "parameters": [
4494
4494
  {
4495
4495
  "constant": false,
4496
- "id": 40602,
4496
+ "id": 40666,
4497
4497
  "mutability": "mutable",
4498
4498
  "name": "",
4499
4499
  "nameLocation": "-1:-1:-1",
4500
4500
  "nodeType": "VariableDeclaration",
4501
- "scope": 40609,
4501
+ "scope": 40673,
4502
4502
  "src": "3962:12:114",
4503
4503
  "stateVariable": false,
4504
4504
  "storageLocation": "memory",
@@ -4507,7 +4507,7 @@
4507
4507
  "typeString": "bytes"
4508
4508
  },
4509
4509
  "typeName": {
4510
- "id": 40601,
4510
+ "id": 40665,
4511
4511
  "name": "bytes",
4512
4512
  "nodeType": "ElementaryTypeName",
4513
4513
  "src": "3962:5:114",
@@ -4522,12 +4522,12 @@
4522
4522
  "src": "3961:14:114"
4523
4523
  },
4524
4524
  "returnParameters": {
4525
- "id": 40604,
4525
+ "id": 40668,
4526
4526
  "nodeType": "ParameterList",
4527
4527
  "parameters": [],
4528
4528
  "src": "3988:0:114"
4529
4529
  },
4530
- "scope": 40610,
4530
+ "scope": 40674,
4531
4531
  "stateMutability": "pure",
4532
4532
  "virtual": false,
4533
4533
  "visibility": "public"
@@ -4537,48 +4537,48 @@
4537
4537
  "baseContracts": [
4538
4538
  {
4539
4539
  "baseName": {
4540
- "id": 40371,
4540
+ "id": 40435,
4541
4541
  "name": "Module",
4542
4542
  "nameLocations": [
4543
4543
  "1449:6:114"
4544
4544
  ],
4545
4545
  "nodeType": "IdentifierPath",
4546
- "referencedDeclaration": 39153,
4546
+ "referencedDeclaration": 39183,
4547
4547
  "src": "1449:6:114"
4548
4548
  },
4549
- "id": 40372,
4549
+ "id": 40436,
4550
4550
  "nodeType": "InheritanceSpecifier",
4551
4551
  "src": "1449:6:114"
4552
4552
  }
4553
4553
  ],
4554
4554
  "canonicalName": "KeysInTableModule",
4555
4555
  "contractDependencies": [
4556
- 40343
4556
+ 40407
4557
4557
  ],
4558
4558
  "contractKind": "contract",
4559
4559
  "documentation": {
4560
- "id": 40370,
4560
+ "id": 40434,
4561
4561
  "nodeType": "StructuredDocumentation",
4562
4562
  "src": "835:583:114",
4563
4563
  "text": " This module deploys a hook that is called when a value is set in the `sourceTableId`\n provided in the install methods arguments. The hook keeps track of the keys that are in a given table.\n This mapping is stored in a global table that is registered when the module is first installed.\n Note: if a table with composite keys is used, only the first key is indexed\n Note: this module currently only supports `installRoot` (via `World.installRootModule`).\n TODO: add support for `install` (via `World.installModule`) by using `callFrom` with the `msgSender()`"
4564
4564
  },
4565
4565
  "fullyImplemented": true,
4566
4566
  "linearizedBaseContracts": [
4567
- 40610,
4568
- 39153,
4569
- 39237,
4570
- 61479,
4571
- 61527,
4572
- 61436
4567
+ 40674,
4568
+ 39183,
4569
+ 39261,
4570
+ 61543,
4571
+ 61591,
4572
+ 61500
4573
4573
  ],
4574
4574
  "name": "KeysInTableModule",
4575
4575
  "nameLocation": "1428:17:114",
4576
- "scope": 40611,
4576
+ "scope": 40675,
4577
4577
  "usedErrors": [
4578
- 26666,
4579
- 26669,
4580
- 61506,
4581
- 61508
4578
+ 26698,
4579
+ 26701,
4580
+ 61570,
4581
+ 61572
4582
4582
  ],
4583
4583
  "usedEvents": []
4584
4584
  }