@coti-io/coti-contracts 1.1.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/npm-publish.yml +18 -14
- package/README.md +3 -1
- package/contracts/disperse/coinByRatio/FixedRatioCoinDisperser.sol +452 -0
- package/contracts/disperse/coinByRatio/FixedRatioCoinDisperserLeftoverS1.sol +490 -0
- package/contracts/disperse/coinByRatio/FixedRatioCoinDisperserUnlimitedWindow.sol +432 -0
- package/contracts/disperse/disperseToken/MintDisperser.sol +120 -0
- package/contracts/disperse/disperseToken/TokenDisperser.sol +139 -0
- package/contracts/mocks/token/ERC20Mock.sol +19 -0
- package/contracts/mocks/token/PrivateERC20/EncryptedTokenReceiverMock.sol +18 -0
- package/contracts/mocks/token/PrivateERC20/PrivacyBridgeERC20Mock.sol +13 -0
- package/contracts/mocks/token/PrivateERC20/PrivateERC20AuditorSupplyMock.sol +44 -0
- package/contracts/mocks/token/PrivateERC20/PrivateERC20CappedMock.sol +23 -0
- package/contracts/mocks/token/PrivateERC20/PrivateERC20GtCallerMock.sol +29 -0
- package/contracts/mocks/token/PrivateERC20/PrivateERC20Mock.sol +9 -4
- package/contracts/mocks/token/PrivateERC20/PrivateERC20ReentrantReceiverMock.sol +39 -0
- package/contracts/mocks/token/PrivateERC20/PublicReentrantTokenReceiverMock.sol +29 -0
- package/contracts/mocks/token/PrivateERC20/PublicTokenReceiverBoolMock.sol +18 -0
- package/contracts/mocks/token/PrivateERC20/PublicTokenReceiverMock.sol +12 -0
- package/contracts/mocks/utils/mpc/Arithmetic128TestsContract.sol +123 -0
- package/contracts/mocks/utils/mpc/Arithmetic256TestsContract.sol +122 -0
- package/contracts/mocks/utils/mpc/Bitwise128TestsContract.sol +65 -0
- package/contracts/mocks/utils/mpc/Bitwise256TestsContract.sol +65 -0
- package/contracts/mocks/utils/mpc/CheckedArithmetic128WithOverflowBitTestsContract.sol +64 -0
- package/contracts/mocks/utils/mpc/CheckedArithmetic256WithOverflowBitTestsContract.sol +64 -0
- package/contracts/mocks/utils/mpc/Comparison128TestsContract.sol +98 -0
- package/contracts/mocks/utils/mpc/Comparison256TestsContract.sol +98 -0
- package/contracts/mocks/utils/mpc/MinMax128TestsContract.sol +44 -0
- package/contracts/mocks/utils/mpc/MinMax256TestsContract.sol +44 -0
- package/contracts/mocks/utils/mpc/MinimalImplementation.sol +55 -0
- package/contracts/mocks/utils/mpc/MinimalProxy.sol +27 -0
- package/contracts/mocks/utils/mpc/MpcOperations128TestContract.sol +267 -0
- package/contracts/mocks/utils/mpc/MpcOperationsTestContract.sol +334 -0
- package/contracts/mocks/utils/mpc/Mux128TestsContract.sol +24 -0
- package/contracts/mocks/utils/mpc/Mux256TestsContract.sol +24 -0
- package/contracts/mocks/utils/mpc/OnBoard128TestsContract.sol +93 -0
- package/contracts/mocks/utils/mpc/OnBoard256TestsContract.sol +116 -0
- package/contracts/mocks/utils/mpc/PrivacyImplementationV1.sol +157 -0
- package/contracts/mocks/utils/mpc/PrivacyImplementationV2.sol +133 -0
- package/contracts/mocks/utils/mpc/PrivacyProxy.sol +137 -0
- package/contracts/mocks/utils/mpc/Random128TestsContract.sol +32 -0
- package/contracts/mocks/utils/mpc/Random256TestsContract.sol +32 -0
- package/contracts/mocks/utils/mpc/Shift128TestsContract.sol +36 -0
- package/contracts/mocks/utils/mpc/Shift256TestsContract.sol +36 -0
- package/contracts/mocks/utils/mpc/Transfer128TestsContract.sol +29 -0
- package/contracts/mocks/utils/mpc/Transfer256TestsContract.sol +29 -0
- package/contracts/mocks/utils/mpc/TransferWithAllowance128TestsContract.sol +32 -0
- package/contracts/mocks/utils/mpc/TransferWithAllowance256TestsContract.sol +32 -0
- package/contracts/mocks/utils/mpc/ValidateCiphertext128TestsContract.sol +59 -0
- package/contracts/mocks/utils/mpc/ValidateCiphertext256TestsContract.sol +63 -0
- package/contracts/mocks/utils/mpc/ValidateCiphertextTestsContract.sol +99 -0
- package/contracts/mocks/wallet/PrivateERC20Wallet/PrivateERC20WalletMock.sol +7 -6
- package/contracts/node/CotiNodeRewards.sol +199 -0
- package/contracts/node/SoulboundNodeNFT.sol +519 -0
- package/contracts/privacyBridge/PrivacyBridge.sol +318 -0
- package/contracts/privacyBridge/PrivacyBridgeCotiNative.sol +268 -0
- package/contracts/privacyBridge/PrivacyBridgeERC20.sol +251 -0
- package/contracts/privacyBridge/PrivacyBridgeUSDCe.sol +16 -0
- package/contracts/privacyBridge/PrivacyBridgeUSDT.sol +17 -0
- package/contracts/privacyBridge/PrivacyBridgeWADA.sol +17 -0
- package/contracts/privacyBridge/PrivacyBridgeWBTC.sol +17 -0
- package/contracts/privacyBridge/PrivacyBridgeWETH.sol +17 -0
- package/contracts/privacyBridge/PrivacyBridgegCoti.sol +17 -0
- package/contracts/token/PrivateERC20/IPrivateERC20.sol +273 -40
- package/contracts/token/PrivateERC20/ITokenReceiver.sol +17 -0
- package/contracts/token/PrivateERC20/ITokenReceiverEncrypted.sol +20 -0
- package/contracts/token/PrivateERC20/PrivateERC20.sol +861 -152
- package/contracts/token/PrivateERC20/tokens/PrivateBridgedUSDC.sol +17 -0
- package/contracts/token/PrivateERC20/tokens/PrivateCOTI.sol +13 -0
- package/contracts/token/PrivateERC20/tokens/PrivateCOTITreasuryGovernanceToken.sol +17 -0
- package/contracts/token/PrivateERC20/tokens/PrivateTetherUSD.sol +17 -0
- package/contracts/token/PrivateERC20/tokens/PrivateWrappedADA.sol +17 -0
- package/contracts/token/PrivateERC20/tokens/PrivateWrappedBTC.sol +17 -0
- package/contracts/token/PrivateERC20/tokens/PrivateWrappedEther.sol +13 -0
- package/contracts/utils/mpc/MpcCore.sol +10780 -4962
- package/contracts/utils/mpc/MpcInterface.sol +7 -2
- package/hardhat/gasPriceBump.ts +60 -0
- package/hardhat.config.ts +60 -12
- package/package.json +21 -3
- package/scripts/deploySoulboundNodeNFT.ts +57 -0
- package/test/token/PrivateERC20/PrivacyBridge.fees.test.ts +327 -0
- package/test/token/PrivateERC20/PrivateERC20.test.ts +1109 -268
- package/test/utils/mpc/Bitwise128.test.ts +92 -0
- package/test/utils/mpc/Bitwise256.test.ts +101 -0
- package/test/utils/mpc/BuildInputText128.test.ts +398 -0
- package/test/utils/mpc/CheckedArithmetic128.test.ts +45 -0
- package/test/utils/mpc/CheckedArithmetic256.test.ts +45 -0
- package/test/utils/mpc/Comparison128.test.ts +48 -0
- package/test/utils/mpc/Comparison256.test.ts +48 -0
- package/test/utils/mpc/InvalidCiphertext.test.ts +179 -0
- package/test/utils/mpc/InvalidCiphertext128.test.ts +179 -0
- package/test/utils/mpc/InvalidCiphertext256.test.ts +201 -0
- package/test/utils/mpc/InvalidTransfer128.test.ts +166 -0
- package/test/utils/mpc/InvalidTransfer256.test.ts +158 -0
- package/test/utils/mpc/MinMax128.test.ts +44 -0
- package/test/utils/mpc/MinMax256.test.ts +44 -0
- package/test/utils/mpc/MinimalProxyDemo.test.ts +280 -0
- package/test/utils/mpc/MpcOperations.test.ts +589 -0
- package/test/utils/mpc/MpcOperations128.test.ts +632 -0
- package/test/utils/mpc/Mux128.test.ts +41 -0
- package/test/utils/mpc/Mux256.test.ts +41 -0
- package/test/utils/mpc/NegativeCases.test.ts +478 -0
- package/test/utils/mpc/NegativeCases128.test.ts +237 -0
- package/test/utils/mpc/NegativeCases256.test.ts +236 -0
- package/test/utils/mpc/OnBoard128.test.ts +90 -0
- package/test/utils/mpc/OnBoard256.test.ts +114 -0
- package/test/utils/mpc/Precompile128.test.ts +51 -0
- package/test/utils/mpc/Precompile256.test.ts +115 -0
- package/test/utils/mpc/ProxyValidation.test.ts +199 -0
- package/test/utils/mpc/Random128.test.ts +47 -0
- package/test/utils/mpc/Random256.test.ts +47 -0
- package/test/utils/mpc/Shift128.test.ts +41 -0
- package/test/utils/mpc/Shift256.test.ts +41 -0
- package/test/utils/mpc/Transfer128.test.ts +46 -0
- package/test/utils/mpc/Transfer256.test.ts +46 -0
- package/test/utils/mpc/TransferWithAllowance128.test.ts +48 -0
- package/test/utils/mpc/TransferWithAllowance256.test.ts +48 -0
- package/test/utils/mpc/UpgradeablePrivacyProxy.test.ts +307 -0
- package/test/utils/mpc/ValidateCiphertext.test.ts +221 -0
- package/test/utils/mpc/ValidateCiphertext256.test.ts +161 -0
- package/test/utils/mpc/ValidateCiphertext256Decryption.test.ts +383 -0
- package/test/utils/mpc/WalletEncryptionFailures.test.ts +494 -0
- package/test/utils/privateErc20Helpers.ts +97 -0
- package/typechain-types/@openzeppelin/contracts/access/Ownable.ts +153 -0
- package/typechain-types/@openzeppelin/contracts/access/index.ts +4 -0
- package/typechain-types/@openzeppelin/contracts/index.ts +2 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC20/IERC20.ts +262 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.ts +143 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/index.ts +4 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC20/index.ts +6 -0
- package/typechain-types/@openzeppelin/contracts/token/index.ts +2 -0
- package/typechain-types/contracts/disperse/coinByRatio/FixedRatioCoinDisperser.ts +679 -0
- package/typechain-types/contracts/disperse/coinByRatio/index.ts +4 -0
- package/typechain-types/contracts/disperse/disperseToken/MintDisperser.sol/IMintableERC20.ts +97 -0
- package/typechain-types/contracts/disperse/disperseToken/MintDisperser.sol/MintDisperser.ts +206 -0
- package/typechain-types/contracts/disperse/disperseToken/MintDisperser.sol/index.ts +5 -0
- package/typechain-types/contracts/disperse/disperseToken/TokenDisperser.ts +191 -0
- package/typechain-types/contracts/disperse/disperseToken/index.ts +6 -0
- package/typechain-types/contracts/disperse/index.ts +7 -0
- package/typechain-types/contracts/index.ts +2 -0
- package/typechain-types/contracts/mocks/token/PrivateERC20/PrivateERC20Mock.ts +77 -60
- package/typechain-types/contracts/mocks/utils/mpc/Arithmetic128TestsContract.ts +311 -0
- package/typechain-types/contracts/mocks/utils/mpc/Arithmetic256TestsContract.ts +311 -0
- package/typechain-types/contracts/mocks/utils/mpc/Bitwise128TestsContract.ts +179 -0
- package/typechain-types/contracts/mocks/utils/mpc/Bitwise256TestsContract.ts +179 -0
- package/typechain-types/contracts/mocks/utils/mpc/CheckedArithmetic128WithOverflowBitTestsContract.ts +206 -0
- package/typechain-types/contracts/mocks/utils/mpc/CheckedArithmetic256WithOverflowBitTestsContract.ts +206 -0
- package/typechain-types/contracts/mocks/utils/mpc/Comparison128TestsContract.ts +278 -0
- package/typechain-types/contracts/mocks/utils/mpc/Comparison256TestsContract.ts +278 -0
- package/typechain-types/contracts/mocks/utils/mpc/MinMax128TestsContract.ts +142 -0
- package/typechain-types/contracts/mocks/utils/mpc/MinMax256TestsContract.ts +142 -0
- package/typechain-types/contracts/mocks/utils/mpc/MinimalImplementation.ts +259 -0
- package/typechain-types/contracts/mocks/utils/mpc/MinimalProxy.ts +90 -0
- package/typechain-types/contracts/mocks/utils/mpc/MpcOperations128TestContract.ts +388 -0
- package/typechain-types/contracts/mocks/utils/mpc/MpcOperationsTestContract.ts +455 -0
- package/typechain-types/contracts/mocks/utils/mpc/Mux128TestsContract.ts +109 -0
- package/typechain-types/contracts/mocks/utils/mpc/Mux256TestsContract.ts +109 -0
- package/typechain-types/contracts/mocks/utils/mpc/OnBoard128TestsContract.ts +166 -0
- package/typechain-types/contracts/mocks/utils/mpc/OnBoard256TestsContract.ts +194 -0
- package/typechain-types/contracts/mocks/utils/mpc/PrivacyImplementationV1.ts +385 -0
- package/typechain-types/contracts/mocks/utils/mpc/PrivacyImplementationV2.ts +441 -0
- package/typechain-types/contracts/mocks/utils/mpc/PrivacyProxy.ts +201 -0
- package/typechain-types/contracts/mocks/utils/mpc/Random128TestsContract.ts +131 -0
- package/typechain-types/contracts/mocks/utils/mpc/Random256TestsContract.ts +131 -0
- package/typechain-types/contracts/mocks/utils/mpc/Shift128TestsContract.ts +142 -0
- package/typechain-types/contracts/mocks/utils/mpc/Shift256TestsContract.ts +142 -0
- package/typechain-types/contracts/mocks/utils/mpc/Transfer128TestsContract.ts +109 -0
- package/typechain-types/contracts/mocks/utils/mpc/Transfer256TestsContract.ts +109 -0
- package/typechain-types/contracts/mocks/utils/mpc/TransferWithAllowance128TestsContract.ts +128 -0
- package/typechain-types/contracts/mocks/utils/mpc/TransferWithAllowance256TestsContract.ts +128 -0
- package/typechain-types/contracts/mocks/utils/mpc/ValidateCiphertext128TestsContract.ts +198 -0
- package/typechain-types/contracts/mocks/utils/mpc/ValidateCiphertext256TestsContract.ts +182 -0
- package/typechain-types/contracts/mocks/utils/mpc/ValidateCiphertextTestsContract.ts +257 -0
- package/typechain-types/contracts/mocks/utils/mpc/index.ts +32 -8
- package/typechain-types/contracts/token/PrivateERC20/IPrivateERC20.ts +77 -60
- package/typechain-types/contracts/token/PrivateERC20/PrivateERC20.ts +77 -60
- package/typechain-types/contracts/utils/mpc/MpcInterface.sol/ExtendedOperations.ts +111 -10
- package/typechain-types/factories/@openzeppelin/contracts/access/Ownable__factory.ts +74 -0
- package/typechain-types/factories/@openzeppelin/contracts/access/index.ts +4 -0
- package/typechain-types/factories/@openzeppelin/contracts/index.ts +1 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/IERC20__factory.ts +205 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit__factory.ts +100 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/index.ts +4 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/index.ts +5 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/index.ts +1 -0
- package/typechain-types/factories/contracts/disperse/coinByRatio/FixedRatioCoinDisperser__factory.ts +759 -0
- package/typechain-types/factories/contracts/disperse/coinByRatio/index.ts +4 -0
- package/typechain-types/factories/contracts/disperse/disperseToken/MintDisperser.sol/IMintableERC20__factory.ts +43 -0
- package/typechain-types/factories/contracts/disperse/disperseToken/MintDisperser.sol/MintDisperser__factory.ts +185 -0
- package/typechain-types/factories/contracts/disperse/disperseToken/MintDisperser.sol/index.ts +5 -0
- package/typechain-types/factories/contracts/disperse/disperseToken/TokenDisperser__factory.ts +198 -0
- package/typechain-types/factories/contracts/disperse/disperseToken/index.ts +5 -0
- package/typechain-types/factories/contracts/disperse/index.ts +5 -0
- package/typechain-types/factories/contracts/index.ts +1 -0
- package/typechain-types/factories/contracts/mocks/access/DataPrivacyFramework/DataPrivacyFrameworkMock__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivateERC20Mock__factory.ts +179 -47
- package/typechain-types/factories/contracts/mocks/utils/mpc/Arithmetic128TestsContract__factory.ts +330 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/Arithmetic256TestsContract__factory.ts +330 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/ArithmeticTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Bitwise128TestsContract__factory.ts +184 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/Bitwise256TestsContract__factory.ts +184 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/BitwiseTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/CheckedArithmetic128WithOverflowBitTestsContract__factory.ts +203 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/CheckedArithmetic256WithOverflowBitTestsContract__factory.ts +203 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/CheckedArithmeticWIthOverflowBitTestsContract.sol/CheckedArithmeticWithOverflowBitTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison128TestsContract__factory.ts +295 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison1TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison256TestsContract__factory.ts +295 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison2TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/MinMax128TestsContract__factory.ts +147 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/MinMax256TestsContract__factory.ts +147 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/MinMaxTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/MinimalImplementation__factory.ts +263 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/MinimalProxy__factory.ts +104 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/Miscellaneous1TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/MiscellaneousTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/MpcOperations128TestContract__factory.ts +723 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/MpcOperationsTestContract__factory.ts +1410 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/Mux128TestsContract__factory.ts +115 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/Mux256TestsContract__factory.ts +115 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/OffboardToUserKeyTestContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/OnBoard128TestsContract__factory.ts +175 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/OnBoard256TestsContract__factory.ts +205 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/PrivacyImplementationV1__factory.ts +521 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/PrivacyImplementationV2__factory.ts +648 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/PrivacyProxy__factory.ts +179 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/Random128TestsContract__factory.ts +131 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/Random256TestsContract__factory.ts +131 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/Shift128TestsContract__factory.ts +147 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/Shift256TestsContract__factory.ts +147 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/ShiftTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/StringTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Transfer128TestsContract__factory.ts +135 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/Transfer256TestsContract__factory.ts +135 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferScalarTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance128TestsContract__factory.ts +154 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance256TestsContract__factory.ts +154 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_16TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_32TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_64TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_8TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowanceScalarTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowanceTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/ValidateCiphertext128TestsContract__factory.ts +190 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/ValidateCiphertext256TestsContract__factory.ts +210 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/ValidateCiphertextTestsContract__factory.ts +260 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/index.ts +32 -8
- package/typechain-types/factories/contracts/mocks/wallet/PrivateERC20Wallet/PrivateERC20WalletMock__factory.ts +7 -7
- package/typechain-types/factories/contracts/token/PrivateERC20/IPrivateERC20__factory.ts +174 -42
- package/typechain-types/factories/contracts/token/PrivateERC20/PrivateERC20__factory.ts +174 -42
- package/typechain-types/factories/contracts/utils/mpc/MpcInterface.sol/ExtendedOperations__factory.ts +126 -0
- package/typechain-types/hardhat.d.ts +638 -80
- package/typechain-types/index.ts +78 -16
- package/contracts/mocks/utils/mpc/Arithmetic128BitTestsContract.sol +0 -260
- package/contracts/mocks/utils/mpc/Arithmetic256BitTestsContract.sol +0 -264
- package/contracts/mocks/utils/mpc/Bitwise128BitTestsContract.sol +0 -91
- package/contracts/mocks/utils/mpc/Bitwise256BitTestsContract.sol +0 -91
- package/contracts/mocks/utils/mpc/Comparison128BitTestsContract.sol +0 -158
- package/contracts/mocks/utils/mpc/Comparison256BitTestsContract.sol +0 -158
- package/contracts/mocks/utils/mpc/Miscellaneous128BitTestsContract.sol +0 -185
- package/contracts/mocks/utils/mpc/Miscellaneous256BitTestsContract.sol +0 -190
- package/contracts/mocks/utils/mpc/README.md +0 -486
- package/test/utils/mpc/Unsigned128BitIntegers.test.ts +0 -945
- package/test/utils/mpc/Unsigned256BitIntegers.test.ts +0 -1124
- package/test/utils/mpc/helpers.ts +0 -77
|
@@ -663,7 +663,7 @@ const _abi = [
|
|
|
663
663
|
] as const;
|
|
664
664
|
|
|
665
665
|
const _bytecode =
|
|
666
|
-
"0x608060405234801561001057600080fd5b50612629806100206000396000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c8063c9d32ba911610050578063c9d32ba9146100f0578063f4fa211014610103578063f8ce73b81461011657600080fd5b80634717f97c14610077578063ad9926d6146100c8578063b4b92fac146100dd575b600080fd5b60005460ff80821691610100810482169162010000820481169163010000009004165b6040805160ff9586168152938516602085015291151583830152909216606082015290519081900360800190f35b6100db6100d636600461245e565b610129565b005b6100db6100eb36600461245e565b610766565b6100db6100fe36600461245e565b610ccc565b61009a61011136600461254a565b611232565b6100db61012436600461245e565b6115f5565b60008060008061014b8b60c001518c60e001518c606001518c60600151611b5b565b935093509350935061015c84611c46565b67ffffffffffffffff168860ff1614801561018b575061017b83611c46565b67ffffffffffffffff168760ff16145b80156101a2575061019b82611ce9565b1515861515145b80156101c257506101b281611c46565b67ffffffffffffffff168560ff16145b6102135760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c65640000000060448201526064015b60405180910390fd5b61022f8b600001518c60e001518c606001518c60600151611d7a565b9296509094509250905061024284611c46565b67ffffffffffffffff168860ff16148015610271575061026183611c46565b67ffffffffffffffff168760ff16145b8015610288575061028182611ce9565b1515861515145b80156102a8575061029881611c46565b67ffffffffffffffff168560ff16145b6102f45760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6103108b60c001518c602001518c606001518c60600151611d99565b9296509094509250905061032384611c46565b67ffffffffffffffff168860ff16148015610352575061034283611c46565b67ffffffffffffffff168760ff16145b8015610369575061036282611ce9565b1515861515145b8015610389575061037981611c46565b67ffffffffffffffff168560ff16145b6103d55760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6103f18b604001518c60e001518c606001518c60600151611db8565b9296509094509250905061040484611c46565b67ffffffffffffffff168860ff16148015610433575061042383611c46565b67ffffffffffffffff168760ff16145b801561044a575061044382611ce9565b1515861515145b801561046a575061045a81611c46565b67ffffffffffffffff168560ff16145b6104b65760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6104d28b60c001518c606001518c606001518c60600151611dd7565b929650909450925090506104e584611c46565b67ffffffffffffffff168860ff16148015610514575061050483611c46565b67ffffffffffffffff168760ff16145b801561052b575061052482611ce9565b1515861515145b801561054b575061053b81611c46565b67ffffffffffffffff168560ff16145b6105975760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6105b38b608001518c60e001518c606001518c60600151611df6565b929650909450925090506105c684611c46565b67ffffffffffffffff168860ff161480156105f557506105e583611c46565b67ffffffffffffffff168760ff16145b801561060c575061060582611ce9565b1515861515145b801561062c575061061c81611c46565b67ffffffffffffffff168560ff16145b6106785760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6106948b60c001518c60a001518c606001518c60600151611e15565b929650909450925090506106a784611c46565b67ffffffffffffffff168860ff161480156106d657506106c683611c46565b67ffffffffffffffff168760ff16145b80156106ed57506106e682611ce9565b1515861515145b801561070d57506106fd81611c46565b67ffffffffffffffff168560ff16145b6107595760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b5050505050505050505050565b6000806000806107888b600001518c60e001518c604001518c60600151611e34565b935093509350935061079984611c46565b67ffffffffffffffff168860ff161480156107c857506107b883611c46565b67ffffffffffffffff168760ff16145b80156107df57506107d882611ce9565b1515861515145b80156107ff57506107ef81611c46565b67ffffffffffffffff168560ff16145b61084b5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6108678b60c001518c602001518c604001518c60600151611e54565b9296509094509250905061087a84611c46565b67ffffffffffffffff168860ff161480156108a9575061089983611c46565b67ffffffffffffffff168760ff16145b80156108c057506108b982611ce9565b1515861515145b80156108e057506108d081611c46565b67ffffffffffffffff168560ff16145b61092c5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6109488b604001518c60e001518c604001518c60600151611e74565b9296509094509250905061095b84611c46565b67ffffffffffffffff168860ff1614801561098a575061097a83611c46565b67ffffffffffffffff168760ff16145b80156109a1575061099a82611ce9565b1515861515145b80156109c157506109b181611c46565b67ffffffffffffffff168560ff16145b610a0d5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b610a298b60c001518c606001518c604001518c60600151611e94565b92965090945092509050610a3c84611c46565b67ffffffffffffffff168860ff16148015610a6b5750610a5b83611c46565b67ffffffffffffffff168760ff16145b8015610a825750610a7b82611ce9565b1515861515145b8015610aa25750610a9281611c46565b67ffffffffffffffff168560ff16145b610aee5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b610b0a8b608001518c60e001518c604001518c60600151611eb4565b92965090945092509050610b1d84611c46565b67ffffffffffffffff168860ff16148015610b4c5750610b3c83611c46565b67ffffffffffffffff168760ff16145b8015610b635750610b5c82611ce9565b1515861515145b8015610b835750610b7381611c46565b67ffffffffffffffff168560ff16145b610bcf5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b610beb8b60c001518c60a001518c604001518c60600151611ed3565b92965090945092509050610bfe84611c46565b67ffffffffffffffff168860ff16148015610c2d5750610c1d83611c46565b67ffffffffffffffff168760ff16145b8015610c445750610c3d82611ce9565b1515861515145b8015610c645750610c5481611c46565b67ffffffffffffffff168560ff16145b610cb05760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6106948b60c001518c60e001518c604001518c60600151611ef2565b600080600080610cee8b600001518c60e001518c600001518c60600151611f11565b9350935093509350610cff84611c46565b67ffffffffffffffff168860ff16148015610d2e5750610d1e83611c46565b67ffffffffffffffff168760ff16145b8015610d455750610d3e82611ce9565b1515861515145b8015610d655750610d5581611c46565b67ffffffffffffffff168560ff16145b610db15760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b610dcd8b60c001518c602001518c600001518c60600151611f30565b92965090945092509050610de084611c46565b67ffffffffffffffff168860ff16148015610e0f5750610dff83611c46565b67ffffffffffffffff168760ff16145b8015610e265750610e1f82611ce9565b1515861515145b8015610e465750610e3681611c46565b67ffffffffffffffff168560ff16145b610e925760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b610eae8b60c001518c60e001518c600001518c60600151611f4f565b92965090945092509050610ec184611c46565b67ffffffffffffffff168860ff16148015610ef05750610ee083611c46565b67ffffffffffffffff168760ff16145b8015610f075750610f0082611ce9565b1515861515145b8015610f275750610f1781611c46565b67ffffffffffffffff168560ff16145b610f735760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b610f8f8b604001518c60e001518c600001518c60600151611f6e565b92965090945092509050610fa284611c46565b67ffffffffffffffff168860ff16148015610fd15750610fc183611c46565b67ffffffffffffffff168760ff16145b8015610fe85750610fe182611ce9565b1515861515145b80156110085750610ff881611c46565b67ffffffffffffffff168560ff16145b6110545760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6110708b60c001518c606001518c600001518c60600151611f8e565b9296509094509250905061108384611c46565b67ffffffffffffffff168860ff161480156110b257506110a283611c46565b67ffffffffffffffff168760ff16145b80156110c957506110c282611ce9565b1515861515145b80156110e957506110d981611c46565b67ffffffffffffffff168560ff16145b6111355760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6111518b608001518c60e001518c600001518c60600151611fae565b9296509094509250905061116484611c46565b67ffffffffffffffff168860ff16148015611193575061118383611c46565b67ffffffffffffffff168760ff16145b80156111aa57506111a382611ce9565b1515861515145b80156111ca57506111ba81611c46565b67ffffffffffffffff168560ff16145b6112165760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6106948b60c001518c60a001518c600001518c60600151611fce565b60008060008061128060405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6112b56040518060a0016040528060008152602001600081526020016000815260200160008152602001600060ff1681525090565b6112ea6040518060a0016040528060008152602001600081526020016000815260200160008152602001600060ff1681525090565b6112f38b611fee565b83526112fe8a611fee565b602084015261130f60ff8c16612057565b604084015261132060ff8b16612057565b606084015261133160ff8c166120c1565b608084015261134260ff8b166120c1565b60a084015261135360ff8c1661212d565b60c084015261136460ff8b1661212d565b60e084015261137289611fee565b825261138060ff8a16612057565b602083015261139160ff8a166120c1565b60408301526113a260ff8a1661212d565b606083015260ff891660808301526113b988611fee565b81526113c760ff8916612057565b60208201526113d860ff89166120c1565b60408201526113e960ff891661212d565b606082015260ff8816608082015282516020840151835183516000938493849384936114179392919061219d565b9350935093509350611428846121bb565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff92909216919091179055611463836121bb565b600060016101000a81548160ff021916908360ff16021790555061148682611ce9565b6000805491151562010000027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff9092169190911790556114c5816121bb565b6000805460ff92831663010000009081027fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffff831681179384905561152c948c948c948c94938316908316179261010082048316926201000083048116929190910416610ccc565b60005461155d9088908890889060ff80821691610100810482169162010000820481169163010000009004166115f5565b60005461158e9088908890889060ff8082169161010081048216916201000082048116916301000000900416610766565b6000546115bf9088908890889060ff8082169161010081048216916201000082048116916301000000900416610129565b505060005460ff8082169f610100830482169f5062010000830482169e506301000000909204169b509950505050505050505050565b6000806000806116178b600001518c60e001518c602001518c606001516121cb565b935093509350935061162884611c46565b67ffffffffffffffff168860ff16148015611657575061164783611c46565b67ffffffffffffffff168760ff16145b801561166e575061166782611ce9565b1515861515145b801561168e575061167e81611c46565b67ffffffffffffffff168560ff16145b6116da5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6116f68b60c001518c602001518c602001518c606001516121eb565b9296509094509250905061170984611c46565b67ffffffffffffffff168860ff16148015611738575061172883611c46565b67ffffffffffffffff168760ff16145b801561174f575061174882611ce9565b1515861515145b801561176f575061175f81611c46565b67ffffffffffffffff168560ff16145b6117bb5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6117d78b604001518c60e001518c602001518c6060015161220b565b929650909450925090506117ea84611c46565b67ffffffffffffffff168860ff16148015611819575061180983611c46565b67ffffffffffffffff168760ff16145b8015611830575061182982611ce9565b1515861515145b8015611850575061184081611c46565b67ffffffffffffffff168560ff16145b61189c5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6118b88b60c001518c606001518c602001518c6060015161222a565b929650909450925090506118cb84611c46565b67ffffffffffffffff168860ff161480156118fa57506118ea83611c46565b67ffffffffffffffff168760ff16145b8015611911575061190a82611ce9565b1515861515145b8015611931575061192181611c46565b67ffffffffffffffff168560ff16145b61197d5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6119998b60c001518c60e001518c602001518c60600151612249565b929650909450925090506119ac84611c46565b67ffffffffffffffff168860ff161480156119db57506119cb83611c46565b67ffffffffffffffff168760ff16145b80156119f257506119eb82611ce9565b1515861515145b8015611a125750611a0281611c46565b67ffffffffffffffff168560ff16145b611a5e5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b611a7a8b608001518c60e001518c602001518c60600151612268565b92965090945092509050611a8d84611c46565b67ffffffffffffffff168860ff16148015611abc5750611aac83611c46565b67ffffffffffffffff168760ff16145b8015611ad35750611acc82611ce9565b1515861515145b8015611af35750611ae381611c46565b67ffffffffffffffff168560ff16145b611b3f5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6106948b60c001518c60a001518c602001518c60600151612288565b600080808080808080606463c2ff267a611b796004808080876122a4565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffffffff0000000000000000000000000000000000000000000000000000009091166004820152602481018f9052604481018e9052606481018d9052608481018c905260a4016080604051808303816000875af1158015611c0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c30919061259e565b929f919e509c50909a5098505050505050505050565b60006064630cfed56160045b60f81b846040518363ffffffff1660e01b8152600401611ca09291907fff00000000000000000000000000000000000000000000000000000000000000929092168252602082015260400190565b6020604051808303816000875af1158015611cbf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ce39190612603565b92915050565b6040517f0cfed56100000000000000000000000000000000000000000000000000000000815260006004820181905260248201839052908190606490630cfed561906044016020604051808303816000875af1158015611d4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d719190612603565b15159392505050565b600080808080808080606463c2ff267a611b79600160048080876122a4565b600080808080808080606463c2ff267a611b79600460018180876122a4565b600080808080808080606463c2ff267a611b79600260048080876122a4565b600080808080808080606463c2ff267a611b79600460028180876122a4565b600080808080808080606463c2ff267a611b79600360048080876122a4565b600080808080808080606463c2ff267a611b79600460038180876122a4565b600080808080808080606463c2ff267a611b7960016004600381876122a4565b600080808080808080606463c2ff267a611b7960046001600382876122a4565b600080808080808080606463c2ff267a611b7960026004600381876122a4565b600080808080808080606463c2ff267a611b7960046002600382876122a4565b600080808080808080606463c2ff267a611b79600360048181876122a4565b600080808080808080606463c2ff267a611b79600460038082876122a4565b600080808080808080606463c2ff267a611b79600480600381876122a4565b600080808080808080606463c2ff267a611b79600160048181876122a4565b600080808080808080606463c2ff267a611b79600460018082876122a4565b600080808080808080606463c2ff267a611b79600480600181876122a4565b600080808080808080606463c2ff267a611b7960026004600181876122a4565b600080808080808080606463c2ff267a611b7960046002600182876122a4565b600080808080808080606463c2ff267a611b7960036004600181876122a4565b600080808080808080606463c2ff267a611b7960046003600182876122a4565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0100000000000000000000000000000000000000000000000000000000000000600482015260ff8216602482015260009060649063d9b60b6090604401611ca0565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0200000000000000000000000000000000000000000000000000000000000000600482015261ffff8216602482015260009060649063d9b60b6090604401611ca0565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0300000000000000000000000000000000000000000000000000000000000000600482015263ffffffff8216602482015260009060649063d9b60b6090604401611ca0565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0400000000000000000000000000000000000000000000000000000000000000600482015267ffffffffffffffff8216602482015260009060649063d9b60b6090604401611ca0565b600080808080808080606463c2ff267a611b796001808080876122a4565b60006064630cfed5616001611c52565b600080808080808080606463c2ff267a611b7960016004600281876122a4565b600080808080808080606463c2ff267a611b7960046001600282876122a4565b600080808080808080606463c2ff267a611b79600260048181876122a4565b600080808080808080606463c2ff267a611b79600460028082876122a4565b600080808080808080606463c2ff267a611b79600480600281876122a4565b600080808080808080606463c2ff267a611b7960036004600281876122a4565b600080808080808080606463c2ff267a611b7960046003600282875b60008160028111156122b8576122b86125d4565b60ff1660088460048111156122cf576122cf6125d4565b61ffff16901b61ffff1660108660048111156122ed576122ed6125d4565b62ffffff16901b62ffffff16601888600481111561230d5761230d6125d4565b63ffffffff16901b63ffffffff1660208a600481111561232f5761232f6125d4565b64ffffffffff16901b1717171760d81b9695505050505050565b604051610100810167ffffffffffffffff81118282101715612394577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405290565b803560ff811681146123ab57600080fd5b919050565b600060a082840312156123c257600080fd5b60405160a0810181811067ffffffffffffffff8211171561240c577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b8060405250809150823581526020830135602082015260408301356040820152606083013560608201526124426080840161239a565b60808201525092915050565b803580151581146123ab57600080fd5b60008060008060008060008789036102c081121561247b57600080fd5b6101008082121561248b57600080fd5b612493612349565b91508935825260208a0135602083015260408a0135604083015260608a0135606083015260808a0135608083015260a08a013560a083015260c08a013560c083015260e08a013560e08301528198506124ee8b828c016123b0565b97505050612500896101a08a016123b0565b945061250f610240890161239a565b935061251e610260890161239a565b925061252d610280890161244e565b915061253c6102a0890161239a565b905092959891949750929550565b6000806000806080858703121561256057600080fd5b6125698561239a565b93506125776020860161239a565b92506125856040860161239a565b91506125936060860161239a565b905092959194509250565b600080600080608085870312156125b457600080fd5b505082516020840151604085015160609095015191969095509092509050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60006020828403121561261557600080fd5b505191905056fea164736f6c6343000813000a";
|
|
666
|
+
"0x608060405234801561001057600080fd5b50612629806100206000396000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c8063c9d32ba911610050578063c9d32ba9146100f0578063f4fa211014610103578063f8ce73b81461011657600080fd5b80634717f97c14610077578063ad9926d6146100c8578063b4b92fac146100dd575b600080fd5b60005460ff80821691610100810482169162010000820481169163010000009004165b6040805160ff9586168152938516602085015291151583830152909216606082015290519081900360800190f35b6100db6100d636600461245e565b610129565b005b6100db6100eb36600461245e565b610766565b6100db6100fe36600461245e565b610ccc565b61009a61011136600461254a565b611232565b6100db61012436600461245e565b6115f5565b60008060008061014b8b60c001518c60e001518c606001518c60600151611b5b565b935093509350935061015c84611c46565b67ffffffffffffffff168860ff1614801561018b575061017b83611c46565b67ffffffffffffffff168760ff16145b80156101a2575061019b82611ce9565b1515861515145b80156101c257506101b281611c46565b67ffffffffffffffff168560ff16145b6102135760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c65640000000060448201526064015b60405180910390fd5b61022f8b600001518c60e001518c606001518c60600151611d7a565b9296509094509250905061024284611c46565b67ffffffffffffffff168860ff16148015610271575061026183611c46565b67ffffffffffffffff168760ff16145b8015610288575061028182611ce9565b1515861515145b80156102a8575061029881611c46565b67ffffffffffffffff168560ff16145b6102f45760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6103108b60c001518c602001518c606001518c60600151611d99565b9296509094509250905061032384611c46565b67ffffffffffffffff168860ff16148015610352575061034283611c46565b67ffffffffffffffff168760ff16145b8015610369575061036282611ce9565b1515861515145b8015610389575061037981611c46565b67ffffffffffffffff168560ff16145b6103d55760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6103f18b604001518c60e001518c606001518c60600151611db8565b9296509094509250905061040484611c46565b67ffffffffffffffff168860ff16148015610433575061042383611c46565b67ffffffffffffffff168760ff16145b801561044a575061044382611ce9565b1515861515145b801561046a575061045a81611c46565b67ffffffffffffffff168560ff16145b6104b65760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6104d28b60c001518c606001518c606001518c60600151611dd7565b929650909450925090506104e584611c46565b67ffffffffffffffff168860ff16148015610514575061050483611c46565b67ffffffffffffffff168760ff16145b801561052b575061052482611ce9565b1515861515145b801561054b575061053b81611c46565b67ffffffffffffffff168560ff16145b6105975760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6105b38b608001518c60e001518c606001518c60600151611df6565b929650909450925090506105c684611c46565b67ffffffffffffffff168860ff161480156105f557506105e583611c46565b67ffffffffffffffff168760ff16145b801561060c575061060582611ce9565b1515861515145b801561062c575061061c81611c46565b67ffffffffffffffff168560ff16145b6106785760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6106948b60c001518c60a001518c606001518c60600151611e15565b929650909450925090506106a784611c46565b67ffffffffffffffff168860ff161480156106d657506106c683611c46565b67ffffffffffffffff168760ff16145b80156106ed57506106e682611ce9565b1515861515145b801561070d57506106fd81611c46565b67ffffffffffffffff168560ff16145b6107595760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b5050505050505050505050565b6000806000806107888b600001518c60e001518c604001518c60600151611e34565b935093509350935061079984611c46565b67ffffffffffffffff168860ff161480156107c857506107b883611c46565b67ffffffffffffffff168760ff16145b80156107df57506107d882611ce9565b1515861515145b80156107ff57506107ef81611c46565b67ffffffffffffffff168560ff16145b61084b5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6108678b60c001518c602001518c604001518c60600151611e54565b9296509094509250905061087a84611c46565b67ffffffffffffffff168860ff161480156108a9575061089983611c46565b67ffffffffffffffff168760ff16145b80156108c057506108b982611ce9565b1515861515145b80156108e057506108d081611c46565b67ffffffffffffffff168560ff16145b61092c5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6109488b604001518c60e001518c604001518c60600151611e74565b9296509094509250905061095b84611c46565b67ffffffffffffffff168860ff1614801561098a575061097a83611c46565b67ffffffffffffffff168760ff16145b80156109a1575061099a82611ce9565b1515861515145b80156109c157506109b181611c46565b67ffffffffffffffff168560ff16145b610a0d5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b610a298b60c001518c606001518c604001518c60600151611e94565b92965090945092509050610a3c84611c46565b67ffffffffffffffff168860ff16148015610a6b5750610a5b83611c46565b67ffffffffffffffff168760ff16145b8015610a825750610a7b82611ce9565b1515861515145b8015610aa25750610a9281611c46565b67ffffffffffffffff168560ff16145b610aee5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b610b0a8b608001518c60e001518c604001518c60600151611eb4565b92965090945092509050610b1d84611c46565b67ffffffffffffffff168860ff16148015610b4c5750610b3c83611c46565b67ffffffffffffffff168760ff16145b8015610b635750610b5c82611ce9565b1515861515145b8015610b835750610b7381611c46565b67ffffffffffffffff168560ff16145b610bcf5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b610beb8b60c001518c60a001518c604001518c60600151611ed3565b92965090945092509050610bfe84611c46565b67ffffffffffffffff168860ff16148015610c2d5750610c1d83611c46565b67ffffffffffffffff168760ff16145b8015610c445750610c3d82611ce9565b1515861515145b8015610c645750610c5481611c46565b67ffffffffffffffff168560ff16145b610cb05760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6106948b60c001518c60e001518c604001518c60600151611ef2565b600080600080610cee8b600001518c60e001518c600001518c60600151611f11565b9350935093509350610cff84611c46565b67ffffffffffffffff168860ff16148015610d2e5750610d1e83611c46565b67ffffffffffffffff168760ff16145b8015610d455750610d3e82611ce9565b1515861515145b8015610d655750610d5581611c46565b67ffffffffffffffff168560ff16145b610db15760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b610dcd8b60c001518c602001518c600001518c60600151611f30565b92965090945092509050610de084611c46565b67ffffffffffffffff168860ff16148015610e0f5750610dff83611c46565b67ffffffffffffffff168760ff16145b8015610e265750610e1f82611ce9565b1515861515145b8015610e465750610e3681611c46565b67ffffffffffffffff168560ff16145b610e925760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b610eae8b60c001518c60e001518c600001518c60600151611f4f565b92965090945092509050610ec184611c46565b67ffffffffffffffff168860ff16148015610ef05750610ee083611c46565b67ffffffffffffffff168760ff16145b8015610f075750610f0082611ce9565b1515861515145b8015610f275750610f1781611c46565b67ffffffffffffffff168560ff16145b610f735760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b610f8f8b604001518c60e001518c600001518c60600151611f6e565b92965090945092509050610fa284611c46565b67ffffffffffffffff168860ff16148015610fd15750610fc183611c46565b67ffffffffffffffff168760ff16145b8015610fe85750610fe182611ce9565b1515861515145b80156110085750610ff881611c46565b67ffffffffffffffff168560ff16145b6110545760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6110708b60c001518c606001518c600001518c60600151611f8e565b9296509094509250905061108384611c46565b67ffffffffffffffff168860ff161480156110b257506110a283611c46565b67ffffffffffffffff168760ff16145b80156110c957506110c282611ce9565b1515861515145b80156110e957506110d981611c46565b67ffffffffffffffff168560ff16145b6111355760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6111518b608001518c60e001518c600001518c60600151611fae565b9296509094509250905061116484611c46565b67ffffffffffffffff168860ff16148015611193575061118383611c46565b67ffffffffffffffff168760ff16145b80156111aa57506111a382611ce9565b1515861515145b80156111ca57506111ba81611c46565b67ffffffffffffffff168560ff16145b6112165760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6106948b60c001518c60a001518c600001518c60600151611fce565b60008060008061128060405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6112b56040518060a0016040528060008152602001600081526020016000815260200160008152602001600060ff1681525090565b6112ea6040518060a0016040528060008152602001600081526020016000815260200160008152602001600060ff1681525090565b6112f38b611fee565b83526112fe8a611fee565b602084015261130f60ff8c16612057565b604084015261132060ff8b16612057565b606084015261133160ff8c166120c1565b608084015261134260ff8b166120c1565b60a084015261135360ff8c1661212d565b60c084015261136460ff8b1661212d565b60e084015261137289611fee565b825261138060ff8a16612057565b602083015261139160ff8a166120c1565b60408301526113a260ff8a1661212d565b606083015260ff891660808301526113b988611fee565b81526113c760ff8916612057565b60208201526113d860ff89166120c1565b60408201526113e960ff891661212d565b606082015260ff8816608082015282516020840151835183516000938493849384936114179392919061219d565b9350935093509350611428846121bb565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff92909216919091179055611463836121bb565b600060016101000a81548160ff021916908360ff16021790555061148682611ce9565b6000805491151562010000027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff9092169190911790556114c5816121bb565b6000805460ff92831663010000009081027fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffff831681179384905561152c948c948c948c94938316908316179261010082048316926201000083048116929190910416610ccc565b60005461155d9088908890889060ff80821691610100810482169162010000820481169163010000009004166115f5565b60005461158e9088908890889060ff8082169161010081048216916201000082048116916301000000900416610766565b6000546115bf9088908890889060ff8082169161010081048216916201000082048116916301000000900416610129565b505060005460ff8082169f610100830482169f5062010000830482169e506301000000909204169b509950505050505050505050565b6000806000806116178b600001518c60e001518c602001518c606001516121cb565b935093509350935061162884611c46565b67ffffffffffffffff168860ff16148015611657575061164783611c46565b67ffffffffffffffff168760ff16145b801561166e575061166782611ce9565b1515861515145b801561168e575061167e81611c46565b67ffffffffffffffff168560ff16145b6116da5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6116f68b60c001518c602001518c602001518c606001516121eb565b9296509094509250905061170984611c46565b67ffffffffffffffff168860ff16148015611738575061172883611c46565b67ffffffffffffffff168760ff16145b801561174f575061174882611ce9565b1515861515145b801561176f575061175f81611c46565b67ffffffffffffffff168560ff16145b6117bb5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6117d78b604001518c60e001518c602001518c6060015161220b565b929650909450925090506117ea84611c46565b67ffffffffffffffff168860ff16148015611819575061180983611c46565b67ffffffffffffffff168760ff16145b8015611830575061182982611ce9565b1515861515145b8015611850575061184081611c46565b67ffffffffffffffff168560ff16145b61189c5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6118b88b60c001518c606001518c602001518c6060015161222a565b929650909450925090506118cb84611c46565b67ffffffffffffffff168860ff161480156118fa57506118ea83611c46565b67ffffffffffffffff168760ff16145b8015611911575061190a82611ce9565b1515861515145b8015611931575061192181611c46565b67ffffffffffffffff168560ff16145b61197d5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6119998b60c001518c60e001518c602001518c60600151612249565b929650909450925090506119ac84611c46565b67ffffffffffffffff168860ff161480156119db57506119cb83611c46565b67ffffffffffffffff168760ff16145b80156119f257506119eb82611ce9565b1515861515145b8015611a125750611a0281611c46565b67ffffffffffffffff168560ff16145b611a5e5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b611a7a8b608001518c60e001518c602001518c60600151612268565b92965090945092509050611a8d84611c46565b67ffffffffffffffff168860ff16148015611abc5750611aac83611c46565b67ffffffffffffffff168760ff16145b8015611ad35750611acc82611ce9565b1515861515145b8015611af35750611ae381611c46565b67ffffffffffffffff168560ff16145b611b3f5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6106948b60c001518c60a001518c602001518c60600151612288565b600080808080808080606463c2ff267a611b796004808080876122a4565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffffffff0000000000000000000000000000000000000000000000000000009091166004820152602481018f9052604481018e9052606481018d9052608481018c905260a4016080604051808303816000875af1158015611c0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c30919061259e565b929f919e509c50909a5098505050505050505050565b60006064630cfed56160045b60f81b846040518363ffffffff1660e01b8152600401611ca09291907fff00000000000000000000000000000000000000000000000000000000000000929092168252602082015260400190565b6020604051808303816000875af1158015611cbf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ce39190612603565b92915050565b6040517f0cfed56100000000000000000000000000000000000000000000000000000000815260006004820181905260248201839052908190606490630cfed561906044016020604051808303816000875af1158015611d4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d719190612603565b15159392505050565b600080808080808080606463c2ff267a611b79600160048080876122a4565b600080808080808080606463c2ff267a611b79600460018180876122a4565b600080808080808080606463c2ff267a611b79600260048080876122a4565b600080808080808080606463c2ff267a611b79600460028180876122a4565b600080808080808080606463c2ff267a611b79600360048080876122a4565b600080808080808080606463c2ff267a611b79600460038180876122a4565b600080808080808080606463c2ff267a611b7960016004600381876122a4565b600080808080808080606463c2ff267a611b7960046001600382876122a4565b600080808080808080606463c2ff267a611b7960026004600381876122a4565b600080808080808080606463c2ff267a611b7960046002600382876122a4565b600080808080808080606463c2ff267a611b79600360048181876122a4565b600080808080808080606463c2ff267a611b79600460038082876122a4565b600080808080808080606463c2ff267a611b79600480600381876122a4565b600080808080808080606463c2ff267a611b79600160048181876122a4565b600080808080808080606463c2ff267a611b79600460018082876122a4565b600080808080808080606463c2ff267a611b79600480600181876122a4565b600080808080808080606463c2ff267a611b7960026004600181876122a4565b600080808080808080606463c2ff267a611b7960046002600182876122a4565b600080808080808080606463c2ff267a611b7960036004600181876122a4565b600080808080808080606463c2ff267a611b7960046003600182876122a4565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0100000000000000000000000000000000000000000000000000000000000000600482015260ff8216602482015260009060649063d9b60b6090604401611ca0565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0200000000000000000000000000000000000000000000000000000000000000600482015261ffff8216602482015260009060649063d9b60b6090604401611ca0565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0300000000000000000000000000000000000000000000000000000000000000600482015263ffffffff8216602482015260009060649063d9b60b6090604401611ca0565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0400000000000000000000000000000000000000000000000000000000000000600482015267ffffffffffffffff8216602482015260009060649063d9b60b6090604401611ca0565b600080808080808080606463c2ff267a611b796001808080876122a4565b60006064630cfed5616001611c52565b600080808080808080606463c2ff267a611b7960016004600281876122a4565b600080808080808080606463c2ff267a611b7960046001600282876122a4565b600080808080808080606463c2ff267a611b79600260048181876122a4565b600080808080808080606463c2ff267a611b79600460028082876122a4565b600080808080808080606463c2ff267a611b79600480600281876122a4565b600080808080808080606463c2ff267a611b7960036004600281876122a4565b600080808080808080606463c2ff267a611b7960046003600282875b60008160028111156122b8576122b86125d4565b60ff1660088460068111156122cf576122cf6125d4565b61ffff16901b61ffff1660108660068111156122ed576122ed6125d4565b62ffffff16901b62ffffff16601888600681111561230d5761230d6125d4565b63ffffffff16901b63ffffffff1660208a600681111561232f5761232f6125d4565b64ffffffffff16901b1717171760d81b9695505050505050565b604051610100810167ffffffffffffffff81118282101715612394577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405290565b803560ff811681146123ab57600080fd5b919050565b600060a082840312156123c257600080fd5b60405160a0810181811067ffffffffffffffff8211171561240c577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b8060405250809150823581526020830135602082015260408301356040820152606083013560608201526124426080840161239a565b60808201525092915050565b803580151581146123ab57600080fd5b60008060008060008060008789036102c081121561247b57600080fd5b6101008082121561248b57600080fd5b612493612349565b91508935825260208a0135602083015260408a0135604083015260608a0135606083015260808a0135608083015260a08a013560a083015260c08a013560c083015260e08a013560e08301528198506124ee8b828c016123b0565b97505050612500896101a08a016123b0565b945061250f610240890161239a565b935061251e610260890161239a565b925061252d610280890161244e565b915061253c6102a0890161239a565b905092959891949750929550565b6000806000806080858703121561256057600080fd5b6125698561239a565b93506125776020860161239a565b92506125856040860161239a565b91506125936060860161239a565b905092959194509250565b600080600080608085870312156125b457600080fd5b505082516020840151604085015160609095015191969095509092509050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60006020828403121561261557600080fd5b505191905056fea164736f6c6343000813000a";
|
|
667
667
|
|
|
668
668
|
type TransferWithAllowance64_64TestsContractConstructorParams =
|
|
669
669
|
| [signer?: Signer]
|
|
@@ -663,7 +663,7 @@ const _abi = [
|
|
|
663
663
|
] as const;
|
|
664
664
|
|
|
665
665
|
const _bytecode =
|
|
666
|
-
"0x608060405234801561001057600080fd5b50612638806100206000396000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c8063505b1e0c11610050578063505b1e0c146100f0578063f4fa211014610103578063f825a8e81461011657600080fd5b806333c92907146100775780634717f97c1461008c5780634b5611de146100dd575b600080fd5b61008a61008536600461246d565b610129565b005b60005460ff80821691610100810482169162010000820481169163010000009004165b6040805160ff9586168152938516602085015291151583830152909216606082015290519081900360800190f35b61008a6100eb36600461246d565b610766565b61008a6100fe36600461246d565b610ccc565b6100af610111366004612559565b611232565b61008a61012436600461246d565b6115f5565b60008060008061014b8b600001518c60e001518c602001518c60000151611b5b565b935093509350935061015c84611c48565b67ffffffffffffffff168860ff1614801561018b575061017b83611c48565b67ffffffffffffffff168760ff16145b80156101a2575061019b82611ceb565b1515861515145b80156101c257506101b281611c48565b67ffffffffffffffff168560ff16145b6102135760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c65640000000060448201526064015b60405180910390fd5b61022f8b60c001518c602001518c602001518c60000151611d7c565b9296509094509250905061024284611c48565b67ffffffffffffffff168860ff16148015610271575061026183611c48565b67ffffffffffffffff168760ff16145b8015610288575061028182611ceb565b1515861515145b80156102a8575061029881611c48565b67ffffffffffffffff168560ff16145b6102f45760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6103108b604001518c60e001518c602001518c60000151611d9c565b9296509094509250905061032384611c48565b67ffffffffffffffff168860ff16148015610352575061034283611c48565b67ffffffffffffffff168760ff16145b8015610369575061036282611ceb565b1515861515145b8015610389575061037981611c48565b67ffffffffffffffff168560ff16145b6103d55760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6103f18b60c001518c606001518c602001518c60000151611dbc565b9296509094509250905061040484611c48565b67ffffffffffffffff168860ff16148015610433575061042383611c48565b67ffffffffffffffff168760ff16145b801561044a575061044382611ceb565b1515861515145b801561046a575061045a81611c48565b67ffffffffffffffff168560ff16145b6104b65760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6104d28b60c001518c60e001518c602001518c60000151611ddc565b929650909450925090506104e584611c48565b67ffffffffffffffff168860ff16148015610514575061050483611c48565b67ffffffffffffffff168760ff16145b801561052b575061052482611ceb565b1515861515145b801561054b575061053b81611c48565b67ffffffffffffffff168560ff16145b6105975760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6105b38b608001518c60e001518c602001518c60000151611dfc565b929650909450925090506105c684611c48565b67ffffffffffffffff168860ff161480156105f557506105e583611c48565b67ffffffffffffffff168760ff16145b801561060c575061060582611ceb565b1515861515145b801561062c575061061c81611c48565b67ffffffffffffffff168560ff16145b6106785760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6106948b60c001518c60a001518c602001518c60000151611e1d565b929650909450925090506106a784611c48565b67ffffffffffffffff168860ff161480156106d657506106c683611c48565b67ffffffffffffffff168760ff16145b80156106ed57506106e682611ceb565b1515861515145b801561070d57506106fd81611c48565b67ffffffffffffffff168560ff16145b6107595760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b5050505050505050505050565b6000806000806107888b600001518c60e001518c600001518c60000151611e3e565b935093509350935061079984611c48565b67ffffffffffffffff168860ff161480156107c857506107b883611c48565b67ffffffffffffffff168760ff16145b80156107df57506107d882611ceb565b1515861515145b80156107ff57506107ef81611c48565b67ffffffffffffffff168560ff16145b61084b5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6108678b60c001518c602001518c600001518c60000151611e5d565b9296509094509250905061087a84611c48565b67ffffffffffffffff168860ff161480156108a9575061089983611c48565b67ffffffffffffffff168760ff16145b80156108c057506108b982611ceb565b1515861515145b80156108e057506108d081611c48565b67ffffffffffffffff168560ff16145b61092c5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6109488b60c001518c60e001518c600001518c60000151611e7c565b9296509094509250905061095b84611c48565b67ffffffffffffffff168860ff1614801561098a575061097a83611c48565b67ffffffffffffffff168760ff16145b80156109a1575061099a82611ceb565b1515861515145b80156109c157506109b181611c48565b67ffffffffffffffff168560ff16145b610a0d5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b610a298b604001518c60e001518c600001518c60000151611e9b565b92965090945092509050610a3c84611c48565b67ffffffffffffffff168860ff16148015610a6b5750610a5b83611c48565b67ffffffffffffffff168760ff16145b8015610a825750610a7b82611ceb565b1515861515145b8015610aa25750610a9281611c48565b67ffffffffffffffff168560ff16145b610aee5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b610b0a8b60c001518c606001518c600001518c60000151611ebb565b92965090945092509050610b1d84611c48565b67ffffffffffffffff168860ff16148015610b4c5750610b3c83611c48565b67ffffffffffffffff168760ff16145b8015610b635750610b5c82611ceb565b1515861515145b8015610b835750610b7381611c48565b67ffffffffffffffff168560ff16145b610bcf5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b610beb8b608001518c60e001518c600001518c60000151611edb565b92965090945092509050610bfe84611c48565b67ffffffffffffffff168860ff16148015610c2d5750610c1d83611c48565b67ffffffffffffffff168760ff16145b8015610c445750610c3d82611ceb565b1515861515145b8015610c645750610c5481611c48565b67ffffffffffffffff168560ff16145b610cb05760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6106948b60c001518c60a001518c600001518c60000151611efb565b600080600080610cee8b600001518c60e001518c606001518c60000151611f1b565b9350935093509350610cff84611c48565b67ffffffffffffffff168860ff16148015610d2e5750610d1e83611c48565b67ffffffffffffffff168760ff16145b8015610d455750610d3e82611ceb565b1515861515145b8015610d655750610d5581611c48565b67ffffffffffffffff168560ff16145b610db15760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b610dcd8b60c001518c602001518c606001518c60000151611f3a565b92965090945092509050610de084611c48565b67ffffffffffffffff168860ff16148015610e0f5750610dff83611c48565b67ffffffffffffffff168760ff16145b8015610e265750610e1f82611ceb565b1515861515145b8015610e465750610e3681611c48565b67ffffffffffffffff168560ff16145b610e925760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b610eae8b60c001518c60e001518c606001518c60000151611f59565b92965090945092509050610ec184611c48565b67ffffffffffffffff168860ff16148015610ef05750610ee083611c48565b67ffffffffffffffff168760ff16145b8015610f075750610f0082611ceb565b1515861515145b8015610f275750610f1781611c48565b67ffffffffffffffff168560ff16145b610f735760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b610f8f8b604001518c60e001518c606001518c60000151611f78565b92965090945092509050610fa284611c48565b67ffffffffffffffff168860ff16148015610fd15750610fc183611c48565b67ffffffffffffffff168760ff16145b8015610fe85750610fe182611ceb565b1515861515145b80156110085750610ff881611c48565b67ffffffffffffffff168560ff16145b6110545760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6110708b60c001518c606001518c606001518c60000151611f98565b9296509094509250905061108384611c48565b67ffffffffffffffff168860ff161480156110b257506110a283611c48565b67ffffffffffffffff168760ff16145b80156110c957506110c282611ceb565b1515861515145b80156110e957506110d981611c48565b67ffffffffffffffff168560ff16145b6111355760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6111518b608001518c60e001518c606001518c60000151611fb8565b9296509094509250905061116484611c48565b67ffffffffffffffff168860ff16148015611193575061118383611c48565b67ffffffffffffffff168760ff16145b80156111aa57506111a382611ceb565b1515861515145b80156111ca57506111ba81611c48565b67ffffffffffffffff168560ff16145b6112165760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6106948b60c001518c60a001518c606001518c60000151611fd8565b60008060008061128060405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6112b56040518060a0016040528060008152602001600081526020016000815260200160008152602001600060ff1681525090565b6112ea6040518060a0016040528060008152602001600081526020016000815260200160008152602001600060ff1681525090565b6112f38b611ff8565b83526112fe8a611ff8565b602084015261130f60ff8c16612061565b604084015261132060ff8b16612061565b606084015261133160ff8c166120cb565b608084015261134260ff8b166120cb565b60a084015261135360ff8c16612137565b60c084015261136460ff8b16612137565b60e084015261137289611ff8565b825261138060ff8a16612061565b602083015261139160ff8a166120cb565b60408301526113a260ff8a16612137565b606083015260ff891660808301526113b988611ff8565b81526113c760ff8916612061565b60208201526113d860ff89166120cb565b60408201526113e960ff8916612137565b606082015260ff881660808201528251602084015183518351600093849384938493611417939291906121a7565b9350935093509350611428846121c5565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff92909216919091179055611463836121c5565b600060016101000a81548160ff021916908360ff16021790555061148682611ceb565b6000805491151562010000027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff9092169190911790556114c5816121c5565b6000805460ff92831663010000009081027fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffff831681179384905561152c948c948c948c94938316908316179261010082048316926201000083048116929190910416610766565b60005461155d9088908890889060ff8082169161010081048216916201000082048116916301000000900416610129565b60005461158e9088908890889060ff80821691610100810482169162010000820481169163010000009004166115f5565b6000546115bf9088908890889060ff8082169161010081048216916201000082048116916301000000900416610ccc565b505060005460ff8082169f610100830482169f5062010000830482169e506301000000909204169b509950505050505050505050565b6000806000806116178b600001518c60e001518c604001518c600001516121d5565b935093509350935061162884611c48565b67ffffffffffffffff168860ff16148015611657575061164783611c48565b67ffffffffffffffff168760ff16145b801561166e575061166782611ceb565b1515861515145b801561168e575061167e81611c48565b67ffffffffffffffff168560ff16145b6116da5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6116f68b60c001518c602001518c604001518c600001516121f5565b9296509094509250905061170984611c48565b67ffffffffffffffff168860ff16148015611738575061172883611c48565b67ffffffffffffffff168760ff16145b801561174f575061174882611ceb565b1515861515145b801561176f575061175f81611c48565b67ffffffffffffffff168560ff16145b6117bb5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6117d78b608001518c60e001518c604001518c60000151612215565b929650909450925090506117ea84611c48565b67ffffffffffffffff168860ff16148015611819575061180983611c48565b67ffffffffffffffff168760ff16145b8015611830575061182982611ceb565b1515861515145b8015611850575061184081611c48565b67ffffffffffffffff168560ff16145b61189c5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6118b88b60c001518c60a001518c604001518c60000151612235565b929650909450925090506118cb84611c48565b67ffffffffffffffff168860ff161480156118fa57506118ea83611c48565b67ffffffffffffffff168760ff16145b8015611911575061190a82611ceb565b1515861515145b8015611931575061192181611c48565b67ffffffffffffffff168560ff16145b61197d5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6119998b604001518c60e001518c604001518c60000151612255565b929650909450925090506119ac84611c48565b67ffffffffffffffff168860ff161480156119db57506119cb83611c48565b67ffffffffffffffff168760ff16145b80156119f257506119eb82611ceb565b1515861515145b8015611a125750611a0281611c48565b67ffffffffffffffff168560ff16145b611a5e5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b611a7a8b60c001518c606001518c604001518c60000151612276565b92965090945092509050611a8d84611c48565b67ffffffffffffffff168860ff16148015611abc5750611aac83611c48565b67ffffffffffffffff168760ff16145b8015611ad35750611acc82611ceb565b1515861515145b8015611af35750611ae381611c48565b67ffffffffffffffff168560ff16145b611b3f5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6106948b60c001518c60e001518c604001518c60000151612297565b600080808080808080606463c2ff267a611b7b60016004600282876122b3565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffffffff0000000000000000000000000000000000000000000000000000009091166004820152602481018f9052604481018e9052606481018d9052608481018c905260a4016080604051808303816000875af1158015611c0e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c3291906125ad565b929f919e509c50909a5098505050505050505050565b60006064630cfed56160045b60f81b846040518363ffffffff1660e01b8152600401611ca29291907fff00000000000000000000000000000000000000000000000000000000000000929092168252602082015260400190565b6020604051808303816000875af1158015611cc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ce59190612612565b92915050565b6040517f0cfed56100000000000000000000000000000000000000000000000000000000815260006004820181905260248201839052908190606490630cfed561906044016020604051808303816000875af1158015611d4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d739190612612565b15159392505050565b600080808080808080606463c2ff267a611b7b60046001600281876122b3565b600080808080808080606463c2ff267a611b7b60026004816001876122b3565b600080808080808080606463c2ff267a611b7b60046002806001876122b3565b600080808080808080606463c2ff267a611b7b60048060026001876122b3565b600080808080808080606463c2ff267a611b7b6003600460026001876122b3565b600080808080808080606463c2ff267a611b7b6004600360026001876122b3565b600080808080808080606463c2ff267a611b7b600160048180876122b3565b600080808080808080606463c2ff267a611b7b600460018080876122b3565b600080808080808080606463c2ff267a611b7b600480600180876122b3565b600080808080808080606463c2ff267a611b7b60026004600180876122b3565b600080808080808080606463c2ff267a611b7b60046002600180876122b3565b600080808080808080606463c2ff267a611b7b60036004600180876122b3565b600080808080808080606463c2ff267a611b7b60046003600180876122b3565b600080808080808080606463c2ff267a611b7b600160048082876122b3565b600080808080808080606463c2ff267a611b7b600460018181876122b3565b600080808080808080606463c2ff267a611b7b600480806001876122b3565b600080808080808080606463c2ff267a611b7b60026004806001876122b3565b600080808080808080606463c2ff267a611b7b60046002816001876122b3565b600080808080808080606463c2ff267a611b7b60036004806001876122b3565b600080808080808080606463c2ff267a611b7b60046003816001876122b3565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0100000000000000000000000000000000000000000000000000000000000000600482015260ff8216602482015260009060649063d9b60b6090604401611ca2565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0200000000000000000000000000000000000000000000000000000000000000600482015261ffff8216602482015260009060649063d9b60b6090604401611ca2565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0300000000000000000000000000000000000000000000000000000000000000600482015263ffffffff8216602482015260009060649063d9b60b6090604401611ca2565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0400000000000000000000000000000000000000000000000000000000000000600482015267ffffffffffffffff8216602482015260009060649063d9b60b6090604401611ca2565b600080808080808080606463c2ff267a611b7b6001808080876122b3565b60006064630cfed5616001611c54565b600080808080808080606463c2ff267a611b7b60016004600382876122b3565b600080808080808080606463c2ff267a611b7b60046001600381876122b3565b600080808080808080606463c2ff267a611b7b60036004816001876122b3565b600080808080808080606463c2ff267a611b7b60046003806001876122b3565b600080808080808080606463c2ff267a611b7b6002600460036001876122b3565b600080808080808080606463c2ff267a611b7b6004600260036001876122b3565b600080808080808080606463c2ff267a611b7b60048060036001875b60008160028111156122c7576122c76125e3565b60ff1660088460048111156122de576122de6125e3565b61ffff16901b61ffff1660108660048111156122fc576122fc6125e3565b62ffffff16901b62ffffff16601888600481111561231c5761231c6125e3565b63ffffffff16901b63ffffffff1660208a600481111561233e5761233e6125e3565b64ffffffffff16901b1717171760d81b9695505050505050565b604051610100810167ffffffffffffffff811182821017156123a3577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405290565b803560ff811681146123ba57600080fd5b919050565b600060a082840312156123d157600080fd5b60405160a0810181811067ffffffffffffffff8211171561241b577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b806040525080915082358152602083013560208201526040830135604082015260608301356060820152612451608084016123a9565b60808201525092915050565b803580151581146123ba57600080fd5b60008060008060008060008789036102c081121561248a57600080fd5b6101008082121561249a57600080fd5b6124a2612358565b91508935825260208a0135602083015260408a0135604083015260608a0135606083015260808a0135608083015260a08a013560a083015260c08a013560c083015260e08a013560e08301528198506124fd8b828c016123bf565b9750505061250f896101a08a016123bf565b945061251e61024089016123a9565b935061252d61026089016123a9565b925061253c610280890161245d565b915061254b6102a089016123a9565b905092959891949750929550565b6000806000806080858703121561256f57600080fd5b612578856123a9565b9350612586602086016123a9565b9250612594604086016123a9565b91506125a2606086016123a9565b905092959194509250565b600080600080608085870312156125c357600080fd5b505082516020840151604085015160609095015191969095509092509050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60006020828403121561262457600080fd5b505191905056fea164736f6c6343000813000a";
|
|
666
|
+
"0x608060405234801561001057600080fd5b50612638806100206000396000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c8063505b1e0c11610050578063505b1e0c146100f0578063f4fa211014610103578063f825a8e81461011657600080fd5b806333c92907146100775780634717f97c1461008c5780634b5611de146100dd575b600080fd5b61008a61008536600461246d565b610129565b005b60005460ff80821691610100810482169162010000820481169163010000009004165b6040805160ff9586168152938516602085015291151583830152909216606082015290519081900360800190f35b61008a6100eb36600461246d565b610766565b61008a6100fe36600461246d565b610ccc565b6100af610111366004612559565b611232565b61008a61012436600461246d565b6115f5565b60008060008061014b8b600001518c60e001518c602001518c60000151611b5b565b935093509350935061015c84611c48565b67ffffffffffffffff168860ff1614801561018b575061017b83611c48565b67ffffffffffffffff168760ff16145b80156101a2575061019b82611ceb565b1515861515145b80156101c257506101b281611c48565b67ffffffffffffffff168560ff16145b6102135760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c65640000000060448201526064015b60405180910390fd5b61022f8b60c001518c602001518c602001518c60000151611d7c565b9296509094509250905061024284611c48565b67ffffffffffffffff168860ff16148015610271575061026183611c48565b67ffffffffffffffff168760ff16145b8015610288575061028182611ceb565b1515861515145b80156102a8575061029881611c48565b67ffffffffffffffff168560ff16145b6102f45760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6103108b604001518c60e001518c602001518c60000151611d9c565b9296509094509250905061032384611c48565b67ffffffffffffffff168860ff16148015610352575061034283611c48565b67ffffffffffffffff168760ff16145b8015610369575061036282611ceb565b1515861515145b8015610389575061037981611c48565b67ffffffffffffffff168560ff16145b6103d55760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6103f18b60c001518c606001518c602001518c60000151611dbc565b9296509094509250905061040484611c48565b67ffffffffffffffff168860ff16148015610433575061042383611c48565b67ffffffffffffffff168760ff16145b801561044a575061044382611ceb565b1515861515145b801561046a575061045a81611c48565b67ffffffffffffffff168560ff16145b6104b65760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6104d28b60c001518c60e001518c602001518c60000151611ddc565b929650909450925090506104e584611c48565b67ffffffffffffffff168860ff16148015610514575061050483611c48565b67ffffffffffffffff168760ff16145b801561052b575061052482611ceb565b1515861515145b801561054b575061053b81611c48565b67ffffffffffffffff168560ff16145b6105975760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6105b38b608001518c60e001518c602001518c60000151611dfc565b929650909450925090506105c684611c48565b67ffffffffffffffff168860ff161480156105f557506105e583611c48565b67ffffffffffffffff168760ff16145b801561060c575061060582611ceb565b1515861515145b801561062c575061061c81611c48565b67ffffffffffffffff168560ff16145b6106785760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6106948b60c001518c60a001518c602001518c60000151611e1d565b929650909450925090506106a784611c48565b67ffffffffffffffff168860ff161480156106d657506106c683611c48565b67ffffffffffffffff168760ff16145b80156106ed57506106e682611ceb565b1515861515145b801561070d57506106fd81611c48565b67ffffffffffffffff168560ff16145b6107595760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b5050505050505050505050565b6000806000806107888b600001518c60e001518c600001518c60000151611e3e565b935093509350935061079984611c48565b67ffffffffffffffff168860ff161480156107c857506107b883611c48565b67ffffffffffffffff168760ff16145b80156107df57506107d882611ceb565b1515861515145b80156107ff57506107ef81611c48565b67ffffffffffffffff168560ff16145b61084b5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6108678b60c001518c602001518c600001518c60000151611e5d565b9296509094509250905061087a84611c48565b67ffffffffffffffff168860ff161480156108a9575061089983611c48565b67ffffffffffffffff168760ff16145b80156108c057506108b982611ceb565b1515861515145b80156108e057506108d081611c48565b67ffffffffffffffff168560ff16145b61092c5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6109488b60c001518c60e001518c600001518c60000151611e7c565b9296509094509250905061095b84611c48565b67ffffffffffffffff168860ff1614801561098a575061097a83611c48565b67ffffffffffffffff168760ff16145b80156109a1575061099a82611ceb565b1515861515145b80156109c157506109b181611c48565b67ffffffffffffffff168560ff16145b610a0d5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b610a298b604001518c60e001518c600001518c60000151611e9b565b92965090945092509050610a3c84611c48565b67ffffffffffffffff168860ff16148015610a6b5750610a5b83611c48565b67ffffffffffffffff168760ff16145b8015610a825750610a7b82611ceb565b1515861515145b8015610aa25750610a9281611c48565b67ffffffffffffffff168560ff16145b610aee5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b610b0a8b60c001518c606001518c600001518c60000151611ebb565b92965090945092509050610b1d84611c48565b67ffffffffffffffff168860ff16148015610b4c5750610b3c83611c48565b67ffffffffffffffff168760ff16145b8015610b635750610b5c82611ceb565b1515861515145b8015610b835750610b7381611c48565b67ffffffffffffffff168560ff16145b610bcf5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b610beb8b608001518c60e001518c600001518c60000151611edb565b92965090945092509050610bfe84611c48565b67ffffffffffffffff168860ff16148015610c2d5750610c1d83611c48565b67ffffffffffffffff168760ff16145b8015610c445750610c3d82611ceb565b1515861515145b8015610c645750610c5481611c48565b67ffffffffffffffff168560ff16145b610cb05760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6106948b60c001518c60a001518c600001518c60000151611efb565b600080600080610cee8b600001518c60e001518c606001518c60000151611f1b565b9350935093509350610cff84611c48565b67ffffffffffffffff168860ff16148015610d2e5750610d1e83611c48565b67ffffffffffffffff168760ff16145b8015610d455750610d3e82611ceb565b1515861515145b8015610d655750610d5581611c48565b67ffffffffffffffff168560ff16145b610db15760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b610dcd8b60c001518c602001518c606001518c60000151611f3a565b92965090945092509050610de084611c48565b67ffffffffffffffff168860ff16148015610e0f5750610dff83611c48565b67ffffffffffffffff168760ff16145b8015610e265750610e1f82611ceb565b1515861515145b8015610e465750610e3681611c48565b67ffffffffffffffff168560ff16145b610e925760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b610eae8b60c001518c60e001518c606001518c60000151611f59565b92965090945092509050610ec184611c48565b67ffffffffffffffff168860ff16148015610ef05750610ee083611c48565b67ffffffffffffffff168760ff16145b8015610f075750610f0082611ceb565b1515861515145b8015610f275750610f1781611c48565b67ffffffffffffffff168560ff16145b610f735760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b610f8f8b604001518c60e001518c606001518c60000151611f78565b92965090945092509050610fa284611c48565b67ffffffffffffffff168860ff16148015610fd15750610fc183611c48565b67ffffffffffffffff168760ff16145b8015610fe85750610fe182611ceb565b1515861515145b80156110085750610ff881611c48565b67ffffffffffffffff168560ff16145b6110545760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6110708b60c001518c606001518c606001518c60000151611f98565b9296509094509250905061108384611c48565b67ffffffffffffffff168860ff161480156110b257506110a283611c48565b67ffffffffffffffff168760ff16145b80156110c957506110c282611ceb565b1515861515145b80156110e957506110d981611c48565b67ffffffffffffffff168560ff16145b6111355760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6111518b608001518c60e001518c606001518c60000151611fb8565b9296509094509250905061116484611c48565b67ffffffffffffffff168860ff16148015611193575061118383611c48565b67ffffffffffffffff168760ff16145b80156111aa57506111a382611ceb565b1515861515145b80156111ca57506111ba81611c48565b67ffffffffffffffff168560ff16145b6112165760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6106948b60c001518c60a001518c606001518c60000151611fd8565b60008060008061128060405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6112b56040518060a0016040528060008152602001600081526020016000815260200160008152602001600060ff1681525090565b6112ea6040518060a0016040528060008152602001600081526020016000815260200160008152602001600060ff1681525090565b6112f38b611ff8565b83526112fe8a611ff8565b602084015261130f60ff8c16612061565b604084015261132060ff8b16612061565b606084015261133160ff8c166120cb565b608084015261134260ff8b166120cb565b60a084015261135360ff8c16612137565b60c084015261136460ff8b16612137565b60e084015261137289611ff8565b825261138060ff8a16612061565b602083015261139160ff8a166120cb565b60408301526113a260ff8a16612137565b606083015260ff891660808301526113b988611ff8565b81526113c760ff8916612061565b60208201526113d860ff89166120cb565b60408201526113e960ff8916612137565b606082015260ff881660808201528251602084015183518351600093849384938493611417939291906121a7565b9350935093509350611428846121c5565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff92909216919091179055611463836121c5565b600060016101000a81548160ff021916908360ff16021790555061148682611ceb565b6000805491151562010000027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff9092169190911790556114c5816121c5565b6000805460ff92831663010000009081027fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffff831681179384905561152c948c948c948c94938316908316179261010082048316926201000083048116929190910416610766565b60005461155d9088908890889060ff8082169161010081048216916201000082048116916301000000900416610129565b60005461158e9088908890889060ff80821691610100810482169162010000820481169163010000009004166115f5565b6000546115bf9088908890889060ff8082169161010081048216916201000082048116916301000000900416610ccc565b505060005460ff8082169f610100830482169f5062010000830482169e506301000000909204169b509950505050505050505050565b6000806000806116178b600001518c60e001518c604001518c600001516121d5565b935093509350935061162884611c48565b67ffffffffffffffff168860ff16148015611657575061164783611c48565b67ffffffffffffffff168760ff16145b801561166e575061166782611ceb565b1515861515145b801561168e575061167e81611c48565b67ffffffffffffffff168560ff16145b6116da5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6116f68b60c001518c602001518c604001518c600001516121f5565b9296509094509250905061170984611c48565b67ffffffffffffffff168860ff16148015611738575061172883611c48565b67ffffffffffffffff168760ff16145b801561174f575061174882611ceb565b1515861515145b801561176f575061175f81611c48565b67ffffffffffffffff168560ff16145b6117bb5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6117d78b608001518c60e001518c604001518c60000151612215565b929650909450925090506117ea84611c48565b67ffffffffffffffff168860ff16148015611819575061180983611c48565b67ffffffffffffffff168760ff16145b8015611830575061182982611ceb565b1515861515145b8015611850575061184081611c48565b67ffffffffffffffff168560ff16145b61189c5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6118b88b60c001518c60a001518c604001518c60000151612235565b929650909450925090506118cb84611c48565b67ffffffffffffffff168860ff161480156118fa57506118ea83611c48565b67ffffffffffffffff168760ff16145b8015611911575061190a82611ceb565b1515861515145b8015611931575061192181611c48565b67ffffffffffffffff168560ff16145b61197d5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6119998b604001518c60e001518c604001518c60000151612255565b929650909450925090506119ac84611c48565b67ffffffffffffffff168860ff161480156119db57506119cb83611c48565b67ffffffffffffffff168760ff16145b80156119f257506119eb82611ceb565b1515861515145b8015611a125750611a0281611c48565b67ffffffffffffffff168560ff16145b611a5e5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b611a7a8b60c001518c606001518c604001518c60000151612276565b92965090945092509050611a8d84611c48565b67ffffffffffffffff168860ff16148015611abc5750611aac83611c48565b67ffffffffffffffff168760ff16145b8015611ad35750611acc82611ceb565b1515861515145b8015611af35750611ae381611c48565b67ffffffffffffffff168560ff16145b611b3f5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6106948b60c001518c60e001518c604001518c60000151612297565b600080808080808080606463c2ff267a611b7b60016004600282876122b3565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffffffff0000000000000000000000000000000000000000000000000000009091166004820152602481018f9052604481018e9052606481018d9052608481018c905260a4016080604051808303816000875af1158015611c0e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c3291906125ad565b929f919e509c50909a5098505050505050505050565b60006064630cfed56160045b60f81b846040518363ffffffff1660e01b8152600401611ca29291907fff00000000000000000000000000000000000000000000000000000000000000929092168252602082015260400190565b6020604051808303816000875af1158015611cc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ce59190612612565b92915050565b6040517f0cfed56100000000000000000000000000000000000000000000000000000000815260006004820181905260248201839052908190606490630cfed561906044016020604051808303816000875af1158015611d4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d739190612612565b15159392505050565b600080808080808080606463c2ff267a611b7b60046001600281876122b3565b600080808080808080606463c2ff267a611b7b60026004816001876122b3565b600080808080808080606463c2ff267a611b7b60046002806001876122b3565b600080808080808080606463c2ff267a611b7b60048060026001876122b3565b600080808080808080606463c2ff267a611b7b6003600460026001876122b3565b600080808080808080606463c2ff267a611b7b6004600360026001876122b3565b600080808080808080606463c2ff267a611b7b600160048180876122b3565b600080808080808080606463c2ff267a611b7b600460018080876122b3565b600080808080808080606463c2ff267a611b7b600480600180876122b3565b600080808080808080606463c2ff267a611b7b60026004600180876122b3565b600080808080808080606463c2ff267a611b7b60046002600180876122b3565b600080808080808080606463c2ff267a611b7b60036004600180876122b3565b600080808080808080606463c2ff267a611b7b60046003600180876122b3565b600080808080808080606463c2ff267a611b7b600160048082876122b3565b600080808080808080606463c2ff267a611b7b600460018181876122b3565b600080808080808080606463c2ff267a611b7b600480806001876122b3565b600080808080808080606463c2ff267a611b7b60026004806001876122b3565b600080808080808080606463c2ff267a611b7b60046002816001876122b3565b600080808080808080606463c2ff267a611b7b60036004806001876122b3565b600080808080808080606463c2ff267a611b7b60046003816001876122b3565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0100000000000000000000000000000000000000000000000000000000000000600482015260ff8216602482015260009060649063d9b60b6090604401611ca2565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0200000000000000000000000000000000000000000000000000000000000000600482015261ffff8216602482015260009060649063d9b60b6090604401611ca2565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0300000000000000000000000000000000000000000000000000000000000000600482015263ffffffff8216602482015260009060649063d9b60b6090604401611ca2565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0400000000000000000000000000000000000000000000000000000000000000600482015267ffffffffffffffff8216602482015260009060649063d9b60b6090604401611ca2565b600080808080808080606463c2ff267a611b7b6001808080876122b3565b60006064630cfed5616001611c54565b600080808080808080606463c2ff267a611b7b60016004600382876122b3565b600080808080808080606463c2ff267a611b7b60046001600381876122b3565b600080808080808080606463c2ff267a611b7b60036004816001876122b3565b600080808080808080606463c2ff267a611b7b60046003806001876122b3565b600080808080808080606463c2ff267a611b7b6002600460036001876122b3565b600080808080808080606463c2ff267a611b7b6004600260036001876122b3565b600080808080808080606463c2ff267a611b7b60048060036001875b60008160028111156122c7576122c76125e3565b60ff1660088460068111156122de576122de6125e3565b61ffff16901b61ffff1660108660068111156122fc576122fc6125e3565b62ffffff16901b62ffffff16601888600681111561231c5761231c6125e3565b63ffffffff16901b63ffffffff1660208a600681111561233e5761233e6125e3565b64ffffffffff16901b1717171760d81b9695505050505050565b604051610100810167ffffffffffffffff811182821017156123a3577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405290565b803560ff811681146123ba57600080fd5b919050565b600060a082840312156123d157600080fd5b60405160a0810181811067ffffffffffffffff8211171561241b577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b806040525080915082358152602083013560208201526040830135604082015260608301356060820152612451608084016123a9565b60808201525092915050565b803580151581146123ba57600080fd5b60008060008060008060008789036102c081121561248a57600080fd5b6101008082121561249a57600080fd5b6124a2612358565b91508935825260208a0135602083015260408a0135604083015260608a0135606083015260808a0135608083015260a08a013560a083015260c08a013560c083015260e08a013560e08301528198506124fd8b828c016123bf565b9750505061250f896101a08a016123bf565b945061251e61024089016123a9565b935061252d61026089016123a9565b925061253c610280890161245d565b915061254b6102a089016123a9565b905092959891949750929550565b6000806000806080858703121561256f57600080fd5b612578856123a9565b9350612586602086016123a9565b9250612594604086016123a9565b91506125a2606086016123a9565b905092959194509250565b600080600080608085870312156125c357600080fd5b505082516020840151604085015160609095015191969095509092509050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60006020828403121561262457600080fd5b505191905056fea164736f6c6343000813000a";
|
|
667
667
|
|
|
668
668
|
type TransferWithAllowance64_8TestsContractConstructorParams =
|
|
669
669
|
| [signer?: Signer]
|
|
@@ -446,7 +446,7 @@ const _abi = [
|
|
|
446
446
|
] as const;
|
|
447
447
|
|
|
448
448
|
const _bytecode =
|
|
449
|
-
"0x608060405234801561001057600080fd5b50614974806100206000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c8063cf69b04711610050578063cf69b047146100d0578063d6c7c82e146100e5578063ff3f9ffa146100f857600080fd5b80634717f97c1461006c578063c906aa5b146100bd575b600080fd5b60005460ff80821691610100810482169162010000820481169163010000009004165b6040805160ff9586168152938516602085015291151583830152909216606082015290519081900360800190f35b61008f6100cb366004614633565b61010b565b6100e36100de366004614844565b6103dc565b005b6100e36100f3366004614844565b610b03565b6100e3610106366004614844565b611a8d565b60008060008061015960405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6040805160808101825260008082526020820181905291810182905260608101919091526101b26040518060a0016040528060008152602001600081526020016000815260200160008152602001600060ff1681525090565b6101bb8b6139f1565b83526101c68a6139f1565b60208401526101d760ff8c16613a9f565b60408401526101e860ff8b16613a9f565b60608401526101f960ff8c16613b09565b608084015261020a60ff8b16613b09565b60a084015261021b60ff8c16613b75565b60c084015261022c60ff8b16613b75565b60e084015260ff891680835260208301819052604083018190526060830152610254886139f1565b815261026260ff8916613a9f565b602082015261027360ff8916613b09565b604082015261028460ff8916613b75565b81606001818152505087816080019060ff16908160ff16815250506000806000806102bd876000015188602001518f8860000151613be5565b93509350935093506102ce84613cd3565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff9290921691909117905561030983613cd3565b600060016101000a81548160ff021916908360ff16021790555061032c82613d2d565b6000805491151562010000027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff90921691909117905561036b81613cd3565b600060036101000a81548160ff021916908360ff1602179055506103908787876103dc565b61039b878787610b03565b6103a6878787611a8d565b505060005460ff8082169f610100830482169f5062010000830482169e506301000000909204169b509950505050505050505050565b6000806000806103fe8760400151886060015188602001518860200151613dbe565b935093509350935061040f84613e59565b60005460ff1661ffff91909116148015610442575061042d83613e59565b60005460ff6101009091041661ffff91909116145b8015610466575061045282613d2d565b60005460ff62010000909104161515901515145b801561048d575061047681613e59565b60005460ff63010000009091041661ffff91909116145b6104e85760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084015b60405180910390fd5b6105048760400151886060015188602001518860200151613dbe565b9296509094509250905061051784613e59565b60005460ff1661ffff9190911614801561054a575061053583613e59565b60005460ff6101009091041661ffff91909116145b801561056e575061055a82613d2d565b60005460ff62010000909104161515901515145b8015610595575061057e81613e59565b60005460ff63010000009091041661ffff91909116145b6105eb5760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b6106078760000151886060015188602001518860200151613e69565b9296509094509250905061061a84613e59565b60005460ff1661ffff9190911614801561064d575061063883613e59565b60005460ff6101009091041661ffff91909116145b8015610671575061065d82613d2d565b60005460ff62010000909104161515901515145b8015610698575061068181613e59565b60005460ff63010000009091041661ffff91909116145b6106ee5760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b61070a8760400151886020015188602001518860200151613e88565b9296509094509250905061071d84613e59565b60005460ff1661ffff91909116148015610750575061073b83613e59565b60005460ff6101009091041661ffff91909116145b8015610774575061076082613d2d565b60005460ff62010000909104161515901515145b801561079b575061078481613e59565b60005460ff63010000009091041661ffff91909116145b6107f15760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b61080d8760400151886060015188602001518860000151613ea7565b9296509094509250905061082084613e59565b60005460ff1661ffff91909116148015610853575061083e83613e59565b60005460ff6101009091041661ffff91909116145b8015610877575061086382613d2d565b60005460ff62010000909104161515901515145b801561089e575061088781613e59565b60005460ff63010000009091041661ffff91909116145b6108f45760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b6109108760000151886060015188602001518860000151613ec6565b9296509094509250905061092384613e59565b60005460ff1661ffff91909116148015610956575061094183613e59565b60005460ff6101009091041661ffff91909116145b801561097a575061096682613d2d565b60005460ff62010000909104161515901515145b80156109a1575061098a81613e59565b60005460ff63010000009091041661ffff91909116145b6109f75760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b610a138760400151886020015188602001518860000151613ee5565b92965090945092509050610a2684613e59565b60005460ff1661ffff91909116148015610a595750610a4483613e59565b60005460ff6101009091041661ffff91909116145b8015610a7d5750610a6982613d2d565b60005460ff62010000909104161515901515145b8015610aa45750610a8d81613e59565b60005460ff63010000009091041661ffff91909116145b610afa5760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b50505050505050565b600080600080610b2587608001518860a0015188604001518860400151613f04565b9350935093509350610b3684613fa1565b60005460ff1663ffffffff91909116148015610b6d5750610b5683613fa1565b60005460ff6101009091041663ffffffff91909116145b8015610b915750610b7d82613d2d565b60005460ff62010000909104161515901515145b8015610bba5750610ba181613fa1565b60005460ff63010000009091041663ffffffff91909116145b610c105760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b610c2c87600001518860a0015188604001518860400151613fb1565b92965090945092509050610c3f84613fa1565b60005460ff1663ffffffff91909116148015610c765750610c5f83613fa1565b60005460ff6101009091041663ffffffff91909116145b8015610c9a5750610c8682613d2d565b60005460ff62010000909104161515901515145b8015610cc35750610caa81613fa1565b60005460ff63010000009091041663ffffffff91909116145b610d195760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b610d358760800151886020015188604001518860400151613fd0565b92965090945092509050610d4884613fa1565b60005460ff1663ffffffff91909116148015610d7f5750610d6883613fa1565b60005460ff6101009091041663ffffffff91909116145b8015610da35750610d8f82613d2d565b60005460ff62010000909104161515901515145b8015610dcc5750610db381613fa1565b60005460ff63010000009091041663ffffffff91909116145b610e225760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b610e3e87604001518860a0015188604001518860400151613fef565b92965090945092509050610e5184613fa1565b60005460ff1663ffffffff91909116148015610e885750610e7183613fa1565b60005460ff6101009091041663ffffffff91909116145b8015610eac5750610e9882613d2d565b60005460ff62010000909104161515901515145b8015610ed55750610ebc81613fa1565b60005460ff63010000009091041663ffffffff91909116145b610f2b5760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b610f47876080015188606001518860400151886040015161400f565b92965090945092509050610f5a84613fa1565b60005460ff1663ffffffff91909116148015610f915750610f7a83613fa1565b60005460ff6101009091041663ffffffff91909116145b8015610fb55750610fa182613d2d565b60005460ff62010000909104161515901515145b8015610fde5750610fc581613fa1565b60005460ff63010000009091041663ffffffff91909116145b6110345760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b61105087608001518860a001518860400151886000015161402f565b9296509094509250905061106384613fa1565b60005460ff1663ffffffff9190911614801561109a575061108383613fa1565b60005460ff6101009091041663ffffffff91909116145b80156110be57506110aa82613d2d565b60005460ff62010000909104161515901515145b80156110e757506110ce81613fa1565b60005460ff63010000009091041663ffffffff91909116145b61113d5760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b61115987600001518860a001518860400151886000015161404e565b9296509094509250905061116c84613fa1565b60005460ff1663ffffffff919091161480156111a3575061118c83613fa1565b60005460ff6101009091041663ffffffff91909116145b80156111c757506111b382613d2d565b60005460ff62010000909104161515901515145b80156111f057506111d781613fa1565b60005460ff63010000009091041663ffffffff91909116145b6112465760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b611262876080015188602001518860400151886000015161406d565b9296509094509250905061127584613fa1565b60005460ff1663ffffffff919091161480156112ac575061129583613fa1565b60005460ff6101009091041663ffffffff91909116145b80156112d057506112bc82613d2d565b60005460ff62010000909104161515901515145b80156112f957506112e081613fa1565b60005460ff63010000009091041663ffffffff91909116145b61134f5760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b61136b87604001518860a001518860400151886000015161408c565b9296509094509250905061137e84613fa1565b60005460ff1663ffffffff919091161480156113b5575061139e83613fa1565b60005460ff6101009091041663ffffffff91909116145b80156113d957506113c582613d2d565b60005460ff62010000909104161515901515145b801561140257506113e981613fa1565b60005460ff63010000009091041663ffffffff91909116145b6114585760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b61147487608001518860600151886040015188600001516140ac565b9296509094509250905061148784613fa1565b60005460ff1663ffffffff919091161480156114be57506114a783613fa1565b60005460ff6101009091041663ffffffff91909116145b80156114e257506114ce82613d2d565b60005460ff62010000909104161515901515145b801561150b57506114f281613fa1565b60005460ff63010000009091041663ffffffff91909116145b6115615760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b61157d87608001518860a00151886040015188602001516140cc565b9296509094509250905061159084613fa1565b60005460ff1663ffffffff919091161480156115c757506115b083613fa1565b60005460ff6101009091041663ffffffff91909116145b80156115eb57506115d782613d2d565b60005460ff62010000909104161515901515145b801561161457506115fb81613fa1565b60005460ff63010000009091041663ffffffff91909116145b61166a5760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b61168687600001518860a00151886040015188602001516140ec565b9296509094509250905061169984613fa1565b60005460ff1663ffffffff919091161480156116d057506116b983613fa1565b60005460ff6101009091041663ffffffff91909116145b80156116f457506116e082613d2d565b60005460ff62010000909104161515901515145b801561171d575061170481613fa1565b60005460ff63010000009091041663ffffffff91909116145b6117735760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b61178f876080015188602001518860400151886020015161410c565b929650909450925090506117a284613fa1565b60005460ff1663ffffffff919091161480156117d957506117c283613fa1565b60005460ff6101009091041663ffffffff91909116145b80156117fd57506117e982613d2d565b60005460ff62010000909104161515901515145b8015611826575061180d81613fa1565b60005460ff63010000009091041663ffffffff91909116145b61187c5760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b61189887604001518860a001518860400151886020015161412c565b929650909450925090506118ab84613fa1565b60005460ff1663ffffffff919091161480156118e257506118cb83613fa1565b60005460ff6101009091041663ffffffff91909116145b801561190657506118f282613d2d565b60005460ff62010000909104161515901515145b801561192f575061191681613fa1565b60005460ff63010000009091041663ffffffff91909116145b6119855760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b6119a1876080015188606001518860400151886020015161414c565b929650909450925090506119b484613fa1565b60005460ff1663ffffffff919091161480156119eb57506119d483613fa1565b60005460ff6101009091041663ffffffff91909116145b8015611a0f57506119fb82613d2d565b60005460ff62010000909104161515901515145b8015610aa45750611a1f81613fa1565b60005460ff63010000009091041663ffffffff9190911614610afa5760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b600080600080611aaf8760c001518860e001518860600151886060015161416c565b9350935093509350611ac08461420d565b60005460ff1667ffffffffffffffff91909116148015611aff5750611ae48361420d565b60005460ff6101009091041667ffffffffffffffff91909116145b8015611b235750611b0f82613d2d565b60005460ff62010000909104161515901515145b8015611b505750611b338161420d565b60005460ff63010000009091041667ffffffffffffffff91909116145b611ba65760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b611bc28760c001518860e001518860600151886060015161416c565b92965090945092509050611bd58461420d565b60005460ff1667ffffffffffffffff91909116148015611c145750611bf98361420d565b60005460ff6101009091041667ffffffffffffffff91909116145b8015611c385750611c2482613d2d565b60005460ff62010000909104161515901515145b8015611c655750611c488161420d565b60005460ff63010000009091041667ffffffffffffffff91909116145b611cbb5760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b611cd787600001518860e001518860600151886060015161421d565b92965090945092509050611cea8461420d565b60005460ff1667ffffffffffffffff91909116148015611d295750611d0e8361420d565b60005460ff6101009091041667ffffffffffffffff91909116145b8015611d4d5750611d3982613d2d565b60005460ff62010000909104161515901515145b8015611d7a5750611d5d8161420d565b60005460ff63010000009091041667ffffffffffffffff91909116145b611dd05760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b611dec8760c0015188602001518860600151886060015161423c565b92965090945092509050611dff8461420d565b60005460ff1667ffffffffffffffff91909116148015611e3e5750611e238361420d565b60005460ff6101009091041667ffffffffffffffff91909116145b8015611e625750611e4e82613d2d565b60005460ff62010000909104161515901515145b8015611e8f5750611e728161420d565b60005460ff63010000009091041667ffffffffffffffff91909116145b611ee55760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b611f0187604001518860e001518860600151886060015161425b565b92965090945092509050611f148461420d565b60005460ff1667ffffffffffffffff91909116148015611f535750611f388361420d565b60005460ff6101009091041667ffffffffffffffff91909116145b8015611f775750611f6382613d2d565b60005460ff62010000909104161515901515145b8015611fa45750611f878161420d565b60005460ff63010000009091041667ffffffffffffffff91909116145b611ffa5760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b6120168760c0015188606001518860600151886060015161427b565b929650909450925090506120298461420d565b60005460ff1667ffffffffffffffff91909116148015612068575061204d8361420d565b60005460ff6101009091041667ffffffffffffffff91909116145b801561208c575061207882613d2d565b60005460ff62010000909104161515901515145b80156120b9575061209c8161420d565b60005460ff63010000009091041667ffffffffffffffff91909116145b61210f5760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b61212b87608001518860e001518860600151886060015161429b565b9296509094509250905061213e8461420d565b60005460ff1667ffffffffffffffff9190911614801561217d57506121628361420d565b60005460ff6101009091041667ffffffffffffffff91909116145b80156121a1575061218d82613d2d565b60005460ff62010000909104161515901515145b80156121ce57506121b18161420d565b60005460ff63010000009091041667ffffffffffffffff91909116145b6122245760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b6122408760c001518860a00151886060015188606001516142bb565b929650909450925090506122538461420d565b60005460ff1667ffffffffffffffff9190911614801561229257506122778361420d565b60005460ff6101009091041667ffffffffffffffff91909116145b80156122b657506122a282613d2d565b60005460ff62010000909104161515901515145b80156122e357506122c68161420d565b60005460ff63010000009091041667ffffffffffffffff91909116145b6123395760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b6123558760c001518860e00151886060015188600001516142db565b929650909450925090506123688461420d565b60005460ff1667ffffffffffffffff919091161480156123a7575061238c8361420d565b60005460ff6101009091041667ffffffffffffffff91909116145b80156123cb57506123b782613d2d565b60005460ff62010000909104161515901515145b80156123f857506123db8161420d565b60005460ff63010000009091041667ffffffffffffffff91909116145b61244e5760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b61246a87600001518860e00151886060015188600001516142fa565b9296509094509250905061247d8461420d565b60005460ff1667ffffffffffffffff919091161480156124bc57506124a18361420d565b60005460ff6101009091041667ffffffffffffffff91909116145b80156124e057506124cc82613d2d565b60005460ff62010000909104161515901515145b801561250d57506124f08161420d565b60005460ff63010000009091041667ffffffffffffffff91909116145b6125635760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b61257f8760c00151886020015188606001518860000151614319565b929650909450925090506125928461420d565b60005460ff1667ffffffffffffffff919091161480156125d157506125b68361420d565b60005460ff6101009091041667ffffffffffffffff91909116145b80156125f557506125e182613d2d565b60005460ff62010000909104161515901515145b801561262257506126058161420d565b60005460ff63010000009091041667ffffffffffffffff91909116145b6126785760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b61269487604001518860e0015188606001518860000151614338565b929650909450925090506126a78461420d565b60005460ff1667ffffffffffffffff919091161480156126e657506126cb8361420d565b60005460ff6101009091041667ffffffffffffffff91909116145b801561270a57506126f682613d2d565b60005460ff62010000909104161515901515145b8015612737575061271a8161420d565b60005460ff63010000009091041667ffffffffffffffff91909116145b61278d5760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b6127a98760c00151886060015188606001518860000151614358565b929650909450925090506127bc8461420d565b60005460ff1667ffffffffffffffff919091161480156127fb57506127e08361420d565b60005460ff6101009091041667ffffffffffffffff91909116145b801561281f575061280b82613d2d565b60005460ff62010000909104161515901515145b801561284c575061282f8161420d565b60005460ff63010000009091041667ffffffffffffffff91909116145b6128a25760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b6128be87608001518860e0015188606001518860000151614378565b929650909450925090506128d18461420d565b60005460ff1667ffffffffffffffff9190911614801561291057506128f58361420d565b60005460ff6101009091041667ffffffffffffffff91909116145b8015612934575061292082613d2d565b60005460ff62010000909104161515901515145b801561296157506129448161420d565b60005460ff63010000009091041667ffffffffffffffff91909116145b6129b75760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b6129d38760c001518860a0015188606001518860000151614398565b929650909450925090506129e68461420d565b60005460ff1667ffffffffffffffff91909116148015612a255750612a0a8361420d565b60005460ff6101009091041667ffffffffffffffff91909116145b8015612a495750612a3582613d2d565b60005460ff62010000909104161515901515145b8015612a765750612a598161420d565b60005460ff63010000009091041667ffffffffffffffff91909116145b612acc5760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b612ae88760c001518860e00151886060015188602001516143b8565b92965090945092509050612afb8461420d565b60005460ff1667ffffffffffffffff91909116148015612b3a5750612b1f8361420d565b60005460ff6101009091041667ffffffffffffffff91909116145b8015612b5e5750612b4a82613d2d565b60005460ff62010000909104161515901515145b8015612b8b5750612b6e8161420d565b60005460ff63010000009091041667ffffffffffffffff91909116145b612be15760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b612bfd87600001518860e00151886060015188602001516143d8565b92965090945092509050612c108461420d565b60005460ff1667ffffffffffffffff91909116148015612c4f5750612c348361420d565b60005460ff6101009091041667ffffffffffffffff91909116145b8015612c735750612c5f82613d2d565b60005460ff62010000909104161515901515145b8015612ca05750612c838161420d565b60005460ff63010000009091041667ffffffffffffffff91909116145b612cf65760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b612d128760c001518860200151886060015188602001516143f8565b92965090945092509050612d258461420d565b60005460ff1667ffffffffffffffff91909116148015612d645750612d498361420d565b60005460ff6101009091041667ffffffffffffffff91909116145b8015612d885750612d7482613d2d565b60005460ff62010000909104161515901515145b8015612db55750612d988161420d565b60005460ff63010000009091041667ffffffffffffffff91909116145b612e0b5760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b612e2787604001518860e0015188606001518860200151614418565b92965090945092509050612e3a8461420d565b60005460ff1667ffffffffffffffff91909116148015612e795750612e5e8361420d565b60005460ff6101009091041667ffffffffffffffff91909116145b8015612e9d5750612e8982613d2d565b60005460ff62010000909104161515901515145b8015612eca5750612ead8161420d565b60005460ff63010000009091041667ffffffffffffffff91909116145b612f205760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b612f3c8760c00151886060015188606001518860200151614438565b92965090945092509050612f4f8461420d565b60005460ff1667ffffffffffffffff91909116148015612f8e5750612f738361420d565b60005460ff6101009091041667ffffffffffffffff91909116145b8015612fb25750612f9e82613d2d565b60005460ff62010000909104161515901515145b8015612fdf5750612fc28161420d565b60005460ff63010000009091041667ffffffffffffffff91909116145b6130355760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b61305187608001518860e0015188606001518860200151614458565b929650909450925090506130648461420d565b60005460ff1667ffffffffffffffff919091161480156130a357506130888361420d565b60005460ff6101009091041667ffffffffffffffff91909116145b80156130c757506130b382613d2d565b60005460ff62010000909104161515901515145b80156130f457506130d78161420d565b60005460ff63010000009091041667ffffffffffffffff91909116145b61314a5760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b6131668760c001518860a0015188606001518860200151614479565b929650909450925090506131798461420d565b60005460ff1667ffffffffffffffff919091161480156131b8575061319d8361420d565b60005460ff6101009091041667ffffffffffffffff91909116145b80156131dc57506131c882613d2d565b60005460ff62010000909104161515901515145b801561320957506131ec8161420d565b60005460ff63010000009091041667ffffffffffffffff91909116145b61325f5760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b61327b8760c001518860e001518860600151886040015161449a565b9296509094509250905061328e8461420d565b60005460ff1667ffffffffffffffff919091161480156132cd57506132b28361420d565b60005460ff6101009091041667ffffffffffffffff91909116145b80156132f157506132dd82613d2d565b60005460ff62010000909104161515901515145b801561331e57506133018161420d565b60005460ff63010000009091041667ffffffffffffffff91909116145b6133745760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b61339087600001518860e00151886060015188604001516144ba565b929650909450925090506133a38461420d565b60005460ff1667ffffffffffffffff919091161480156133e257506133c78361420d565b60005460ff6101009091041667ffffffffffffffff91909116145b801561340657506133f282613d2d565b60005460ff62010000909104161515901515145b801561343357506134168161420d565b60005460ff63010000009091041667ffffffffffffffff91909116145b6134895760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b6134a58760c001518860200151886060015188604001516144da565b929650909450925090506134b88461420d565b60005460ff1667ffffffffffffffff919091161480156134f757506134dc8361420d565b60005460ff6101009091041667ffffffffffffffff91909116145b801561351b575061350782613d2d565b60005460ff62010000909104161515901515145b8015613548575061352b8161420d565b60005460ff63010000009091041667ffffffffffffffff91909116145b61359e5760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b6135ba87604001518860e00151886060015188604001516144fa565b929650909450925090506135cd8461420d565b60005460ff1667ffffffffffffffff9190911614801561360c57506135f18361420d565b60005460ff6101009091041667ffffffffffffffff91909116145b8015613630575061361c82613d2d565b60005460ff62010000909104161515901515145b801561365d57506136408161420d565b60005460ff63010000009091041667ffffffffffffffff91909116145b6136b35760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b6136cf8760c0015188606001518860600151886040015161451b565b929650909450925090506136e28461420d565b60005460ff1667ffffffffffffffff9190911614801561372157506137068361420d565b60005460ff6101009091041667ffffffffffffffff91909116145b8015613745575061373182613d2d565b60005460ff62010000909104161515901515145b801561377257506137558161420d565b60005460ff63010000009091041667ffffffffffffffff91909116145b6137c85760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b6137e487608001518860e001518860600151886040015161453c565b929650909450925090506137f78461420d565b60005460ff1667ffffffffffffffff91909116148015613836575061381b8361420d565b60005460ff6101009091041667ffffffffffffffff91909116145b801561385a575061384682613d2d565b60005460ff62010000909104161515901515145b8015613887575061386a8161420d565b60005460ff63010000009091041667ffffffffffffffff91909116145b6138dd5760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b6138f98760c001518860a001518860600151886040015161455c565b9296509094509250905061390c8461420d565b60005460ff1667ffffffffffffffff9190911614801561394b57506139308361420d565b60005460ff6101009091041667ffffffffffffffff91909116145b801561396f575061395b82613d2d565b60005460ff62010000909104161515901515145b8015610aa4575061397f8161420d565b60005460ff63010000009091041667ffffffffffffffff9190911614610afa5760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0100000000000000000000000000000000000000000000000000000000000000600482015260ff8216602482015260009060649063d9b60b60906044015b6020604051808303816000875af1158015613a75573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a999190614918565b92915050565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0200000000000000000000000000000000000000000000000000000000000000600482015261ffff8216602482015260009060649063d9b60b6090604401613a56565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0300000000000000000000000000000000000000000000000000000000000000600482015263ffffffff8216602482015260009060649063d9b60b6090604401613a56565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0400000000000000000000000000000000000000000000000000000000000000600482015267ffffffffffffffff8216602482015260009060649063d9b60b6090604401613a56565b600080808080808080606463c2ff267a613c03600180808080614578565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffffffff0000000000000000000000000000000000000000000000000000009091166004820152602481018f9052604481018e905260ff8d166064820152608481018c905260a4015b6080604051808303816000875af1158015613c99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613cbd9190614931565b929f919e509c50909a5098505050505050505050565b60006064630cfed56160015b60f81b846040518363ffffffff1660e01b8152600401613a569291907fff00000000000000000000000000000000000000000000000000000000000000929092168252602082015260400190565b6040517f0cfed56100000000000000000000000000000000000000000000000000000000815260006004820181905260248201839052908190606490630cfed561906044016020604051808303816000875af1158015613d91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613db59190614918565b15159392505050565b600080808080808080606463c2ff267a613ddd60028080806001614578565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffffffff0000000000000000000000000000000000000000000000000000009091166004820152602481018f9052604481018e905261ffff8d166064820152608481018c905260a401613c7a565b60006064630cfed5616002613cdf565b600080808080808080606463c2ff267a613ddd60016002808083614578565b600080808080808080606463c2ff267a613ddd60026001818082614578565b600080808080808080606463c2ff267a613ddd60028080600180614578565b600080808080808080606463c2ff267a613ddd60016002808280614578565b600080808080808080606463c2ff267a613ddd60026001818180614578565b600080808080808080606463c2ff267a613f2360038080806001614578565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffffffff0000000000000000000000000000000000000000000000000000009091166004820152602481018f9052604481018e905263ffffffff8d166064820152608481018c905260a401613c7a565b60006064630cfed5616003613cdf565b600080808080808080606463c2ff267a613f2360016003808083614578565b600080808080808080606463c2ff267a613f2360036001818082614578565b600080808080808080606463c2ff267a613f236002600380806001614578565b600080808080808080606463c2ff267a613f236003600281806001614578565b600080808080808080606463c2ff267a613f2360038080600180614578565b600080808080808080606463c2ff267a613f2360016003808280614578565b600080808080808080606463c2ff267a613f2360036001818180614578565b600080808080808080606463c2ff267a613f236002600380600180614578565b600080808080808080606463c2ff267a613f236003600281600180614578565b600080808080808080606463c2ff267a613f236003808060026001614578565b600080808080808080606463c2ff267a613f236001600380600283614578565b600080808080808080606463c2ff267a613f236003600181600282614578565b600080808080808080606463c2ff267a613f236002600380826001614578565b600080808080808080606463c2ff267a613f236003600281816001614578565b600080808080808080606463c2ff267a61418b60048080806001614578565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffffffff0000000000000000000000000000000000000000000000000000009091166004820152602481018f9052604481018e905267ffffffffffffffff8d166064820152608481018c905260a401613c7a565b60006064630cfed5616004613cdf565b600080808080808080606463c2ff267a61418b60016004808083614578565b600080808080808080606463c2ff267a61418b60046001818082614578565b600080808080808080606463c2ff267a61418b6002600480806001614578565b600080808080808080606463c2ff267a61418b6004600281806001614578565b600080808080808080606463c2ff267a61418b6003600480806001614578565b600080808080808080606463c2ff267a61418b6004600381806001614578565b600080808080808080606463c2ff267a61418b60048080600180614578565b600080808080808080606463c2ff267a61418b60016004808280614578565b600080808080808080606463c2ff267a61418b60046001818180614578565b600080808080808080606463c2ff267a61418b6002600480600180614578565b600080808080808080606463c2ff267a61418b6004600281600180614578565b600080808080808080606463c2ff267a61418b6003600480600180614578565b600080808080808080606463c2ff267a61418b6004600381600180614578565b600080808080808080606463c2ff267a61418b6004808060026001614578565b600080808080808080606463c2ff267a61418b6001600480600283614578565b600080808080808080606463c2ff267a61418b6004600181600282614578565b600080808080808080606463c2ff267a61418b6002600480826001614578565b600080808080808080606463c2ff267a61418b6004600281816001614578565b600080808080808080606463c2ff267a61418b600360048060026001614578565b600080808080808080606463c2ff267a61418b600460038160026001614578565b600080808080808080606463c2ff267a61418b6004808060036001614578565b600080808080808080606463c2ff267a61418b6001600480600383614578565b600080808080808080606463c2ff267a61418b6004600181600382614578565b600080808080808080606463c2ff267a61418b600260048060036001614578565b600080808080808080606463c2ff267a61418b600460028160036001614578565b600080808080808080606463c2ff267a61418b6003600480826001614578565b600080808080808080606463c2ff267a61418b60046003818160015b600081600281111561458c5761458c6148e9565b60ff1660088460048111156145a3576145a36148e9565b61ffff16901b61ffff1660108660048111156145c1576145c16148e9565b62ffffff16901b62ffffff1660188860048111156145e1576145e16148e9565b63ffffffff16901b63ffffffff1660208a6004811115614603576146036148e9565b64ffffffffff16901b1717171760d81b9695505050505050565b803560ff8116811461462e57600080fd5b919050565b6000806000806080858703121561464957600080fd5b6146528561461d565b93506146606020860161461d565b925061466e6040860161461d565b915061467c6060860161461d565b905092959194509250565b604051610100810167ffffffffffffffff811182821017156146d2577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405290565b6000608082840312156146ea57600080fd5b6040516080810167ffffffffffffffff8282108183111715614735577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b816040528293506147458561461d565b83526020850135915061ffff8216821461475e57600080fd5b8160208401526040850135915063ffffffff8216821461477d57600080fd5b81604084015260608501359150808216821461479857600080fd5b506060919091015292915050565b600060a082840312156147b857600080fd5b60405160a0810181811067ffffffffffffffff82111715614802577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b8060405250809150823581526020830135602082015260408301356040820152606083013560608201526148386080840161461d565b60808201525092915050565b600080600083850361022081121561485b57600080fd5b6101008082121561486b57600080fd5b614873614687565b9150853582526020860135602083015260408601356040830152606086013560608301526080860135608083015260a086013560a083015260c086013560c083015260e086013560e08301528194506148ce878288016146d8565b935050506148e08561018086016147a6565b90509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60006020828403121561492a57600080fd5b5051919050565b6000806000806080858703121561494757600080fd5b50508251602084015160408501516060909501519196909550909250905056fea164736f6c6343000813000a";
|
|
449
|
+
"0x608060405234801561001057600080fd5b50614974806100206000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c8063cf69b04711610050578063cf69b047146100d0578063d6c7c82e146100e5578063ff3f9ffa146100f857600080fd5b80634717f97c1461006c578063c906aa5b146100bd575b600080fd5b60005460ff80821691610100810482169162010000820481169163010000009004165b6040805160ff9586168152938516602085015291151583830152909216606082015290519081900360800190f35b61008f6100cb366004614633565b61010b565b6100e36100de366004614844565b6103dc565b005b6100e36100f3366004614844565b610b03565b6100e3610106366004614844565b611a8d565b60008060008061015960405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6040805160808101825260008082526020820181905291810182905260608101919091526101b26040518060a0016040528060008152602001600081526020016000815260200160008152602001600060ff1681525090565b6101bb8b6139f1565b83526101c68a6139f1565b60208401526101d760ff8c16613a9f565b60408401526101e860ff8b16613a9f565b60608401526101f960ff8c16613b09565b608084015261020a60ff8b16613b09565b60a084015261021b60ff8c16613b75565b60c084015261022c60ff8b16613b75565b60e084015260ff891680835260208301819052604083018190526060830152610254886139f1565b815261026260ff8916613a9f565b602082015261027360ff8916613b09565b604082015261028460ff8916613b75565b81606001818152505087816080019060ff16908160ff16815250506000806000806102bd876000015188602001518f8860000151613be5565b93509350935093506102ce84613cd3565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff9290921691909117905561030983613cd3565b600060016101000a81548160ff021916908360ff16021790555061032c82613d2d565b6000805491151562010000027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff90921691909117905561036b81613cd3565b600060036101000a81548160ff021916908360ff1602179055506103908787876103dc565b61039b878787610b03565b6103a6878787611a8d565b505060005460ff8082169f610100830482169f5062010000830482169e506301000000909204169b509950505050505050505050565b6000806000806103fe8760400151886060015188602001518860200151613dbe565b935093509350935061040f84613e59565b60005460ff1661ffff91909116148015610442575061042d83613e59565b60005460ff6101009091041661ffff91909116145b8015610466575061045282613d2d565b60005460ff62010000909104161515901515145b801561048d575061047681613e59565b60005460ff63010000009091041661ffff91909116145b6104e85760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084015b60405180910390fd5b6105048760400151886060015188602001518860200151613dbe565b9296509094509250905061051784613e59565b60005460ff1661ffff9190911614801561054a575061053583613e59565b60005460ff6101009091041661ffff91909116145b801561056e575061055a82613d2d565b60005460ff62010000909104161515901515145b8015610595575061057e81613e59565b60005460ff63010000009091041661ffff91909116145b6105eb5760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b6106078760000151886060015188602001518860200151613e69565b9296509094509250905061061a84613e59565b60005460ff1661ffff9190911614801561064d575061063883613e59565b60005460ff6101009091041661ffff91909116145b8015610671575061065d82613d2d565b60005460ff62010000909104161515901515145b8015610698575061068181613e59565b60005460ff63010000009091041661ffff91909116145b6106ee5760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b61070a8760400151886020015188602001518860200151613e88565b9296509094509250905061071d84613e59565b60005460ff1661ffff91909116148015610750575061073b83613e59565b60005460ff6101009091041661ffff91909116145b8015610774575061076082613d2d565b60005460ff62010000909104161515901515145b801561079b575061078481613e59565b60005460ff63010000009091041661ffff91909116145b6107f15760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b61080d8760400151886060015188602001518860000151613ea7565b9296509094509250905061082084613e59565b60005460ff1661ffff91909116148015610853575061083e83613e59565b60005460ff6101009091041661ffff91909116145b8015610877575061086382613d2d565b60005460ff62010000909104161515901515145b801561089e575061088781613e59565b60005460ff63010000009091041661ffff91909116145b6108f45760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b6109108760000151886060015188602001518860000151613ec6565b9296509094509250905061092384613e59565b60005460ff1661ffff91909116148015610956575061094183613e59565b60005460ff6101009091041661ffff91909116145b801561097a575061096682613d2d565b60005460ff62010000909104161515901515145b80156109a1575061098a81613e59565b60005460ff63010000009091041661ffff91909116145b6109f75760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b610a138760400151886020015188602001518860000151613ee5565b92965090945092509050610a2684613e59565b60005460ff1661ffff91909116148015610a595750610a4483613e59565b60005460ff6101009091041661ffff91909116145b8015610a7d5750610a6982613d2d565b60005460ff62010000909104161515901515145b8015610aa45750610a8d81613e59565b60005460ff63010000009091041661ffff91909116145b610afa5760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b50505050505050565b600080600080610b2587608001518860a0015188604001518860400151613f04565b9350935093509350610b3684613fa1565b60005460ff1663ffffffff91909116148015610b6d5750610b5683613fa1565b60005460ff6101009091041663ffffffff91909116145b8015610b915750610b7d82613d2d565b60005460ff62010000909104161515901515145b8015610bba5750610ba181613fa1565b60005460ff63010000009091041663ffffffff91909116145b610c105760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b610c2c87600001518860a0015188604001518860400151613fb1565b92965090945092509050610c3f84613fa1565b60005460ff1663ffffffff91909116148015610c765750610c5f83613fa1565b60005460ff6101009091041663ffffffff91909116145b8015610c9a5750610c8682613d2d565b60005460ff62010000909104161515901515145b8015610cc35750610caa81613fa1565b60005460ff63010000009091041663ffffffff91909116145b610d195760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b610d358760800151886020015188604001518860400151613fd0565b92965090945092509050610d4884613fa1565b60005460ff1663ffffffff91909116148015610d7f5750610d6883613fa1565b60005460ff6101009091041663ffffffff91909116145b8015610da35750610d8f82613d2d565b60005460ff62010000909104161515901515145b8015610dcc5750610db381613fa1565b60005460ff63010000009091041663ffffffff91909116145b610e225760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b610e3e87604001518860a0015188604001518860400151613fef565b92965090945092509050610e5184613fa1565b60005460ff1663ffffffff91909116148015610e885750610e7183613fa1565b60005460ff6101009091041663ffffffff91909116145b8015610eac5750610e9882613d2d565b60005460ff62010000909104161515901515145b8015610ed55750610ebc81613fa1565b60005460ff63010000009091041663ffffffff91909116145b610f2b5760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b610f47876080015188606001518860400151886040015161400f565b92965090945092509050610f5a84613fa1565b60005460ff1663ffffffff91909116148015610f915750610f7a83613fa1565b60005460ff6101009091041663ffffffff91909116145b8015610fb55750610fa182613d2d565b60005460ff62010000909104161515901515145b8015610fde5750610fc581613fa1565b60005460ff63010000009091041663ffffffff91909116145b6110345760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b61105087608001518860a001518860400151886000015161402f565b9296509094509250905061106384613fa1565b60005460ff1663ffffffff9190911614801561109a575061108383613fa1565b60005460ff6101009091041663ffffffff91909116145b80156110be57506110aa82613d2d565b60005460ff62010000909104161515901515145b80156110e757506110ce81613fa1565b60005460ff63010000009091041663ffffffff91909116145b61113d5760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b61115987600001518860a001518860400151886000015161404e565b9296509094509250905061116c84613fa1565b60005460ff1663ffffffff919091161480156111a3575061118c83613fa1565b60005460ff6101009091041663ffffffff91909116145b80156111c757506111b382613d2d565b60005460ff62010000909104161515901515145b80156111f057506111d781613fa1565b60005460ff63010000009091041663ffffffff91909116145b6112465760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b611262876080015188602001518860400151886000015161406d565b9296509094509250905061127584613fa1565b60005460ff1663ffffffff919091161480156112ac575061129583613fa1565b60005460ff6101009091041663ffffffff91909116145b80156112d057506112bc82613d2d565b60005460ff62010000909104161515901515145b80156112f957506112e081613fa1565b60005460ff63010000009091041663ffffffff91909116145b61134f5760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b61136b87604001518860a001518860400151886000015161408c565b9296509094509250905061137e84613fa1565b60005460ff1663ffffffff919091161480156113b5575061139e83613fa1565b60005460ff6101009091041663ffffffff91909116145b80156113d957506113c582613d2d565b60005460ff62010000909104161515901515145b801561140257506113e981613fa1565b60005460ff63010000009091041663ffffffff91909116145b6114585760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b61147487608001518860600151886040015188600001516140ac565b9296509094509250905061148784613fa1565b60005460ff1663ffffffff919091161480156114be57506114a783613fa1565b60005460ff6101009091041663ffffffff91909116145b80156114e257506114ce82613d2d565b60005460ff62010000909104161515901515145b801561150b57506114f281613fa1565b60005460ff63010000009091041663ffffffff91909116145b6115615760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b61157d87608001518860a00151886040015188602001516140cc565b9296509094509250905061159084613fa1565b60005460ff1663ffffffff919091161480156115c757506115b083613fa1565b60005460ff6101009091041663ffffffff91909116145b80156115eb57506115d782613d2d565b60005460ff62010000909104161515901515145b801561161457506115fb81613fa1565b60005460ff63010000009091041663ffffffff91909116145b61166a5760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b61168687600001518860a00151886040015188602001516140ec565b9296509094509250905061169984613fa1565b60005460ff1663ffffffff919091161480156116d057506116b983613fa1565b60005460ff6101009091041663ffffffff91909116145b80156116f457506116e082613d2d565b60005460ff62010000909104161515901515145b801561171d575061170481613fa1565b60005460ff63010000009091041663ffffffff91909116145b6117735760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b61178f876080015188602001518860400151886020015161410c565b929650909450925090506117a284613fa1565b60005460ff1663ffffffff919091161480156117d957506117c283613fa1565b60005460ff6101009091041663ffffffff91909116145b80156117fd57506117e982613d2d565b60005460ff62010000909104161515901515145b8015611826575061180d81613fa1565b60005460ff63010000009091041663ffffffff91909116145b61187c5760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b61189887604001518860a001518860400151886020015161412c565b929650909450925090506118ab84613fa1565b60005460ff1663ffffffff919091161480156118e257506118cb83613fa1565b60005460ff6101009091041663ffffffff91909116145b801561190657506118f282613d2d565b60005460ff62010000909104161515901515145b801561192f575061191681613fa1565b60005460ff63010000009091041663ffffffff91909116145b6119855760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b6119a1876080015188606001518860400151886020015161414c565b929650909450925090506119b484613fa1565b60005460ff1663ffffffff919091161480156119eb57506119d483613fa1565b60005460ff6101009091041663ffffffff91909116145b8015611a0f57506119fb82613d2d565b60005460ff62010000909104161515901515145b8015610aa45750611a1f81613fa1565b60005460ff63010000009091041663ffffffff9190911614610afa5760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b600080600080611aaf8760c001518860e001518860600151886060015161416c565b9350935093509350611ac08461420d565b60005460ff1667ffffffffffffffff91909116148015611aff5750611ae48361420d565b60005460ff6101009091041667ffffffffffffffff91909116145b8015611b235750611b0f82613d2d565b60005460ff62010000909104161515901515145b8015611b505750611b338161420d565b60005460ff63010000009091041667ffffffffffffffff91909116145b611ba65760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b611bc28760c001518860e001518860600151886060015161416c565b92965090945092509050611bd58461420d565b60005460ff1667ffffffffffffffff91909116148015611c145750611bf98361420d565b60005460ff6101009091041667ffffffffffffffff91909116145b8015611c385750611c2482613d2d565b60005460ff62010000909104161515901515145b8015611c655750611c488161420d565b60005460ff63010000009091041667ffffffffffffffff91909116145b611cbb5760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b611cd787600001518860e001518860600151886060015161421d565b92965090945092509050611cea8461420d565b60005460ff1667ffffffffffffffff91909116148015611d295750611d0e8361420d565b60005460ff6101009091041667ffffffffffffffff91909116145b8015611d4d5750611d3982613d2d565b60005460ff62010000909104161515901515145b8015611d7a5750611d5d8161420d565b60005460ff63010000009091041667ffffffffffffffff91909116145b611dd05760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b611dec8760c0015188602001518860600151886060015161423c565b92965090945092509050611dff8461420d565b60005460ff1667ffffffffffffffff91909116148015611e3e5750611e238361420d565b60005460ff6101009091041667ffffffffffffffff91909116145b8015611e625750611e4e82613d2d565b60005460ff62010000909104161515901515145b8015611e8f5750611e728161420d565b60005460ff63010000009091041667ffffffffffffffff91909116145b611ee55760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b611f0187604001518860e001518860600151886060015161425b565b92965090945092509050611f148461420d565b60005460ff1667ffffffffffffffff91909116148015611f535750611f388361420d565b60005460ff6101009091041667ffffffffffffffff91909116145b8015611f775750611f6382613d2d565b60005460ff62010000909104161515901515145b8015611fa45750611f878161420d565b60005460ff63010000009091041667ffffffffffffffff91909116145b611ffa5760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b6120168760c0015188606001518860600151886060015161427b565b929650909450925090506120298461420d565b60005460ff1667ffffffffffffffff91909116148015612068575061204d8361420d565b60005460ff6101009091041667ffffffffffffffff91909116145b801561208c575061207882613d2d565b60005460ff62010000909104161515901515145b80156120b9575061209c8161420d565b60005460ff63010000009091041667ffffffffffffffff91909116145b61210f5760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b61212b87608001518860e001518860600151886060015161429b565b9296509094509250905061213e8461420d565b60005460ff1667ffffffffffffffff9190911614801561217d57506121628361420d565b60005460ff6101009091041667ffffffffffffffff91909116145b80156121a1575061218d82613d2d565b60005460ff62010000909104161515901515145b80156121ce57506121b18161420d565b60005460ff63010000009091041667ffffffffffffffff91909116145b6122245760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b6122408760c001518860a00151886060015188606001516142bb565b929650909450925090506122538461420d565b60005460ff1667ffffffffffffffff9190911614801561229257506122778361420d565b60005460ff6101009091041667ffffffffffffffff91909116145b80156122b657506122a282613d2d565b60005460ff62010000909104161515901515145b80156122e357506122c68161420d565b60005460ff63010000009091041667ffffffffffffffff91909116145b6123395760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b6123558760c001518860e00151886060015188600001516142db565b929650909450925090506123688461420d565b60005460ff1667ffffffffffffffff919091161480156123a7575061238c8361420d565b60005460ff6101009091041667ffffffffffffffff91909116145b80156123cb57506123b782613d2d565b60005460ff62010000909104161515901515145b80156123f857506123db8161420d565b60005460ff63010000009091041667ffffffffffffffff91909116145b61244e5760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b61246a87600001518860e00151886060015188600001516142fa565b9296509094509250905061247d8461420d565b60005460ff1667ffffffffffffffff919091161480156124bc57506124a18361420d565b60005460ff6101009091041667ffffffffffffffff91909116145b80156124e057506124cc82613d2d565b60005460ff62010000909104161515901515145b801561250d57506124f08161420d565b60005460ff63010000009091041667ffffffffffffffff91909116145b6125635760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b61257f8760c00151886020015188606001518860000151614319565b929650909450925090506125928461420d565b60005460ff1667ffffffffffffffff919091161480156125d157506125b68361420d565b60005460ff6101009091041667ffffffffffffffff91909116145b80156125f557506125e182613d2d565b60005460ff62010000909104161515901515145b801561262257506126058161420d565b60005460ff63010000009091041667ffffffffffffffff91909116145b6126785760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b61269487604001518860e0015188606001518860000151614338565b929650909450925090506126a78461420d565b60005460ff1667ffffffffffffffff919091161480156126e657506126cb8361420d565b60005460ff6101009091041667ffffffffffffffff91909116145b801561270a57506126f682613d2d565b60005460ff62010000909104161515901515145b8015612737575061271a8161420d565b60005460ff63010000009091041667ffffffffffffffff91909116145b61278d5760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b6127a98760c00151886060015188606001518860000151614358565b929650909450925090506127bc8461420d565b60005460ff1667ffffffffffffffff919091161480156127fb57506127e08361420d565b60005460ff6101009091041667ffffffffffffffff91909116145b801561281f575061280b82613d2d565b60005460ff62010000909104161515901515145b801561284c575061282f8161420d565b60005460ff63010000009091041667ffffffffffffffff91909116145b6128a25760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b6128be87608001518860e0015188606001518860000151614378565b929650909450925090506128d18461420d565b60005460ff1667ffffffffffffffff9190911614801561291057506128f58361420d565b60005460ff6101009091041667ffffffffffffffff91909116145b8015612934575061292082613d2d565b60005460ff62010000909104161515901515145b801561296157506129448161420d565b60005460ff63010000009091041667ffffffffffffffff91909116145b6129b75760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b6129d38760c001518860a0015188606001518860000151614398565b929650909450925090506129e68461420d565b60005460ff1667ffffffffffffffff91909116148015612a255750612a0a8361420d565b60005460ff6101009091041667ffffffffffffffff91909116145b8015612a495750612a3582613d2d565b60005460ff62010000909104161515901515145b8015612a765750612a598161420d565b60005460ff63010000009091041667ffffffffffffffff91909116145b612acc5760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b612ae88760c001518860e00151886060015188602001516143b8565b92965090945092509050612afb8461420d565b60005460ff1667ffffffffffffffff91909116148015612b3a5750612b1f8361420d565b60005460ff6101009091041667ffffffffffffffff91909116145b8015612b5e5750612b4a82613d2d565b60005460ff62010000909104161515901515145b8015612b8b5750612b6e8161420d565b60005460ff63010000009091041667ffffffffffffffff91909116145b612be15760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b612bfd87600001518860e00151886060015188602001516143d8565b92965090945092509050612c108461420d565b60005460ff1667ffffffffffffffff91909116148015612c4f5750612c348361420d565b60005460ff6101009091041667ffffffffffffffff91909116145b8015612c735750612c5f82613d2d565b60005460ff62010000909104161515901515145b8015612ca05750612c838161420d565b60005460ff63010000009091041667ffffffffffffffff91909116145b612cf65760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b612d128760c001518860200151886060015188602001516143f8565b92965090945092509050612d258461420d565b60005460ff1667ffffffffffffffff91909116148015612d645750612d498361420d565b60005460ff6101009091041667ffffffffffffffff91909116145b8015612d885750612d7482613d2d565b60005460ff62010000909104161515901515145b8015612db55750612d988161420d565b60005460ff63010000009091041667ffffffffffffffff91909116145b612e0b5760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b612e2787604001518860e0015188606001518860200151614418565b92965090945092509050612e3a8461420d565b60005460ff1667ffffffffffffffff91909116148015612e795750612e5e8361420d565b60005460ff6101009091041667ffffffffffffffff91909116145b8015612e9d5750612e8982613d2d565b60005460ff62010000909104161515901515145b8015612eca5750612ead8161420d565b60005460ff63010000009091041667ffffffffffffffff91909116145b612f205760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b612f3c8760c00151886060015188606001518860200151614438565b92965090945092509050612f4f8461420d565b60005460ff1667ffffffffffffffff91909116148015612f8e5750612f738361420d565b60005460ff6101009091041667ffffffffffffffff91909116145b8015612fb25750612f9e82613d2d565b60005460ff62010000909104161515901515145b8015612fdf5750612fc28161420d565b60005460ff63010000009091041667ffffffffffffffff91909116145b6130355760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b61305187608001518860e0015188606001518860200151614458565b929650909450925090506130648461420d565b60005460ff1667ffffffffffffffff919091161480156130a357506130888361420d565b60005460ff6101009091041667ffffffffffffffff91909116145b80156130c757506130b382613d2d565b60005460ff62010000909104161515901515145b80156130f457506130d78161420d565b60005460ff63010000009091041667ffffffffffffffff91909116145b61314a5760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b6131668760c001518860a0015188606001518860200151614479565b929650909450925090506131798461420d565b60005460ff1667ffffffffffffffff919091161480156131b8575061319d8361420d565b60005460ff6101009091041667ffffffffffffffff91909116145b80156131dc57506131c882613d2d565b60005460ff62010000909104161515901515145b801561320957506131ec8161420d565b60005460ff63010000009091041667ffffffffffffffff91909116145b61325f5760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b61327b8760c001518860e001518860600151886040015161449a565b9296509094509250905061328e8461420d565b60005460ff1667ffffffffffffffff919091161480156132cd57506132b28361420d565b60005460ff6101009091041667ffffffffffffffff91909116145b80156132f157506132dd82613d2d565b60005460ff62010000909104161515901515145b801561331e57506133018161420d565b60005460ff63010000009091041667ffffffffffffffff91909116145b6133745760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b61339087600001518860e00151886060015188604001516144ba565b929650909450925090506133a38461420d565b60005460ff1667ffffffffffffffff919091161480156133e257506133c78361420d565b60005460ff6101009091041667ffffffffffffffff91909116145b801561340657506133f282613d2d565b60005460ff62010000909104161515901515145b801561343357506134168161420d565b60005460ff63010000009091041667ffffffffffffffff91909116145b6134895760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b6134a58760c001518860200151886060015188604001516144da565b929650909450925090506134b88461420d565b60005460ff1667ffffffffffffffff919091161480156134f757506134dc8361420d565b60005460ff6101009091041667ffffffffffffffff91909116145b801561351b575061350782613d2d565b60005460ff62010000909104161515901515145b8015613548575061352b8161420d565b60005460ff63010000009091041667ffffffffffffffff91909116145b61359e5760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b6135ba87604001518860e00151886060015188604001516144fa565b929650909450925090506135cd8461420d565b60005460ff1667ffffffffffffffff9190911614801561360c57506135f18361420d565b60005460ff6101009091041667ffffffffffffffff91909116145b8015613630575061361c82613d2d565b60005460ff62010000909104161515901515145b801561365d57506136408161420d565b60005460ff63010000009091041667ffffffffffffffff91909116145b6136b35760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b6136cf8760c0015188606001518860600151886040015161451b565b929650909450925090506136e28461420d565b60005460ff1667ffffffffffffffff9190911614801561372157506137068361420d565b60005460ff6101009091041667ffffffffffffffff91909116145b8015613745575061373182613d2d565b60005460ff62010000909104161515901515145b801561377257506137558161420d565b60005460ff63010000009091041667ffffffffffffffff91909116145b6137c85760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b6137e487608001518860e001518860600151886040015161453c565b929650909450925090506137f78461420d565b60005460ff1667ffffffffffffffff91909116148015613836575061381b8361420d565b60005460ff6101009091041667ffffffffffffffff91909116145b801561385a575061384682613d2d565b60005460ff62010000909104161515901515145b8015613887575061386a8161420d565b60005460ff63010000009091041667ffffffffffffffff91909116145b6138dd5760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b6138f98760c001518860a001518860600151886040015161455c565b9296509094509250905061390c8461420d565b60005460ff1667ffffffffffffffff9190911614801561394b57506139308361420d565b60005460ff6101009091041667ffffffffffffffff91909116145b801561396f575061395b82613d2d565b60005460ff62010000909104161515901515145b8015610aa4575061397f8161420d565b60005460ff63010000009091041667ffffffffffffffff9190911614610afa5760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016104df565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0100000000000000000000000000000000000000000000000000000000000000600482015260ff8216602482015260009060649063d9b60b60906044015b6020604051808303816000875af1158015613a75573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a999190614918565b92915050565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0200000000000000000000000000000000000000000000000000000000000000600482015261ffff8216602482015260009060649063d9b60b6090604401613a56565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0300000000000000000000000000000000000000000000000000000000000000600482015263ffffffff8216602482015260009060649063d9b60b6090604401613a56565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0400000000000000000000000000000000000000000000000000000000000000600482015267ffffffffffffffff8216602482015260009060649063d9b60b6090604401613a56565b600080808080808080606463c2ff267a613c03600180808080614578565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffffffff0000000000000000000000000000000000000000000000000000009091166004820152602481018f9052604481018e905260ff8d166064820152608481018c905260a4015b6080604051808303816000875af1158015613c99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613cbd9190614931565b929f919e509c50909a5098505050505050505050565b60006064630cfed56160015b60f81b846040518363ffffffff1660e01b8152600401613a569291907fff00000000000000000000000000000000000000000000000000000000000000929092168252602082015260400190565b6040517f0cfed56100000000000000000000000000000000000000000000000000000000815260006004820181905260248201839052908190606490630cfed561906044016020604051808303816000875af1158015613d91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613db59190614918565b15159392505050565b600080808080808080606463c2ff267a613ddd60028080806001614578565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffffffff0000000000000000000000000000000000000000000000000000009091166004820152602481018f9052604481018e905261ffff8d166064820152608481018c905260a401613c7a565b60006064630cfed5616002613cdf565b600080808080808080606463c2ff267a613ddd60016002808083614578565b600080808080808080606463c2ff267a613ddd60026001818082614578565b600080808080808080606463c2ff267a613ddd60028080600180614578565b600080808080808080606463c2ff267a613ddd60016002808280614578565b600080808080808080606463c2ff267a613ddd60026001818180614578565b600080808080808080606463c2ff267a613f2360038080806001614578565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffffffff0000000000000000000000000000000000000000000000000000009091166004820152602481018f9052604481018e905263ffffffff8d166064820152608481018c905260a401613c7a565b60006064630cfed5616003613cdf565b600080808080808080606463c2ff267a613f2360016003808083614578565b600080808080808080606463c2ff267a613f2360036001818082614578565b600080808080808080606463c2ff267a613f236002600380806001614578565b600080808080808080606463c2ff267a613f236003600281806001614578565b600080808080808080606463c2ff267a613f2360038080600180614578565b600080808080808080606463c2ff267a613f2360016003808280614578565b600080808080808080606463c2ff267a613f2360036001818180614578565b600080808080808080606463c2ff267a613f236002600380600180614578565b600080808080808080606463c2ff267a613f236003600281600180614578565b600080808080808080606463c2ff267a613f236003808060026001614578565b600080808080808080606463c2ff267a613f236001600380600283614578565b600080808080808080606463c2ff267a613f236003600181600282614578565b600080808080808080606463c2ff267a613f236002600380826001614578565b600080808080808080606463c2ff267a613f236003600281816001614578565b600080808080808080606463c2ff267a61418b60048080806001614578565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffffffff0000000000000000000000000000000000000000000000000000009091166004820152602481018f9052604481018e905267ffffffffffffffff8d166064820152608481018c905260a401613c7a565b60006064630cfed5616004613cdf565b600080808080808080606463c2ff267a61418b60016004808083614578565b600080808080808080606463c2ff267a61418b60046001818082614578565b600080808080808080606463c2ff267a61418b6002600480806001614578565b600080808080808080606463c2ff267a61418b6004600281806001614578565b600080808080808080606463c2ff267a61418b6003600480806001614578565b600080808080808080606463c2ff267a61418b6004600381806001614578565b600080808080808080606463c2ff267a61418b60048080600180614578565b600080808080808080606463c2ff267a61418b60016004808280614578565b600080808080808080606463c2ff267a61418b60046001818180614578565b600080808080808080606463c2ff267a61418b6002600480600180614578565b600080808080808080606463c2ff267a61418b6004600281600180614578565b600080808080808080606463c2ff267a61418b6003600480600180614578565b600080808080808080606463c2ff267a61418b6004600381600180614578565b600080808080808080606463c2ff267a61418b6004808060026001614578565b600080808080808080606463c2ff267a61418b6001600480600283614578565b600080808080808080606463c2ff267a61418b6004600181600282614578565b600080808080808080606463c2ff267a61418b6002600480826001614578565b600080808080808080606463c2ff267a61418b6004600281816001614578565b600080808080808080606463c2ff267a61418b600360048060026001614578565b600080808080808080606463c2ff267a61418b600460038160026001614578565b600080808080808080606463c2ff267a61418b6004808060036001614578565b600080808080808080606463c2ff267a61418b6001600480600383614578565b600080808080808080606463c2ff267a61418b6004600181600382614578565b600080808080808080606463c2ff267a61418b600260048060036001614578565b600080808080808080606463c2ff267a61418b600460028160036001614578565b600080808080808080606463c2ff267a61418b6003600480826001614578565b600080808080808080606463c2ff267a61418b60046003818160015b600081600281111561458c5761458c6148e9565b60ff1660088460068111156145a3576145a36148e9565b61ffff16901b61ffff1660108660068111156145c1576145c16148e9565b62ffffff16901b62ffffff1660188860068111156145e1576145e16148e9565b63ffffffff16901b63ffffffff1660208a6006811115614603576146036148e9565b64ffffffffff16901b1717171760d81b9695505050505050565b803560ff8116811461462e57600080fd5b919050565b6000806000806080858703121561464957600080fd5b6146528561461d565b93506146606020860161461d565b925061466e6040860161461d565b915061467c6060860161461d565b905092959194509250565b604051610100810167ffffffffffffffff811182821017156146d2577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405290565b6000608082840312156146ea57600080fd5b6040516080810167ffffffffffffffff8282108183111715614735577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b816040528293506147458561461d565b83526020850135915061ffff8216821461475e57600080fd5b8160208401526040850135915063ffffffff8216821461477d57600080fd5b81604084015260608501359150808216821461479857600080fd5b506060919091015292915050565b600060a082840312156147b857600080fd5b60405160a0810181811067ffffffffffffffff82111715614802577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b8060405250809150823581526020830135602082015260408301356040820152606083013560608201526148386080840161461d565b60808201525092915050565b600080600083850361022081121561485b57600080fd5b6101008082121561486b57600080fd5b614873614687565b9150853582526020860135602083015260408601356040830152606086013560608301526080860135608083015260a086013560a083015260c086013560c083015260e086013560e08301528194506148ce878288016146d8565b935050506148e08561018086016147a6565b90509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60006020828403121561492a57600080fd5b5051919050565b6000806000806080858703121561494757600080fd5b50508251602084015160408501516060909501519196909550909250905056fea164736f6c6343000813000a";
|
|
450
450
|
|
|
451
451
|
type TransferWithAllowanceScalarTestsContractConstructorParams =
|
|
452
452
|
| [signer?: Signer]
|
|
@@ -379,7 +379,7 @@ const _abi = [
|
|
|
379
379
|
] as const;
|
|
380
380
|
|
|
381
381
|
const _bytecode =
|
|
382
|
-
"0x608060405234801561001057600080fd5b506141dd806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80634717f97c1461005157806386affd16146100a2578063eae36abd146100b7578063f20eac20146100ca575b600080fd5b60005460ff80821691610100810482169162010000820481169163010000009004165b6040805160ff9586168152938516602085015291151583830152909216606082015290519081900360800190f35b6100b56100b0366004614012565b6100dd565b005b6100746100c53660046140fe565b610aa2565b6100b56100d8366004614012565b610e03565b6000806000806100ff8b604001518c606001518c602001518c60200151613373565b93509350935093506101108461345e565b61ffff168860ff1614801561013357506101298361345e565b61ffff168760ff16145b801561014a575061014382613501565b1515861515145b8015610164575061015a8161345e565b61ffff168560ff16145b6101b55760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064015b60405180910390fd5b6101d18b604001518c602001518c600001518c60000151613592565b929650909450925090506101e48461345e565b61ffff168860ff1614801561020757506101fd8361345e565b61ffff168760ff16145b801561021e575061021782613501565b1515861515145b8015610238575061022e8161345e565b61ffff168560ff16145b6102845760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ac565b8a5160608c01518b518b5161029b939291906135b1565b929650909450925090506102ae8461345e565b61ffff168860ff161480156102d157506102c78361345e565b61ffff168760ff16145b80156102e857506102e182613501565b1515861515145b801561030257506102f88161345e565b61ffff168560ff16145b61034e5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ac565b61036a8b604001518c602001518c602001518c600001516135d0565b9296509094509250905061037d8461345e565b61ffff168860ff161480156103a057506103968361345e565b61ffff168760ff16145b80156103b757506103b082613501565b1515861515145b80156103d157506103c78161345e565b61ffff168560ff16145b61041d5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ac565b6104398b600001518c606001518c602001518c600001516135ef565b9296509094509250905061044c8461345e565b61ffff168860ff1614801561046f57506104658361345e565b61ffff168760ff16145b8015610486575061047f82613501565b1515861515145b80156104a057506104968161345e565b61ffff168560ff16145b6104ec5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ac565b6105088b604001518c606001518c600001518c6000015161360e565b9296509094509250905061051b8461345e565b61ffff168860ff1614801561053e57506105348361345e565b61ffff168760ff16145b8015610555575061054e82613501565b1515861515145b801561056f57506105658161345e565b61ffff168560ff16145b6105bb5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ac565b6105d78b604001518c606001518c602001518c6000015161362d565b929650909450925090506105ea8461345e565b61ffff168860ff1614801561060d57506106038361345e565b61ffff168760ff16145b8015610624575061061d82613501565b1515861515145b801561063e57506106348161345e565b61ffff168560ff16145b61068a5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ac565b6106a68b604001518c602001518c600001518c6020015161364c565b929650909450925090506106b98461345e565b61ffff168860ff161480156106dc57506106d28361345e565b61ffff168760ff16145b80156106f357506106ec82613501565b1515861515145b801561070d57506107038161345e565b61ffff168560ff16145b6107595760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ac565b6107758b600001518c606001518c600001518c6020015161366b565b929650909450925090506107888461345e565b61ffff168860ff161480156107ab57506107a18361345e565b61ffff168760ff16145b80156107c257506107bb82613501565b1515861515145b80156107dc57506107d28161345e565b61ffff168560ff16145b6108285760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ac565b6108448b604001518c602001518c602001518c6020015161368a565b929650909450925090506108578461345e565b61ffff168860ff1614801561087a57506108708361345e565b61ffff168760ff16145b8015610891575061088a82613501565b1515861515145b80156108ab57506108a18161345e565b61ffff168560ff16145b6108f75760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ac565b6109138b600001518c606001518c602001518c602001516136a9565b929650909450925090506109268461345e565b61ffff168860ff16148015610949575061093f8361345e565b61ffff168760ff16145b8015610960575061095982613501565b1515861515145b801561097a57506109708161345e565b61ffff168560ff16145b6109c65760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ac565b6109e28b604001518c606001518c600001518c602001516136c8565b929650909450925090506109f58461345e565b61ffff168860ff16148015610a185750610a0e8361345e565b61ffff168760ff16145b8015610a2f5750610a2882613501565b1515861515145b8015610a495750610a3f8161345e565b61ffff168560ff16145b610a955760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ac565b5050505050505050505050565b600080600080610af060405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b610b256040518060a0016040528060008152602001600081526020016000815260200160008152602001600060ff1681525090565b610b5a6040518060a0016040528060008152602001600081526020016000815260200160008152602001600060ff1681525090565b610b638b6136e7565b8352610b6e8a6136e7565b6020840152610b7f60ff8c16613750565b6040840152610b9060ff8b16613750565b6060840152610ba160ff8c166137ba565b6080840152610bb260ff8b166137ba565b60a0840152610bc360ff8c16613826565b60c0840152610bd460ff8b16613826565b60e0840152610be2896136e7565b8252610bf060ff8a16613750565b6020830152610c0160ff8a166137ba565b6040830152610c1260ff8a16613826565b606083015260ff89166080830152610c29886136e7565b8152610c3760ff8916613750565b6020820152610c4860ff89166137ba565b6040820152610c5960ff8916613826565b606082015260ff881660808201528251602084015183518351600093849384938493610c8793929190613896565b9350935093509350610c98846138b4565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff92909216919091179055610cd3836138b4565b600060016101000a81548160ff021916908360ff160217905550610cf682613501565b6000805491151562010000027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff909216919091179055610d35816138b4565b6000805460ff92831663010000009081027fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffff8316811793849055610d9c948c948c948c949383169083161792610100820483169262010000830481169291909104166100dd565b600054610dcd9088908890889060ff8082169161010081048216916201000082048116916301000000900416610e03565b505060005460ff8082169f610100830482169f5062010000830482169e506301000000909204169b509950505050505050505050565b600080600080610e258b608001518c60a001518c604001518c604001516138c4565b9350935093509350610e36846138e2565b63ffffffff168860ff16148015610e5d5750610e51836138e2565b63ffffffff168760ff16145b8015610e745750610e6d82613501565b1515861515145b8015610e905750610e84816138e2565b63ffffffff168560ff16145b610edc5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b610ef88b608001518c602001518c600001518c600001516138f2565b92965090945092509050610f0b846138e2565b63ffffffff168860ff16148015610f325750610f26836138e2565b63ffffffff168760ff16145b8015610f495750610f4282613501565b1515861515145b8015610f655750610f59816138e2565b63ffffffff168560ff16145b610fb15760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b8a5160a08c01518b518b51610fc893929190613911565b92965090945092509050610fdb846138e2565b63ffffffff168860ff161480156110025750610ff6836138e2565b63ffffffff168760ff16145b8015611019575061101282613501565b1515861515145b80156110355750611029816138e2565b63ffffffff168560ff16145b6110815760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b61109d8b608001518c602001518c604001518c60000151613930565b929650909450925090506110b0846138e2565b63ffffffff168860ff161480156110d757506110cb836138e2565b63ffffffff168760ff16145b80156110ee57506110e782613501565b1515861515145b801561110a57506110fe816138e2565b63ffffffff168560ff16145b6111565760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6111728b600001518c60a001518c604001518c6000015161394f565b92965090945092509050611185846138e2565b63ffffffff168860ff161480156111ac57506111a0836138e2565b63ffffffff168760ff16145b80156111c357506111bc82613501565b1515861515145b80156111df57506111d3816138e2565b63ffffffff168560ff16145b61122b5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6112478b608001518c60a001518c604001518c6000015161396e565b9296509094509250905061125a846138e2565b63ffffffff168860ff161480156112815750611275836138e2565b63ffffffff168760ff16145b8015611298575061129182613501565b1515861515145b80156112b457506112a8816138e2565b63ffffffff168560ff16145b6113005760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b61131c8b608001518c602001518c602001518c6000015161398d565b9296509094509250905061132f846138e2565b63ffffffff168860ff16148015611356575061134a836138e2565b63ffffffff168760ff16145b801561136d575061136682613501565b1515861515145b8015611389575061137d816138e2565b63ffffffff168560ff16145b6113d55760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6113f18b600001518c60a001518c602001518c600001516139ad565b92965090945092509050611404846138e2565b63ffffffff168860ff1614801561142b575061141f836138e2565b63ffffffff168760ff16145b8015611442575061143b82613501565b1515861515145b801561145e5750611452816138e2565b63ffffffff168560ff16145b6114aa5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6114c68b608001518c60a001518c600001518c600001516139cd565b929650909450925090506114d9846138e2565b63ffffffff168860ff1614801561150057506114f4836138e2565b63ffffffff168760ff16145b8015611517575061151082613501565b1515861515145b80156115335750611527816138e2565b63ffffffff168560ff16145b61157f5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b61159b8b608001518c602001518c600001518c602001516139ec565b929650909450925090506115ae846138e2565b63ffffffff168860ff161480156115d557506115c9836138e2565b63ffffffff168760ff16145b80156115ec57506115e582613501565b1515861515145b801561160857506115fc816138e2565b63ffffffff168560ff16145b6116545760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6116708b600001518c60a001518c600001518c60200151613a0c565b92965090945092509050611683846138e2565b63ffffffff168860ff161480156116aa575061169e836138e2565b63ffffffff168760ff16145b80156116c157506116ba82613501565b1515861515145b80156116dd57506116d1816138e2565b63ffffffff168560ff16145b6117295760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6117458b608001518c602001518c604001518c60200151613a2c565b92965090945092509050611758846138e2565b63ffffffff168860ff1614801561177f5750611773836138e2565b63ffffffff168760ff16145b8015611796575061178f82613501565b1515861515145b80156117b257506117a6816138e2565b63ffffffff168560ff16145b6117fe5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b61181a8b600001518c60a001518c604001518c60200151613a4c565b9296509094509250905061182d846138e2565b63ffffffff168860ff161480156118545750611848836138e2565b63ffffffff168760ff16145b801561186b575061186482613501565b1515861515145b8015611887575061187b816138e2565b63ffffffff168560ff16145b6118d35760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6118ef8b608001518c602001518c602001518c60200151613a6c565b92965090945092509050611902846138e2565b63ffffffff168860ff16148015611929575061191d836138e2565b63ffffffff168760ff16145b8015611940575061193982613501565b1515861515145b801561195c5750611950816138e2565b63ffffffff168560ff16145b6119a85760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6119c48b600001518c60a001518c602001518c60200151613a8c565b929650909450925090506119d7846138e2565b63ffffffff168860ff161480156119fe57506119f2836138e2565b63ffffffff168760ff16145b8015611a155750611a0e82613501565b1515861515145b8015611a315750611a25816138e2565b63ffffffff168560ff16145b611a7d5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b611a998b608001518c60a001518c600001518c60200151613aac565b92965090945092509050611aac846138e2565b63ffffffff168860ff16148015611ad35750611ac7836138e2565b63ffffffff168760ff16145b8015611aea5750611ae382613501565b1515861515145b8015611b065750611afa816138e2565b63ffffffff168560ff16145b611b525760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b611b6e8b608001518c602001518c600001518c60400151613acc565b92965090945092509050611b81846138e2565b63ffffffff168860ff16148015611ba85750611b9c836138e2565b63ffffffff168760ff16145b8015611bbf5750611bb882613501565b1515861515145b8015611bdb5750611bcf816138e2565b63ffffffff168560ff16145b611c275760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b611c438b600001518c60a001518c600001518c60400151613aeb565b92965090945092509050611c56846138e2565b63ffffffff168860ff16148015611c7d5750611c71836138e2565b63ffffffff168760ff16145b8015611c945750611c8d82613501565b1515861515145b8015611cb05750611ca4816138e2565b63ffffffff168560ff16145b611cfc5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b611d188b608001518c602001518c604001518c60400151613b0a565b92965090945092509050611d2b846138e2565b63ffffffff168860ff16148015611d525750611d46836138e2565b63ffffffff168760ff16145b8015611d695750611d6282613501565b1515861515145b8015611d855750611d79816138e2565b63ffffffff168560ff16145b611dd15760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b611ded8b600001518c60a001518c604001518c60400151613b29565b92965090945092509050611e00846138e2565b63ffffffff168860ff16148015611e275750611e1b836138e2565b63ffffffff168760ff16145b8015611e3e5750611e3782613501565b1515861515145b8015611e5a5750611e4e816138e2565b63ffffffff168560ff16145b611ea65760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b611ec28b608001518c602001518c602001518c60400151613b48565b92965090945092509050611ed5846138e2565b63ffffffff168860ff16148015611efc5750611ef0836138e2565b63ffffffff168760ff16145b8015611f135750611f0c82613501565b1515861515145b8015611f2f5750611f23816138e2565b63ffffffff168560ff16145b611f7b5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b611f978b600001518c60a001518c602001518c60400151613b68565b92965090945092509050611faa846138e2565b63ffffffff168860ff16148015611fd15750611fc5836138e2565b63ffffffff168760ff16145b8015611fe85750611fe182613501565b1515861515145b80156120045750611ff8816138e2565b63ffffffff168560ff16145b6120505760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b61206c8b608001518c60a001518c600001518c60400151613b88565b9296509094509250905061207f846138e2565b63ffffffff168860ff161480156120a6575061209a836138e2565b63ffffffff168760ff16145b80156120bd57506120b682613501565b1515861515145b80156120d957506120cd816138e2565b63ffffffff168560ff16145b6121255760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6121418b604001518c60a001518c600001518c60000151613ba7565b92965090945092509050612154846138e2565b63ffffffff168860ff1614801561217b575061216f836138e2565b63ffffffff168760ff16145b8015612192575061218b82613501565b1515861515145b80156121ae57506121a2816138e2565b63ffffffff168560ff16145b6121fa5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6122168b608001518c606001518c600001518c60000151613bc7565b92965090945092509050612229846138e2565b63ffffffff168860ff161480156122505750612244836138e2565b63ffffffff168760ff16145b8015612267575061226082613501565b1515861515145b80156122835750612277816138e2565b63ffffffff168560ff16145b6122cf5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6122eb8b604001518c60a001518c602001518c60000151613be7565b929650909450925090506122fe846138e2565b63ffffffff168860ff161480156123255750612319836138e2565b63ffffffff168760ff16145b801561233c575061233582613501565b1515861515145b8015612358575061234c816138e2565b63ffffffff168560ff16145b6123a45760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6123c08b608001518c606001518c602001518c60000151613c07565b929650909450925090506123d3846138e2565b63ffffffff168860ff161480156123fa57506123ee836138e2565b63ffffffff168760ff16145b8015612411575061240a82613501565b1515861515145b801561242d5750612421816138e2565b63ffffffff168560ff16145b6124795760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6124958b604001518c60a001518c604001518c60000151613c27565b929650909450925090506124a8846138e2565b63ffffffff168860ff161480156124cf57506124c3836138e2565b63ffffffff168760ff16145b80156124e657506124df82613501565b1515861515145b801561250257506124f6816138e2565b63ffffffff168560ff16145b61254e5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b61256a8b608001518c606001518c604001518c60000151613c47565b9296509094509250905061257d846138e2565b63ffffffff168860ff161480156125a45750612598836138e2565b63ffffffff168760ff16145b80156125bb57506125b482613501565b1515861515145b80156125d757506125cb816138e2565b63ffffffff168560ff16145b6126235760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b61263f8b608001518c60a001518c602001518c60000151613c67565b92965090945092509050612652846138e2565b63ffffffff168860ff16148015612679575061266d836138e2565b63ffffffff168760ff16145b8015612690575061268982613501565b1515861515145b80156126ac57506126a0816138e2565b63ffffffff168560ff16145b6126f85760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6127148b604001518c60a001518c600001518c60200151613c87565b92965090945092509050612727846138e2565b63ffffffff168860ff1614801561274e5750612742836138e2565b63ffffffff168760ff16145b8015612765575061275e82613501565b1515861515145b80156127815750612775816138e2565b63ffffffff168560ff16145b6127cd5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6127e98b608001518c606001518c600001518c60200151613ca7565b929650909450925090506127fc846138e2565b63ffffffff168860ff161480156128235750612817836138e2565b63ffffffff168760ff16145b801561283a575061283382613501565b1515861515145b8015612856575061284a816138e2565b63ffffffff168560ff16145b6128a25760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6128be8b604001518c60a001518c602001518c60200151613cc7565b929650909450925090506128d1846138e2565b63ffffffff168860ff161480156128f857506128ec836138e2565b63ffffffff168760ff16145b801561290f575061290882613501565b1515861515145b801561292b575061291f816138e2565b63ffffffff168560ff16145b6129775760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6129938b608001518c606001518c602001518c60200151613ce6565b929650909450925090506129a6846138e2565b63ffffffff168860ff161480156129cd57506129c1836138e2565b63ffffffff168760ff16145b80156129e457506129dd82613501565b1515861515145b8015612a0057506129f4816138e2565b63ffffffff168560ff16145b612a4c5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b612a688b604001518c60a001518c604001518c60200151613d05565b92965090945092509050612a7b846138e2565b63ffffffff168860ff16148015612aa25750612a96836138e2565b63ffffffff168760ff16145b8015612ab95750612ab282613501565b1515861515145b8015612ad55750612ac9816138e2565b63ffffffff168560ff16145b612b215760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b612b3d8b608001518c606001518c604001518c60200151613d24565b92965090945092509050612b50846138e2565b63ffffffff168860ff16148015612b775750612b6b836138e2565b63ffffffff168760ff16145b8015612b8e5750612b8782613501565b1515861515145b8015612baa5750612b9e816138e2565b63ffffffff168560ff16145b612bf65760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b612c128b608001518c60a001518c602001518c60200151613d43565b92965090945092509050612c25846138e2565b63ffffffff168860ff16148015612c4c5750612c40836138e2565b63ffffffff168760ff16145b8015612c635750612c5c82613501565b1515861515145b8015612c7f5750612c73816138e2565b63ffffffff168560ff16145b612ccb5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b612ce78b608001518c60a001518c604001518c60200151613d62565b92965090945092509050612cfa846138e2565b63ffffffff168860ff16148015612d215750612d15836138e2565b63ffffffff168760ff16145b8015612d385750612d3182613501565b1515861515145b8015612d545750612d48816138e2565b63ffffffff168560ff16145b612da05760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b612dbc8b604001518c60a001518c600001518c60400151613d81565b92965090945092509050612dcf846138e2565b63ffffffff168860ff16148015612df65750612dea836138e2565b63ffffffff168760ff16145b8015612e0d5750612e0682613501565b1515861515145b8015612e295750612e1d816138e2565b63ffffffff168560ff16145b612e755760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b612e918b608001518c606001518c600001518c60400151613da1565b92965090945092509050612ea4846138e2565b63ffffffff168860ff16148015612ecb5750612ebf836138e2565b63ffffffff168760ff16145b8015612ee25750612edb82613501565b1515861515145b8015612efe5750612ef2816138e2565b63ffffffff168560ff16145b612f4a5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b612f668b604001518c60a001518c602001518c60400151613dc1565b92965090945092509050612f79846138e2565b63ffffffff168860ff16148015612fa05750612f94836138e2565b63ffffffff168760ff16145b8015612fb75750612fb082613501565b1515861515145b8015612fd35750612fc7816138e2565b63ffffffff168560ff16145b61301f5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b61303b8b608001518c606001518c602001518c60400151613de0565b9296509094509250905061304e846138e2565b63ffffffff168860ff161480156130755750613069836138e2565b63ffffffff168760ff16145b801561308c575061308582613501565b1515861515145b80156130a8575061309c816138e2565b63ffffffff168560ff16145b6130f45760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6131108b604001518c60a001518c604001518c60400151613dff565b92965090945092509050613123846138e2565b63ffffffff168860ff1614801561314a575061313e836138e2565b63ffffffff168760ff16145b8015613161575061315a82613501565b1515861515145b801561317d5750613171816138e2565b63ffffffff168560ff16145b6131c95760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6131e58b608001518c606001518c604001518c60400151613e1e565b929650909450925090506131f8846138e2565b63ffffffff168860ff1614801561321f5750613213836138e2565b63ffffffff168760ff16145b8015613236575061322f82613501565b1515861515145b80156132525750613246816138e2565b63ffffffff168560ff16145b61329e5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6132ba8b608001518c60a001518c602001518c60400151613e3d565b929650909450925090506132cd846138e2565b63ffffffff168860ff161480156132f457506132e8836138e2565b63ffffffff168760ff16145b801561330b575061330482613501565b1515861515145b8015613327575061331b816138e2565b63ffffffff168560ff16145b610a955760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b600080808080808080606463c2ff267a613391600280808087613e58565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffffffff0000000000000000000000000000000000000000000000000000009091166004820152602481018f9052604481018e9052606481018d9052608481018c905260a4016080604051808303816000875af1158015613424573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134489190614152565b929f919e509c50909a5098505050505050505050565b60006064630cfed56160025b60f81b846040518363ffffffff1660e01b81526004016134b89291907fff00000000000000000000000000000000000000000000000000000000000000929092168252602082015260400190565b6020604051808303816000875af11580156134d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134fb91906141b7565b92915050565b6040517f0cfed56100000000000000000000000000000000000000000000000000000000815260006004820181905260248201839052908190606490630cfed561906044016020604051808303816000875af1158015613565573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061358991906141b7565b15159392505050565b600080808080808080606463c2ff267a61339160026001808087613e58565b600080808080808080606463c2ff267a61339160016002818087613e58565b600080808080808080606463c2ff267a61339160026001818187613e58565b600080808080808080606463c2ff267a61339160016002808287613e58565b600080808080808080606463c2ff267a61339160028060018087613e58565b600080808080808080606463c2ff267a61339160028080600187613e58565b600080808080808080606463c2ff267a61339160026001808287613e58565b600080808080808080606463c2ff267a61339160016002818187613e58565b600080808080808080606463c2ff267a61339160026001818087613e58565b600080808080808080606463c2ff267a61339160016002808087613e58565b600080808080808080606463c2ff267a61339160028060018187613e58565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0100000000000000000000000000000000000000000000000000000000000000600482015260ff8216602482015260009060649063d9b60b60906044016134b8565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0200000000000000000000000000000000000000000000000000000000000000600482015261ffff8216602482015260009060649063d9b60b60906044016134b8565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0300000000000000000000000000000000000000000000000000000000000000600482015263ffffffff8216602482015260009060649063d9b60b60906044016134b8565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0400000000000000000000000000000000000000000000000000000000000000600482015267ffffffffffffffff8216602482015260009060649063d9b60b60906044016134b8565b600080808080808080606463c2ff267a613391600180808087613e58565b60006064630cfed561600161346a565b600080808080808080606463c2ff267a613391600380808087613e58565b60006064630cfed561600361346a565b600080808080808080606463c2ff267a61339160036001808087613e58565b600080808080808080606463c2ff267a61339160016003818087613e58565b600080808080808080606463c2ff267a61339160036001818187613e58565b600080808080808080606463c2ff267a61339160016003808287613e58565b600080808080808080606463c2ff267a61339160038080600187613e58565b600080808080808080606463c2ff267a6133916003600160028187613e58565b600080808080808080606463c2ff267a6133916001600360028287613e58565b600080808080808080606463c2ff267a61339160038060018087613e58565b600080808080808080606463c2ff267a6133916003600180600287613e58565b600080808080808080606463c2ff267a6133916001600381600287613e58565b600080808080808080606463c2ff267a6133916003600181600287613e58565b600080808080808080606463c2ff267a6133916001600380600287613e58565b600080808080808080606463c2ff267a6133916003600160028087613e58565b600080808080808080606463c2ff267a6133916001600360028087613e58565b600080808080808080606463c2ff267a6133916003806001600287613e58565b600080808080808080606463c2ff267a61339160036001808287613e58565b600080808080808080606463c2ff267a61339160016003818187613e58565b600080808080808080606463c2ff267a61339160036001818087613e58565b600080808080808080606463c2ff267a61339160016003808087613e58565b600080808080808080606463c2ff267a6133916003600160028287613e58565b600080808080808080606463c2ff267a6133916001600360028187613e58565b600080808080808080606463c2ff267a61339160038060018187613e58565b600080808080808080606463c2ff267a6133916002600360018087613e58565b600080808080808080606463c2ff267a6133916003600260018087613e58565b600080808080808080606463c2ff267a6133916002600381600187613e58565b600080808080808080606463c2ff267a6133916003600280600187613e58565b600080808080808080606463c2ff267a6133916002600380600187613e58565b600080808080808080606463c2ff267a6133916003600281600187613e58565b600080808080808080606463c2ff267a6133916003806002600187613e58565b600080808080808080606463c2ff267a6133916002600360018287613e58565b600080808080808080606463c2ff267a6133916003600260018187613e58565b600080808080808080606463c2ff267a61339160026003818087613e58565b600080808080808080606463c2ff267a61339160036002808087613e58565b600080808080808080606463c2ff267a61339160026003808287613e58565b600080808080808080606463c2ff267a61339160036002818187613e58565b600080808080808080606463c2ff267a61339160038060028087613e58565b600080808080808080606463c2ff267a61339160038080600287613e58565b600080808080808080606463c2ff267a6133916002600360018187613e58565b600080808080808080606463c2ff267a6133916003600260018287613e58565b600080808080808080606463c2ff267a61339160026003818187613e58565b600080808080808080606463c2ff267a61339160036002808287613e58565b600080808080808080606463c2ff267a61339160026003808087613e58565b600080808080808080606463c2ff267a61339160036002818087613e58565b600080808080808080606463c2ff267a613391600380600281875b6000816002811115613e6c57613e6c614188565b60ff166008846004811115613e8357613e83614188565b61ffff16901b61ffff166010866004811115613ea157613ea1614188565b62ffffff16901b62ffffff166018886004811115613ec157613ec1614188565b63ffffffff16901b63ffffffff1660208a6004811115613ee357613ee3614188565b64ffffffffff16901b1717171760d81b9695505050505050565b604051610100810167ffffffffffffffff81118282101715613f48577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405290565b803560ff81168114613f5f57600080fd5b919050565b600060a08284031215613f7657600080fd5b60405160a0810181811067ffffffffffffffff82111715613fc0577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b806040525080915082358152602083013560208201526040830135604082015260608301356060820152613ff660808401613f4e565b60808201525092915050565b80358015158114613f5f57600080fd5b60008060008060008060008789036102c081121561402f57600080fd5b6101008082121561403f57600080fd5b614047613efd565b91508935825260208a0135602083015260408a0135604083015260608a0135606083015260808a0135608083015260a08a013560a083015260c08a013560c083015260e08a013560e08301528198506140a28b828c01613f64565b975050506140b4896101a08a01613f64565b94506140c36102408901613f4e565b93506140d26102608901613f4e565b92506140e16102808901614002565b91506140f06102a08901613f4e565b905092959891949750929550565b6000806000806080858703121561411457600080fd5b61411d85613f4e565b935061412b60208601613f4e565b925061413960408601613f4e565b915061414760608601613f4e565b905092959194509250565b6000806000806080858703121561416857600080fd5b505082516020840151604085015160609095015191969095509092509050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6000602082840312156141c957600080fd5b505191905056fea164736f6c6343000813000a";
|
|
382
|
+
"0x608060405234801561001057600080fd5b506141dd806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80634717f97c1461005157806386affd16146100a2578063eae36abd146100b7578063f20eac20146100ca575b600080fd5b60005460ff80821691610100810482169162010000820481169163010000009004165b6040805160ff9586168152938516602085015291151583830152909216606082015290519081900360800190f35b6100b56100b0366004614012565b6100dd565b005b6100746100c53660046140fe565b610aa2565b6100b56100d8366004614012565b610e03565b6000806000806100ff8b604001518c606001518c602001518c60200151613373565b93509350935093506101108461345e565b61ffff168860ff1614801561013357506101298361345e565b61ffff168760ff16145b801561014a575061014382613501565b1515861515145b8015610164575061015a8161345e565b61ffff168560ff16145b6101b55760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064015b60405180910390fd5b6101d18b604001518c602001518c600001518c60000151613592565b929650909450925090506101e48461345e565b61ffff168860ff1614801561020757506101fd8361345e565b61ffff168760ff16145b801561021e575061021782613501565b1515861515145b8015610238575061022e8161345e565b61ffff168560ff16145b6102845760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ac565b8a5160608c01518b518b5161029b939291906135b1565b929650909450925090506102ae8461345e565b61ffff168860ff161480156102d157506102c78361345e565b61ffff168760ff16145b80156102e857506102e182613501565b1515861515145b801561030257506102f88161345e565b61ffff168560ff16145b61034e5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ac565b61036a8b604001518c602001518c602001518c600001516135d0565b9296509094509250905061037d8461345e565b61ffff168860ff161480156103a057506103968361345e565b61ffff168760ff16145b80156103b757506103b082613501565b1515861515145b80156103d157506103c78161345e565b61ffff168560ff16145b61041d5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ac565b6104398b600001518c606001518c602001518c600001516135ef565b9296509094509250905061044c8461345e565b61ffff168860ff1614801561046f57506104658361345e565b61ffff168760ff16145b8015610486575061047f82613501565b1515861515145b80156104a057506104968161345e565b61ffff168560ff16145b6104ec5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ac565b6105088b604001518c606001518c600001518c6000015161360e565b9296509094509250905061051b8461345e565b61ffff168860ff1614801561053e57506105348361345e565b61ffff168760ff16145b8015610555575061054e82613501565b1515861515145b801561056f57506105658161345e565b61ffff168560ff16145b6105bb5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ac565b6105d78b604001518c606001518c602001518c6000015161362d565b929650909450925090506105ea8461345e565b61ffff168860ff1614801561060d57506106038361345e565b61ffff168760ff16145b8015610624575061061d82613501565b1515861515145b801561063e57506106348161345e565b61ffff168560ff16145b61068a5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ac565b6106a68b604001518c602001518c600001518c6020015161364c565b929650909450925090506106b98461345e565b61ffff168860ff161480156106dc57506106d28361345e565b61ffff168760ff16145b80156106f357506106ec82613501565b1515861515145b801561070d57506107038161345e565b61ffff168560ff16145b6107595760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ac565b6107758b600001518c606001518c600001518c6020015161366b565b929650909450925090506107888461345e565b61ffff168860ff161480156107ab57506107a18361345e565b61ffff168760ff16145b80156107c257506107bb82613501565b1515861515145b80156107dc57506107d28161345e565b61ffff168560ff16145b6108285760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ac565b6108448b604001518c602001518c602001518c6020015161368a565b929650909450925090506108578461345e565b61ffff168860ff1614801561087a57506108708361345e565b61ffff168760ff16145b8015610891575061088a82613501565b1515861515145b80156108ab57506108a18161345e565b61ffff168560ff16145b6108f75760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ac565b6109138b600001518c606001518c602001518c602001516136a9565b929650909450925090506109268461345e565b61ffff168860ff16148015610949575061093f8361345e565b61ffff168760ff16145b8015610960575061095982613501565b1515861515145b801561097a57506109708161345e565b61ffff168560ff16145b6109c65760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ac565b6109e28b604001518c606001518c600001518c602001516136c8565b929650909450925090506109f58461345e565b61ffff168860ff16148015610a185750610a0e8361345e565b61ffff168760ff16145b8015610a2f5750610a2882613501565b1515861515145b8015610a495750610a3f8161345e565b61ffff168560ff16145b610a955760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ac565b5050505050505050505050565b600080600080610af060405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b610b256040518060a0016040528060008152602001600081526020016000815260200160008152602001600060ff1681525090565b610b5a6040518060a0016040528060008152602001600081526020016000815260200160008152602001600060ff1681525090565b610b638b6136e7565b8352610b6e8a6136e7565b6020840152610b7f60ff8c16613750565b6040840152610b9060ff8b16613750565b6060840152610ba160ff8c166137ba565b6080840152610bb260ff8b166137ba565b60a0840152610bc360ff8c16613826565b60c0840152610bd460ff8b16613826565b60e0840152610be2896136e7565b8252610bf060ff8a16613750565b6020830152610c0160ff8a166137ba565b6040830152610c1260ff8a16613826565b606083015260ff89166080830152610c29886136e7565b8152610c3760ff8916613750565b6020820152610c4860ff89166137ba565b6040820152610c5960ff8916613826565b606082015260ff881660808201528251602084015183518351600093849384938493610c8793929190613896565b9350935093509350610c98846138b4565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff92909216919091179055610cd3836138b4565b600060016101000a81548160ff021916908360ff160217905550610cf682613501565b6000805491151562010000027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff909216919091179055610d35816138b4565b6000805460ff92831663010000009081027fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffff8316811793849055610d9c948c948c948c949383169083161792610100820483169262010000830481169291909104166100dd565b600054610dcd9088908890889060ff8082169161010081048216916201000082048116916301000000900416610e03565b505060005460ff8082169f610100830482169f5062010000830482169e506301000000909204169b509950505050505050505050565b600080600080610e258b608001518c60a001518c604001518c604001516138c4565b9350935093509350610e36846138e2565b63ffffffff168860ff16148015610e5d5750610e51836138e2565b63ffffffff168760ff16145b8015610e745750610e6d82613501565b1515861515145b8015610e905750610e84816138e2565b63ffffffff168560ff16145b610edc5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b610ef88b608001518c602001518c600001518c600001516138f2565b92965090945092509050610f0b846138e2565b63ffffffff168860ff16148015610f325750610f26836138e2565b63ffffffff168760ff16145b8015610f495750610f4282613501565b1515861515145b8015610f655750610f59816138e2565b63ffffffff168560ff16145b610fb15760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b8a5160a08c01518b518b51610fc893929190613911565b92965090945092509050610fdb846138e2565b63ffffffff168860ff161480156110025750610ff6836138e2565b63ffffffff168760ff16145b8015611019575061101282613501565b1515861515145b80156110355750611029816138e2565b63ffffffff168560ff16145b6110815760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b61109d8b608001518c602001518c604001518c60000151613930565b929650909450925090506110b0846138e2565b63ffffffff168860ff161480156110d757506110cb836138e2565b63ffffffff168760ff16145b80156110ee57506110e782613501565b1515861515145b801561110a57506110fe816138e2565b63ffffffff168560ff16145b6111565760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6111728b600001518c60a001518c604001518c6000015161394f565b92965090945092509050611185846138e2565b63ffffffff168860ff161480156111ac57506111a0836138e2565b63ffffffff168760ff16145b80156111c357506111bc82613501565b1515861515145b80156111df57506111d3816138e2565b63ffffffff168560ff16145b61122b5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6112478b608001518c60a001518c604001518c6000015161396e565b9296509094509250905061125a846138e2565b63ffffffff168860ff161480156112815750611275836138e2565b63ffffffff168760ff16145b8015611298575061129182613501565b1515861515145b80156112b457506112a8816138e2565b63ffffffff168560ff16145b6113005760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b61131c8b608001518c602001518c602001518c6000015161398d565b9296509094509250905061132f846138e2565b63ffffffff168860ff16148015611356575061134a836138e2565b63ffffffff168760ff16145b801561136d575061136682613501565b1515861515145b8015611389575061137d816138e2565b63ffffffff168560ff16145b6113d55760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6113f18b600001518c60a001518c602001518c600001516139ad565b92965090945092509050611404846138e2565b63ffffffff168860ff1614801561142b575061141f836138e2565b63ffffffff168760ff16145b8015611442575061143b82613501565b1515861515145b801561145e5750611452816138e2565b63ffffffff168560ff16145b6114aa5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6114c68b608001518c60a001518c600001518c600001516139cd565b929650909450925090506114d9846138e2565b63ffffffff168860ff1614801561150057506114f4836138e2565b63ffffffff168760ff16145b8015611517575061151082613501565b1515861515145b80156115335750611527816138e2565b63ffffffff168560ff16145b61157f5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b61159b8b608001518c602001518c600001518c602001516139ec565b929650909450925090506115ae846138e2565b63ffffffff168860ff161480156115d557506115c9836138e2565b63ffffffff168760ff16145b80156115ec57506115e582613501565b1515861515145b801561160857506115fc816138e2565b63ffffffff168560ff16145b6116545760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6116708b600001518c60a001518c600001518c60200151613a0c565b92965090945092509050611683846138e2565b63ffffffff168860ff161480156116aa575061169e836138e2565b63ffffffff168760ff16145b80156116c157506116ba82613501565b1515861515145b80156116dd57506116d1816138e2565b63ffffffff168560ff16145b6117295760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6117458b608001518c602001518c604001518c60200151613a2c565b92965090945092509050611758846138e2565b63ffffffff168860ff1614801561177f5750611773836138e2565b63ffffffff168760ff16145b8015611796575061178f82613501565b1515861515145b80156117b257506117a6816138e2565b63ffffffff168560ff16145b6117fe5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b61181a8b600001518c60a001518c604001518c60200151613a4c565b9296509094509250905061182d846138e2565b63ffffffff168860ff161480156118545750611848836138e2565b63ffffffff168760ff16145b801561186b575061186482613501565b1515861515145b8015611887575061187b816138e2565b63ffffffff168560ff16145b6118d35760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6118ef8b608001518c602001518c602001518c60200151613a6c565b92965090945092509050611902846138e2565b63ffffffff168860ff16148015611929575061191d836138e2565b63ffffffff168760ff16145b8015611940575061193982613501565b1515861515145b801561195c5750611950816138e2565b63ffffffff168560ff16145b6119a85760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6119c48b600001518c60a001518c602001518c60200151613a8c565b929650909450925090506119d7846138e2565b63ffffffff168860ff161480156119fe57506119f2836138e2565b63ffffffff168760ff16145b8015611a155750611a0e82613501565b1515861515145b8015611a315750611a25816138e2565b63ffffffff168560ff16145b611a7d5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b611a998b608001518c60a001518c600001518c60200151613aac565b92965090945092509050611aac846138e2565b63ffffffff168860ff16148015611ad35750611ac7836138e2565b63ffffffff168760ff16145b8015611aea5750611ae382613501565b1515861515145b8015611b065750611afa816138e2565b63ffffffff168560ff16145b611b525760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b611b6e8b608001518c602001518c600001518c60400151613acc565b92965090945092509050611b81846138e2565b63ffffffff168860ff16148015611ba85750611b9c836138e2565b63ffffffff168760ff16145b8015611bbf5750611bb882613501565b1515861515145b8015611bdb5750611bcf816138e2565b63ffffffff168560ff16145b611c275760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b611c438b600001518c60a001518c600001518c60400151613aeb565b92965090945092509050611c56846138e2565b63ffffffff168860ff16148015611c7d5750611c71836138e2565b63ffffffff168760ff16145b8015611c945750611c8d82613501565b1515861515145b8015611cb05750611ca4816138e2565b63ffffffff168560ff16145b611cfc5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b611d188b608001518c602001518c604001518c60400151613b0a565b92965090945092509050611d2b846138e2565b63ffffffff168860ff16148015611d525750611d46836138e2565b63ffffffff168760ff16145b8015611d695750611d6282613501565b1515861515145b8015611d855750611d79816138e2565b63ffffffff168560ff16145b611dd15760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b611ded8b600001518c60a001518c604001518c60400151613b29565b92965090945092509050611e00846138e2565b63ffffffff168860ff16148015611e275750611e1b836138e2565b63ffffffff168760ff16145b8015611e3e5750611e3782613501565b1515861515145b8015611e5a5750611e4e816138e2565b63ffffffff168560ff16145b611ea65760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b611ec28b608001518c602001518c602001518c60400151613b48565b92965090945092509050611ed5846138e2565b63ffffffff168860ff16148015611efc5750611ef0836138e2565b63ffffffff168760ff16145b8015611f135750611f0c82613501565b1515861515145b8015611f2f5750611f23816138e2565b63ffffffff168560ff16145b611f7b5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b611f978b600001518c60a001518c602001518c60400151613b68565b92965090945092509050611faa846138e2565b63ffffffff168860ff16148015611fd15750611fc5836138e2565b63ffffffff168760ff16145b8015611fe85750611fe182613501565b1515861515145b80156120045750611ff8816138e2565b63ffffffff168560ff16145b6120505760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b61206c8b608001518c60a001518c600001518c60400151613b88565b9296509094509250905061207f846138e2565b63ffffffff168860ff161480156120a6575061209a836138e2565b63ffffffff168760ff16145b80156120bd57506120b682613501565b1515861515145b80156120d957506120cd816138e2565b63ffffffff168560ff16145b6121255760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6121418b604001518c60a001518c600001518c60000151613ba7565b92965090945092509050612154846138e2565b63ffffffff168860ff1614801561217b575061216f836138e2565b63ffffffff168760ff16145b8015612192575061218b82613501565b1515861515145b80156121ae57506121a2816138e2565b63ffffffff168560ff16145b6121fa5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6122168b608001518c606001518c600001518c60000151613bc7565b92965090945092509050612229846138e2565b63ffffffff168860ff161480156122505750612244836138e2565b63ffffffff168760ff16145b8015612267575061226082613501565b1515861515145b80156122835750612277816138e2565b63ffffffff168560ff16145b6122cf5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6122eb8b604001518c60a001518c602001518c60000151613be7565b929650909450925090506122fe846138e2565b63ffffffff168860ff161480156123255750612319836138e2565b63ffffffff168760ff16145b801561233c575061233582613501565b1515861515145b8015612358575061234c816138e2565b63ffffffff168560ff16145b6123a45760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6123c08b608001518c606001518c602001518c60000151613c07565b929650909450925090506123d3846138e2565b63ffffffff168860ff161480156123fa57506123ee836138e2565b63ffffffff168760ff16145b8015612411575061240a82613501565b1515861515145b801561242d5750612421816138e2565b63ffffffff168560ff16145b6124795760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6124958b604001518c60a001518c604001518c60000151613c27565b929650909450925090506124a8846138e2565b63ffffffff168860ff161480156124cf57506124c3836138e2565b63ffffffff168760ff16145b80156124e657506124df82613501565b1515861515145b801561250257506124f6816138e2565b63ffffffff168560ff16145b61254e5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b61256a8b608001518c606001518c604001518c60000151613c47565b9296509094509250905061257d846138e2565b63ffffffff168860ff161480156125a45750612598836138e2565b63ffffffff168760ff16145b80156125bb57506125b482613501565b1515861515145b80156125d757506125cb816138e2565b63ffffffff168560ff16145b6126235760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b61263f8b608001518c60a001518c602001518c60000151613c67565b92965090945092509050612652846138e2565b63ffffffff168860ff16148015612679575061266d836138e2565b63ffffffff168760ff16145b8015612690575061268982613501565b1515861515145b80156126ac57506126a0816138e2565b63ffffffff168560ff16145b6126f85760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6127148b604001518c60a001518c600001518c60200151613c87565b92965090945092509050612727846138e2565b63ffffffff168860ff1614801561274e5750612742836138e2565b63ffffffff168760ff16145b8015612765575061275e82613501565b1515861515145b80156127815750612775816138e2565b63ffffffff168560ff16145b6127cd5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6127e98b608001518c606001518c600001518c60200151613ca7565b929650909450925090506127fc846138e2565b63ffffffff168860ff161480156128235750612817836138e2565b63ffffffff168760ff16145b801561283a575061283382613501565b1515861515145b8015612856575061284a816138e2565b63ffffffff168560ff16145b6128a25760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6128be8b604001518c60a001518c602001518c60200151613cc7565b929650909450925090506128d1846138e2565b63ffffffff168860ff161480156128f857506128ec836138e2565b63ffffffff168760ff16145b801561290f575061290882613501565b1515861515145b801561292b575061291f816138e2565b63ffffffff168560ff16145b6129775760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6129938b608001518c606001518c602001518c60200151613ce6565b929650909450925090506129a6846138e2565b63ffffffff168860ff161480156129cd57506129c1836138e2565b63ffffffff168760ff16145b80156129e457506129dd82613501565b1515861515145b8015612a0057506129f4816138e2565b63ffffffff168560ff16145b612a4c5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b612a688b604001518c60a001518c604001518c60200151613d05565b92965090945092509050612a7b846138e2565b63ffffffff168860ff16148015612aa25750612a96836138e2565b63ffffffff168760ff16145b8015612ab95750612ab282613501565b1515861515145b8015612ad55750612ac9816138e2565b63ffffffff168560ff16145b612b215760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b612b3d8b608001518c606001518c604001518c60200151613d24565b92965090945092509050612b50846138e2565b63ffffffff168860ff16148015612b775750612b6b836138e2565b63ffffffff168760ff16145b8015612b8e5750612b8782613501565b1515861515145b8015612baa5750612b9e816138e2565b63ffffffff168560ff16145b612bf65760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b612c128b608001518c60a001518c602001518c60200151613d43565b92965090945092509050612c25846138e2565b63ffffffff168860ff16148015612c4c5750612c40836138e2565b63ffffffff168760ff16145b8015612c635750612c5c82613501565b1515861515145b8015612c7f5750612c73816138e2565b63ffffffff168560ff16145b612ccb5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b612ce78b608001518c60a001518c604001518c60200151613d62565b92965090945092509050612cfa846138e2565b63ffffffff168860ff16148015612d215750612d15836138e2565b63ffffffff168760ff16145b8015612d385750612d3182613501565b1515861515145b8015612d545750612d48816138e2565b63ffffffff168560ff16145b612da05760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b612dbc8b604001518c60a001518c600001518c60400151613d81565b92965090945092509050612dcf846138e2565b63ffffffff168860ff16148015612df65750612dea836138e2565b63ffffffff168760ff16145b8015612e0d5750612e0682613501565b1515861515145b8015612e295750612e1d816138e2565b63ffffffff168560ff16145b612e755760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b612e918b608001518c606001518c600001518c60400151613da1565b92965090945092509050612ea4846138e2565b63ffffffff168860ff16148015612ecb5750612ebf836138e2565b63ffffffff168760ff16145b8015612ee25750612edb82613501565b1515861515145b8015612efe5750612ef2816138e2565b63ffffffff168560ff16145b612f4a5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b612f668b604001518c60a001518c602001518c60400151613dc1565b92965090945092509050612f79846138e2565b63ffffffff168860ff16148015612fa05750612f94836138e2565b63ffffffff168760ff16145b8015612fb75750612fb082613501565b1515861515145b8015612fd35750612fc7816138e2565b63ffffffff168560ff16145b61301f5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b61303b8b608001518c606001518c602001518c60400151613de0565b9296509094509250905061304e846138e2565b63ffffffff168860ff161480156130755750613069836138e2565b63ffffffff168760ff16145b801561308c575061308582613501565b1515861515145b80156130a8575061309c816138e2565b63ffffffff168560ff16145b6130f45760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6131108b604001518c60a001518c604001518c60400151613dff565b92965090945092509050613123846138e2565b63ffffffff168860ff1614801561314a575061313e836138e2565b63ffffffff168760ff16145b8015613161575061315a82613501565b1515861515145b801561317d5750613171816138e2565b63ffffffff168560ff16145b6131c95760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6131e58b608001518c606001518c604001518c60400151613e1e565b929650909450925090506131f8846138e2565b63ffffffff168860ff1614801561321f5750613213836138e2565b63ffffffff168760ff16145b8015613236575061322f82613501565b1515861515145b80156132525750613246816138e2565b63ffffffff168560ff16145b61329e5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6132ba8b608001518c60a001518c602001518c60400151613e3d565b929650909450925090506132cd846138e2565b63ffffffff168860ff161480156132f457506132e8836138e2565b63ffffffff168760ff16145b801561330b575061330482613501565b1515861515145b8015613327575061331b816138e2565b63ffffffff168560ff16145b610a955760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b600080808080808080606463c2ff267a613391600280808087613e58565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffffffff0000000000000000000000000000000000000000000000000000009091166004820152602481018f9052604481018e9052606481018d9052608481018c905260a4016080604051808303816000875af1158015613424573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134489190614152565b929f919e509c50909a5098505050505050505050565b60006064630cfed56160025b60f81b846040518363ffffffff1660e01b81526004016134b89291907fff00000000000000000000000000000000000000000000000000000000000000929092168252602082015260400190565b6020604051808303816000875af11580156134d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134fb91906141b7565b92915050565b6040517f0cfed56100000000000000000000000000000000000000000000000000000000815260006004820181905260248201839052908190606490630cfed561906044016020604051808303816000875af1158015613565573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061358991906141b7565b15159392505050565b600080808080808080606463c2ff267a61339160026001808087613e58565b600080808080808080606463c2ff267a61339160016002818087613e58565b600080808080808080606463c2ff267a61339160026001818187613e58565b600080808080808080606463c2ff267a61339160016002808287613e58565b600080808080808080606463c2ff267a61339160028060018087613e58565b600080808080808080606463c2ff267a61339160028080600187613e58565b600080808080808080606463c2ff267a61339160026001808287613e58565b600080808080808080606463c2ff267a61339160016002818187613e58565b600080808080808080606463c2ff267a61339160026001818087613e58565b600080808080808080606463c2ff267a61339160016002808087613e58565b600080808080808080606463c2ff267a61339160028060018187613e58565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0100000000000000000000000000000000000000000000000000000000000000600482015260ff8216602482015260009060649063d9b60b60906044016134b8565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0200000000000000000000000000000000000000000000000000000000000000600482015261ffff8216602482015260009060649063d9b60b60906044016134b8565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0300000000000000000000000000000000000000000000000000000000000000600482015263ffffffff8216602482015260009060649063d9b60b60906044016134b8565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0400000000000000000000000000000000000000000000000000000000000000600482015267ffffffffffffffff8216602482015260009060649063d9b60b60906044016134b8565b600080808080808080606463c2ff267a613391600180808087613e58565b60006064630cfed561600161346a565b600080808080808080606463c2ff267a613391600380808087613e58565b60006064630cfed561600361346a565b600080808080808080606463c2ff267a61339160036001808087613e58565b600080808080808080606463c2ff267a61339160016003818087613e58565b600080808080808080606463c2ff267a61339160036001818187613e58565b600080808080808080606463c2ff267a61339160016003808287613e58565b600080808080808080606463c2ff267a61339160038080600187613e58565b600080808080808080606463c2ff267a6133916003600160028187613e58565b600080808080808080606463c2ff267a6133916001600360028287613e58565b600080808080808080606463c2ff267a61339160038060018087613e58565b600080808080808080606463c2ff267a6133916003600180600287613e58565b600080808080808080606463c2ff267a6133916001600381600287613e58565b600080808080808080606463c2ff267a6133916003600181600287613e58565b600080808080808080606463c2ff267a6133916001600380600287613e58565b600080808080808080606463c2ff267a6133916003600160028087613e58565b600080808080808080606463c2ff267a6133916001600360028087613e58565b600080808080808080606463c2ff267a6133916003806001600287613e58565b600080808080808080606463c2ff267a61339160036001808287613e58565b600080808080808080606463c2ff267a61339160016003818187613e58565b600080808080808080606463c2ff267a61339160036001818087613e58565b600080808080808080606463c2ff267a61339160016003808087613e58565b600080808080808080606463c2ff267a6133916003600160028287613e58565b600080808080808080606463c2ff267a6133916001600360028187613e58565b600080808080808080606463c2ff267a61339160038060018187613e58565b600080808080808080606463c2ff267a6133916002600360018087613e58565b600080808080808080606463c2ff267a6133916003600260018087613e58565b600080808080808080606463c2ff267a6133916002600381600187613e58565b600080808080808080606463c2ff267a6133916003600280600187613e58565b600080808080808080606463c2ff267a6133916002600380600187613e58565b600080808080808080606463c2ff267a6133916003600281600187613e58565b600080808080808080606463c2ff267a6133916003806002600187613e58565b600080808080808080606463c2ff267a6133916002600360018287613e58565b600080808080808080606463c2ff267a6133916003600260018187613e58565b600080808080808080606463c2ff267a61339160026003818087613e58565b600080808080808080606463c2ff267a61339160036002808087613e58565b600080808080808080606463c2ff267a61339160026003808287613e58565b600080808080808080606463c2ff267a61339160036002818187613e58565b600080808080808080606463c2ff267a61339160038060028087613e58565b600080808080808080606463c2ff267a61339160038080600287613e58565b600080808080808080606463c2ff267a6133916002600360018187613e58565b600080808080808080606463c2ff267a6133916003600260018287613e58565b600080808080808080606463c2ff267a61339160026003818187613e58565b600080808080808080606463c2ff267a61339160036002808287613e58565b600080808080808080606463c2ff267a61339160026003808087613e58565b600080808080808080606463c2ff267a61339160036002818087613e58565b600080808080808080606463c2ff267a613391600380600281875b6000816002811115613e6c57613e6c614188565b60ff166008846006811115613e8357613e83614188565b61ffff16901b61ffff166010866006811115613ea157613ea1614188565b62ffffff16901b62ffffff166018886006811115613ec157613ec1614188565b63ffffffff16901b63ffffffff1660208a6006811115613ee357613ee3614188565b64ffffffffff16901b1717171760d81b9695505050505050565b604051610100810167ffffffffffffffff81118282101715613f48577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405290565b803560ff81168114613f5f57600080fd5b919050565b600060a08284031215613f7657600080fd5b60405160a0810181811067ffffffffffffffff82111715613fc0577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b806040525080915082358152602083013560208201526040830135604082015260608301356060820152613ff660808401613f4e565b60808201525092915050565b80358015158114613f5f57600080fd5b60008060008060008060008789036102c081121561402f57600080fd5b6101008082121561403f57600080fd5b614047613efd565b91508935825260208a0135602083015260408a0135604083015260608a0135606083015260808a0135608083015260a08a013560a083015260c08a013560c083015260e08a013560e08301528198506140a28b828c01613f64565b975050506140b4896101a08a01613f64565b94506140c36102408901613f4e565b93506140d26102608901613f4e565b92506140e16102808901614002565b91506140f06102a08901613f4e565b905092959891949750929550565b6000806000806080858703121561411457600080fd5b61411d85613f4e565b935061412b60208601613f4e565b925061413960408601613f4e565b915061414760608601613f4e565b905092959194509250565b6000806000806080858703121561416857600080fd5b505082516020840151604085015160609095015191969095509092509050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6000602082840312156141c957600080fd5b505191905056fea164736f6c6343000813000a";
|
|
383
383
|
|
|
384
384
|
type TransferWithAllowanceTestsContractConstructorParams =
|
|
385
385
|
| [signer?: Signer]
|