@1inch/solidity-utils 3.3.0 → 3.4.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.
Files changed (54) hide show
  1. package/contracts/interfaces/IWETH.sol +2 -2
  2. package/contracts/mocks/TokenCustomDecimalsMock.sol +3 -3
  3. package/dist/src/index.d.ts +1 -0
  4. package/dist/src/index.js +1 -0
  5. package/dist/src/index.js.map +1 -1
  6. package/dist/src/networks.d.ts +25 -0
  7. package/dist/src/networks.js +118 -0
  8. package/dist/src/networks.js.map +1 -0
  9. package/dist/typechain-types/common.d.ts +2 -2
  10. package/dist/typechain-types/factories/contracts/libraries/SafeERC20__factory.d.ts +1 -1
  11. package/dist/typechain-types/factories/contracts/libraries/SafeERC20__factory.js +1 -1
  12. package/dist/typechain-types/factories/contracts/libraries/UniERC20__factory.d.ts +1 -1
  13. package/dist/typechain-types/factories/contracts/libraries/UniERC20__factory.js +1 -1
  14. package/dist/typechain-types/factories/contracts/mocks/TokenCustomDecimalsMock__factory.d.ts +1 -1
  15. package/dist/typechain-types/factories/contracts/mocks/TokenCustomDecimalsMock__factory.js +1 -1
  16. package/dist/typechain-types/factories/contracts/tests/RevertReasonParserTest__factory.d.ts +1 -1
  17. package/dist/typechain-types/factories/contracts/tests/RevertReasonParserTest__factory.js +1 -1
  18. package/dist/typechain-types/factories/contracts/tests/mocks/DaiLikePermitMock__factory.d.ts +1 -1
  19. package/dist/typechain-types/factories/contracts/tests/mocks/DaiLikePermitMock__factory.js +1 -1
  20. package/dist/typechain-types/factories/contracts/tests/mocks/PermitableMock__factory.d.ts +1 -1
  21. package/dist/typechain-types/factories/contracts/tests/mocks/PermitableMock__factory.js +1 -1
  22. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20NoReturnMock__factory.d.ts +1 -1
  23. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20NoReturnMock__factory.js +1 -1
  24. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20PermitNoRevertMock__factory.d.ts +1 -1
  25. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20PermitNoRevertMock__factory.js +1 -1
  26. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20ReturnFalseMock__factory.d.ts +3 -3
  27. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20ReturnFalseMock__factory.js +3 -3
  28. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20ReturnFalseMock__factory.js.map +1 -1
  29. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20ReturnTrueMock__factory.d.ts +1 -1
  30. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20ReturnTrueMock__factory.js +1 -1
  31. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20ThroughZeroApprove__factory.d.ts +1 -1
  32. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20ThroughZeroApprove__factory.js +1 -1
  33. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20WithSafeBalance__factory.d.ts +1 -1
  34. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20WithSafeBalance__factory.js +1 -1
  35. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/Permit2ReturnTrueMock__factory.d.ts +1 -1
  36. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/Permit2ReturnTrueMock__factory.js +1 -1
  37. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/SafeERC20Wrapper__factory.d.ts +1 -1
  38. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/SafeERC20Wrapper__factory.js +1 -1
  39. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/SafeWETHWrapper__factory.d.ts +1 -1
  40. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/SafeWETHWrapper__factory.js +1 -1
  41. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20Capitals__factory.d.ts +1 -1
  42. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20Capitals__factory.js +1 -1
  43. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20bytes32Capitals__factory.d.ts +1 -1
  44. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20bytes32Capitals__factory.js +1 -1
  45. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20bytes32__factory.d.ts +1 -1
  46. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20bytes32__factory.js +1 -1
  47. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ETHBadReceiver__factory.d.ts +5 -1
  48. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ETHBadReceiver__factory.js +6 -1
  49. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ETHBadReceiver__factory.js.map +1 -1
  50. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/UniERC20Wrapper__factory.d.ts +1 -1
  51. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/UniERC20Wrapper__factory.js +1 -1
  52. package/dist/typechain-types/factories/contracts/tests/mocks/WETH__factory.d.ts +1 -1
  53. package/dist/typechain-types/factories/contracts/tests/mocks/WETH__factory.js +1 -1
  54. package/package.json +28 -35
@@ -5,9 +5,9 @@ pragma solidity ^0.8.0;
5
5
  import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
6
6
 
7
7
  interface IWETH is IERC20 {
8
- event Deposit(address indexed dst, uint wad);
8
+ event Deposit(address indexed dst, uint256 wad);
9
9
 
10
- event Withdrawal(address indexed src, uint wad);
10
+ event Withdrawal(address indexed src, uint256 wad);
11
11
 
12
12
  function deposit() external payable;
13
13
 
@@ -6,7 +6,7 @@ import "@openzeppelin/contracts/access/Ownable.sol";
6
6
  import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol";
7
7
 
8
8
  contract TokenCustomDecimalsMock is ERC20Permit, Ownable {
9
- uint8 internal immutable _decimals;
9
+ uint8 internal immutable _DECIMALS;
10
10
 
11
11
  constructor(
12
12
  string memory name,
@@ -15,7 +15,7 @@ contract TokenCustomDecimalsMock is ERC20Permit, Ownable {
15
15
  uint8 decimals_
16
16
  ) ERC20(name, symbol) ERC20Permit(name) Ownable(msg.sender) {
17
17
  _mint(msg.sender, amount);
18
- _decimals = decimals_;
18
+ _DECIMALS = decimals_;
19
19
  }
20
20
 
21
21
  function mint(address account, uint256 amount) external onlyOwner {
@@ -27,7 +27,7 @@ contract TokenCustomDecimalsMock is ERC20Permit, Ownable {
27
27
  }
28
28
 
29
29
  function decimals() public view virtual override returns (uint8) {
30
- return _decimals;
30
+ return _DECIMALS;
31
31
  }
32
32
 
33
33
  function getChainId() external view returns (uint256) {
@@ -1,4 +1,5 @@
1
1
  export * from './asserts';
2
+ export * from './networks';
2
3
  export * from './permit';
3
4
  export * from './prelude';
4
5
  export * from './profileEVM';
package/dist/src/index.js CHANGED
@@ -3,6 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  const tslib_1 = require("tslib");
5
5
  tslib_1.__exportStar(require("./asserts"), exports);
6
+ tslib_1.__exportStar(require("./networks"), exports);
6
7
  tslib_1.__exportStar(require("./permit"), exports);
7
8
  tslib_1.__exportStar(require("./prelude"), exports);
8
9
  tslib_1.__exportStar(require("./profileEVM"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA,iCAAiC;;;AAEjC,oDAA0B;AAC1B,mDAAyB;AACzB,oDAA0B;AAC1B,uDAA6B;AAC7B,kDAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA,iCAAiC;;;AAEjC,oDAA0B;AAC1B,qDAA2B;AAC3B,mDAAyB;AACzB,oDAA0B;AAC1B,uDAA6B;AAC7B,kDAAwB"}
@@ -0,0 +1,25 @@
1
+ import { ChainConfig } from '@nomicfoundation/hardhat-verify/src/types';
2
+ import { NetworksUserConfig } from 'hardhat/types';
3
+ import 'hardhat-deploy';
4
+ export type Etherscan = {
5
+ apiKey: {
6
+ [key: string]: string;
7
+ };
8
+ customChains: ChainConfig[];
9
+ };
10
+ export declare function getNetwork(): string;
11
+ export declare class Networks {
12
+ networks: NetworksUserConfig;
13
+ etherscan: Etherscan;
14
+ constructor(useHardhat?: boolean, forkingNetworkName?: string, needAuthKeyHttpHeader?: boolean, saveHardhatDeployments?: boolean);
15
+ updateHardhatNetwork(useHardhat: boolean, forkingNetworkName?: string, needAuthKeyHttpHeader?: boolean, saveHardhatDeployments?: boolean): void;
16
+ register(name: string, chainId: number, url?: string, privateKey?: string, etherscanNetworkName?: string, etherscanKey?: string, hardfork?: string): void;
17
+ registerCustom(name: string, chainId: number, url?: string, privateKey?: string, etherscanKey?: string, apiURL?: string, browserURL?: string, hardfork?: string): void;
18
+ registerZksync(): void;
19
+ registerAll(): {
20
+ networks: NetworksUserConfig;
21
+ etherscan: Etherscan;
22
+ };
23
+ unregister(name: string): void;
24
+ unregisterBatch(names: string[]): void;
25
+ }
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Networks = exports.getNetwork = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const dotenv_1 = tslib_1.__importDefault(require("dotenv"));
6
+ require("hardhat-deploy"); // required to populate the HardhatNetworkUserConfig with saveDeployments
7
+ function getNetwork() {
8
+ const index = process.argv.findIndex((arg) => arg === '--network') + 1;
9
+ return index !== 0 ? process.argv[index] : 'unknown';
10
+ }
11
+ exports.getNetwork = getNetwork;
12
+ class Networks {
13
+ constructor(useHardhat = true, forkingNetworkName, needAuthKeyHttpHeader = false, saveHardhatDeployments = false) {
14
+ this.networks = {};
15
+ this.etherscan = { apiKey: {}, customChains: [] };
16
+ dotenv_1.default.config();
17
+ this.updateHardhatNetwork(useHardhat, forkingNetworkName, needAuthKeyHttpHeader, saveHardhatDeployments);
18
+ }
19
+ updateHardhatNetwork(useHardhat, forkingNetworkName, needAuthKeyHttpHeader = false, saveHardhatDeployments = false) {
20
+ if (useHardhat || forkingNetworkName) {
21
+ this.networks.hardhat = {
22
+ chainId: Number(process.env.FORK_CHAIN_ID) || 31337,
23
+ saveDeployments: saveHardhatDeployments,
24
+ };
25
+ }
26
+ if (forkingNetworkName) {
27
+ this.networks.hardhat.forking = {
28
+ url: process.env[`${forkingNetworkName.toUpperCase()}_RPC_URL`] || '',
29
+ httpHeaders: needAuthKeyHttpHeader
30
+ ? { 'auth-key': process.env.RPC_AUTH_HEADER || '' }
31
+ : undefined,
32
+ };
33
+ }
34
+ }
35
+ register(name, chainId, url, privateKey, etherscanNetworkName, etherscanKey, hardfork = 'paris') {
36
+ if (url && privateKey && etherscanNetworkName && etherscanKey) {
37
+ this.networks[name] = {
38
+ url,
39
+ chainId,
40
+ accounts: [privateKey],
41
+ hardfork,
42
+ };
43
+ this.etherscan.apiKey[etherscanNetworkName] = etherscanKey;
44
+ console.log(`Network '${name}' registered`);
45
+ }
46
+ else {
47
+ console.log(`Network '${name}' not registered`);
48
+ }
49
+ }
50
+ registerCustom(name, chainId, url, privateKey, etherscanKey, apiURL = '', browserURL = '', hardfork = 'paris') {
51
+ if (url && privateKey && etherscanKey) {
52
+ this.register(name, chainId, hardfork, url, privateKey, name, etherscanKey);
53
+ this.etherscan.customChains.push({ network: name, chainId, urls: { apiURL, browserURL } });
54
+ }
55
+ }
56
+ registerZksync() {
57
+ if (process.env.ZKSYNC_PRIVATE_KEY) {
58
+ this.networks.zksync = {
59
+ url: process.env.ZKSYNC_RPC_URL || 'https://mainnet.era.zksync.io',
60
+ ethNetwork: 'mainnet',
61
+ zksync: true,
62
+ chainId: 324,
63
+ verifyURL: 'https://zksync2-mainnet-explorer.zksync.io/contract_verification',
64
+ accounts: [process.env.ZKSYNC_PRIVATE_KEY],
65
+ hardfork: 'paris',
66
+ };
67
+ this.networks.zksyncFork = {
68
+ url: process.env.ZKSYNC_RPC_URL || '',
69
+ ethNetwork: 'mainnet',
70
+ zksync: true,
71
+ chainId: 260,
72
+ hardfork: 'paris',
73
+ };
74
+ this.networks.zksyncLocal = {
75
+ url: process.env.ZKSYNC_RPC_URL || 'http://localhost:3050',
76
+ ethNetwork: process.env.ZKSYNC_ETH_NETWORK || 'http://localhost:8545',
77
+ zksync: true,
78
+ chainId: 270,
79
+ hardfork: 'paris',
80
+ };
81
+ this.networks.zksyncTest = {
82
+ url: process.env.ZKSYNC_RPC_URL || 'https://testnet.era.zksync.dev',
83
+ ethNetwork: 'goerli',
84
+ zksync: true,
85
+ chainId: 280,
86
+ hardfork: 'paris',
87
+ };
88
+ console.log('Network \'zksync\' registered');
89
+ }
90
+ else {
91
+ console.log('Network \'zksync\' not registered');
92
+ }
93
+ }
94
+ registerAll() {
95
+ this.register('mainnet', 1, process.env.MAINNET_RPC_URL, process.env.MAINNET_PRIVATE_KEY, 'mainnet', process.env.MAINNET_ETHERSCAN_KEY, 'shanghai');
96
+ this.register('bsc', 56, process.env.BSC_RPC_URL, process.env.BSC_PRIVATE_KEY, 'bsc', process.env.BSC_ETHERSCAN_KEY);
97
+ this.register('kovan', 42, process.env.KOVAN_RPC_URL, process.env.KOVAN_PRIVATE_KEY, 'kovan', process.env.KOVAN_ETHERSCAN_KEY);
98
+ this.register('optimistic', 10, process.env.OPTIMISTIC_RPC_URL, process.env.OPTIMISTIC_PRIVATE_KEY, 'optimisticEthereum', process.env.OPTIMISTIC_ETHERSCAN_KEY);
99
+ this.register('matic', 137, process.env.MATIC_RPC_URL, process.env.MATIC_PRIVATE_KEY, 'polygon', process.env.MATIC_ETHERSCAN_KEY);
100
+ this.register('arbitrum', 42161, process.env.ARBITRUM_RPC_URL, process.env.ARBITRUM_PRIVATE_KEY, 'arbitrumOne', process.env.ARBITRUM_ETHERSCAN_KEY);
101
+ this.register('xdai', 100, process.env.XDAI_RPC_URL, process.env.XDAI_PRIVATE_KEY, 'gnosis', process.env.XDAI_ETHERSCAN_KEY);
102
+ this.register('avax', 43114, process.env.AVAX_RPC_URL, process.env.AVAX_PRIVATE_KEY, 'avalanche', process.env.AVAX_ETHERSCAN_KEY);
103
+ this.register('fantom', 250, process.env.FANTOM_RPC_URL, process.env.FANTOM_PRIVATE_KEY, 'opera', process.env.FANTOM_ETHERSCAN_KEY);
104
+ this.register('aurora', 1313161554, process.env.AURORA_RPC_URL, process.env.AURORA_PRIVATE_KEY, 'aurora', process.env.AURORA_ETHERSCAN_KEY);
105
+ this.register('base', 8453, process.env.BASE_RPC_URL, process.env.BASE_PRIVATE_KEY, 'base', process.env.BASE_ETHERSCAN_KEY);
106
+ this.registerCustom('klaytn', 8217, process.env.KLAYTN_RPC_URL, process.env.KLAYTN_PRIVATE_KEY, process.env.KLAYTN_ETHERSCAN_KEY, 'https://scope.klaytn.com/', 'https://scope.klaytn.com/');
107
+ this.registerZksync();
108
+ return { networks: this.networks, etherscan: this.etherscan };
109
+ }
110
+ unregister(name) {
111
+ delete this.networks[name];
112
+ }
113
+ unregisterBatch(names) {
114
+ names.forEach((name) => this.unregister(name));
115
+ }
116
+ }
117
+ exports.Networks = Networks;
118
+ //# sourceMappingURL=networks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"networks.js","sourceRoot":"","sources":["../../src/networks.ts"],"names":[],"mappings":";;;;AAAA,4DAA4B;AAG5B,0BAAwB,CAAE,yEAAyE;AAInG,SAAgB,UAAU;IACtB,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,WAAW,CAAC,GAAG,CAAC,CAAC;IACvE,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACzD,CAAC;AAHD,gCAGC;AAED,MAAa,QAAQ;IAIjB,YAAY,aAAsB,IAAI,EAAE,kBAA2B,EAAE,wBAAiC,KAAK,EAAE,yBAAkC,KAAK;QAHpJ,aAAQ,GAAuB,EAAE,CAAC;QAClC,cAAS,GAAc,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;QAGpD,gBAAM,CAAC,MAAM,EAAE,CAAC;QAChB,IAAI,CAAC,oBAAoB,CAAC,UAAU,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,sBAAsB,CAAC,CAAC;IAC7G,CAAC;IAED,oBAAoB,CAAC,UAAmB,EAAE,kBAA2B,EAAE,wBAAiC,KAAK,EAAE,yBAAkC,KAAK;QAClJ,IAAI,UAAU,IAAI,kBAAkB,EAAE;YAClC,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG;gBACpB,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,KAAK;gBACnD,eAAe,EAAE,sBAAsB;aAC1C,CAAC;SACL;QAED,IAAI,kBAAkB,EAAE;YACpB,IAAI,CAAC,QAAQ,CAAC,OAAQ,CAAC,OAAO,GAAG;gBAC7B,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,kBAAkB,CAAC,WAAW,EAAE,UAAU,CAAC,IAAI,EAAE;gBACrE,WAAW,EAAE,qBAAqB;oBAC9B,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE,EAAE;oBACnD,CAAC,CAAC,SAAS;aAClB,CAAC;SACL;IACL,CAAC;IAED,QAAQ,CAAC,IAAY,EAAE,OAAe,EAAE,GAAY,EAAE,UAAmB,EAAE,oBAA6B,EAAE,YAAqB,EAAE,WAAmB,OAAO;QACvJ,IAAI,GAAG,IAAI,UAAU,IAAI,oBAAoB,IAAI,YAAY,EAAE;YAC3D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG;gBAClB,GAAG;gBACH,OAAO;gBACP,QAAQ,EAAE,CAAC,UAAU,CAAC;gBACtB,QAAQ;aACX,CAAC;YACF,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,oBAAoB,CAAC,GAAG,YAAY,CAAC;YAC3D,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,cAAc,CAAC,CAAC;SAC/C;aAAM;YACH,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,kBAAkB,CAAC,CAAC;SACnD;IACL,CAAC;IAED,cAAc,CAAC,IAAY,EAAE,OAAe,EAAE,GAAY,EAAE,UAAmB,EAAE,YAAqB,EAAE,SAAiB,EAAE,EAAE,aAAqB,EAAE,EAAE,QAAQ,GAAG,OAAO;QACpK,IAAI,GAAG,IAAI,UAAU,IAAI,YAAY,EAAE;YACnC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;YAC5E,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;SAC9F;IACL,CAAC;IAED,cAAc;QACV,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE;YAChC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG;gBACnB,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,+BAA+B;gBAClE,UAAU,EAAE,SAAS;gBACrB,MAAM,EAAE,IAAI;gBACZ,OAAO,EAAE,GAAG;gBACZ,SAAS,EAAE,kEAAkE;gBAC7E,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;gBAC1C,QAAQ,EAAE,OAAO;aACC,CAAC;YACvB,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG;gBACvB,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE;gBACrC,UAAU,EAAE,SAAS;gBACrB,MAAM,EAAE,IAAI;gBACZ,OAAO,EAAE,GAAG;gBACZ,QAAQ,EAAE,OAAO;aACC,CAAC;YACvB,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG;gBACxB,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,uBAAuB;gBAC1D,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,uBAAuB;gBACrE,MAAM,EAAE,IAAI;gBACZ,OAAO,EAAE,GAAG;gBACZ,QAAQ,EAAE,OAAO;aACC,CAAC;YACvB,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG;gBACvB,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,gCAAgC;gBACnE,UAAU,EAAE,QAAQ;gBACpB,MAAM,EAAE,IAAI;gBACZ,OAAO,EAAE,GAAG;gBACZ,QAAQ,EAAE,OAAO;aACC,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;SAChD;aAAM;YACH,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;SACpD;IACL,CAAC;IAED,WAAW;QACP,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,UAAU,CAAC,CAAC;QACpJ,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QACrH,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QAC/H,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,oBAAoB,EAAE,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QAChK,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QAClI,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACpJ,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAC7H,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAClI,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QACpI,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAC5I,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAC5H,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,2BAA2B,EAAE,2BAA2B,CAAC,CAAC;QAC5L,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;IAClE,CAAC;IAED,UAAU,CAAC,IAAY;QACnB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,eAAe,CAAC,KAAe;QAC3B,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IACnD,CAAC;CACJ;AA/GD,4BA+GC"}
@@ -42,9 +42,9 @@ export interface TypedContractMethod<A extends Array<any> = Array<any>, R = any,
42
42
  fragment: FunctionFragment;
43
43
  getFragment(...args: ContractMethodArgs<A, S>): FunctionFragment;
44
44
  populateTransaction(...args: ContractMethodArgs<A, S>): Promise<ContractTransaction>;
45
- staticCall(...args: ContractMethodArgs<A, S>): Promise<DefaultReturnType<R>>;
45
+ staticCall(...args: ContractMethodArgs<A, "view">): Promise<DefaultReturnType<R>>;
46
46
  send(...args: ContractMethodArgs<A, S>): Promise<ContractTransactionResponse>;
47
47
  estimateGas(...args: ContractMethodArgs<A, S>): Promise<bigint>;
48
- staticCallResult(...args: ContractMethodArgs<A, S>): Promise<R>;
48
+ staticCallResult(...args: ContractMethodArgs<A, "view">): Promise<R>;
49
49
  }
50
50
  export {};
@@ -14,7 +14,7 @@ export declare class SafeERC20__factory extends ContractFactory {
14
14
  deploymentTransaction(): ContractTransactionResponse;
15
15
  }>;
16
16
  connect(runner: ContractRunner | null): SafeERC20__factory;
17
- static readonly bytecode = "0x6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea26469706673582212209a446c55507965dca9db746ac59f85146c6fdbdcac5ffea111e7512db971024664736f6c63430008170033";
17
+ static readonly bytecode = "0x6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea2646970667358221220a63bc879207cdcf05e0e52109fb285afaa02b980374d01d02553832a08ac0e6564736f6c63430008170033";
18
18
  static readonly abi: readonly [{
19
19
  readonly inputs: readonly [];
20
20
  readonly name: "ForceApproveFailed";
@@ -42,7 +42,7 @@ const _abi = [
42
42
  type: "error",
43
43
  },
44
44
  ];
45
- const _bytecode = "0x6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea26469706673582212209a446c55507965dca9db746ac59f85146c6fdbdcac5ffea111e7512db971024664736f6c63430008170033";
45
+ const _bytecode = "0x6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea2646970667358221220a63bc879207cdcf05e0e52109fb285afaa02b980374d01d02553832a08ac0e6564736f6c63430008170033";
46
46
  const isSuperArgs = (xs) => xs.length > 1;
47
47
  class SafeERC20__factory extends ethers_1.ContractFactory {
48
48
  constructor(...args) {
@@ -14,7 +14,7 @@ export declare class UniERC20__factory extends ContractFactory {
14
14
  deploymentTransaction(): ContractTransactionResponse;
15
15
  }>;
16
16
  connect(runner: ContractRunner | null): UniERC20__factory;
17
- static readonly bytecode = "0x6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea2646970667358221220345e0611ca5396e0c2aeb0b45fa7e994b082c20a5974cc7ead24349aec8f5d5564736f6c63430008170033";
17
+ static readonly bytecode = "0x6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea2646970667358221220baf6e89be09ee8b9bd954599e79fb08481497f459e06f404d883da00f251662b64736f6c63430008170033";
18
18
  static readonly abi: readonly [{
19
19
  readonly inputs: readonly [];
20
20
  readonly name: "ApproveCalledOnETH";
@@ -37,7 +37,7 @@ const _abi = [
37
37
  type: "error",
38
38
  },
39
39
  ];
40
- const _bytecode = "0x6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea2646970667358221220345e0611ca5396e0c2aeb0b45fa7e994b082c20a5974cc7ead24349aec8f5d5564736f6c63430008170033";
40
+ const _bytecode = "0x6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea2646970667358221220baf6e89be09ee8b9bd954599e79fb08481497f459e06f404d883da00f251662b64736f6c63430008170033";
41
41
  const isSuperArgs = (xs) => xs.length > 1;
42
42
  class UniERC20__factory extends ethers_1.ContractFactory {
43
43
  constructor(...args) {
@@ -14,7 +14,7 @@ export declare class TokenCustomDecimalsMock__factory extends ContractFactory {
14
14
  deploymentTransaction(): ContractTransactionResponse;
15
15
  }>;
16
16
  connect(runner: ContractRunner | null): TokenCustomDecimalsMock__factory;
17
- static readonly bytecode = "0x610180604081815234620004ec57620020418038038091620000228286620004f0565b84398201608083820312620004ec5782516001600160401b039290838111620004ec57826200005391860162000537565b906020928386015190858211620004ec576200007191870162000537565b946060828201519101519360ff85168503620004ec57825196838801888110888211176200040057845260019687895282890197603160f81b89528651828111620004005760038054918383811c93168015620004e1575b87841014620004cd57601f9283811162000485575b50808784821160011462000420575f9162000414575b505f1982841b1c191690841b1781555b845191848311620004005760049586548581811c91168015620003f5575b89821014620003e2578281116200039a575b508791841160011462000333579383949184925f9562000327575b50501b925f19911b1c19161782555b620001698662000592565b976101209889526200017b8a6200072d565b96610140978852848151910120998a60e05251902061010099818b524660a052865191858301917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83528884015260608301524660808301523060a083015260a0825260c0820192828410908411176200031457828752815190206080523060c0523315620002fe57505060088054336001600160a01b0319821681179092556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a360025490838201809211620002eb57505f917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9160025533835282815284832084815401905584519384523393a361016092835251926117c594856200087c86396080518561120e015260a051856112da015260c051856111df015260e0518561125d015251846112830152518361077f015251826107a901525181610bd50152f35b601190634e487b7160e01b5f525260245ffd5b631e4fbdf760e01b82525f60c490910152602490fd5b604184634e487b7160e01b5f525260245ffd5b015193505f806200014f565b9190601f19841692875f5284895f20945f5b8b8983831062000382575050501062000368575b50505050811b0182556200015e565b01519060f8845f19921b161c191690555f80808062000359565b86860151895590970196948501948893500162000345565b875f52885f208380870160051c8201928b8810620003d8575b0160051c019086905b828110620003cc57505062000134565b5f8155018690620003bc565b92508192620003b3565b602288634e487b7160e01b5f525260245ffd5b90607f169062000122565b634e487b7160e01b5f52604160045260245ffd5b90508a01515f620000f4565b5f8481528981208794509190601f198416908b8f5b8383106200046d57505050831162000455575b5050811b01815562000104565b8c01515f1983861b60f8161c191690555f8062000448565b840151855589969094019392830192018b8f62000435565b825f52875f208480840160051c8201928a8510620004c3575b0160051c019085905b828110620004b7575050620000de565b5f8155018590620004a7565b925081926200049e565b634e487b7160e01b5f52602260045260245ffd5b92607f1692620000c9565b5f80fd5b601f909101601f19168101906001600160401b038211908210176200040057604052565b5f5b838110620005265750505f910152565b818101518382015260200162000516565b81601f82011215620004ec5780516001600160401b0381116200040057604051926200056e601f8301601f191660200185620004f0565b81845260208284010111620004ec576200058f916020808501910162000514565b90565b8051602091908281101562000611575090601f825111620005cf5780825192015190808310620005c157501790565b825f19910360031b1b161790565b604490620006039260405193849263305a27a960e01b84528060048501528251928391826024870152868601910162000514565b601f01601f19168101030190fd5b6001600160401b03811162000400576005928354926001938481811c9116801562000722575b83821014620004cd57601f8111620006ee575b5081601f84116001146200068857509282939183925f946200067c575b50501b915f199060031b1c191617905560ff90565b015192505f8062000667565b919083601f198116875f52845f20945f905b88838310620006d35750505010620006ba575b505050811b01905560ff90565b01515f1960f88460031b161c191690555f8080620006ad565b8587015188559096019594850194879350908101906200069a565b855f5284601f845f209201871c820191601f8601881c015b828110620007165750506200064a565b5f815501859062000706565b90607f169062000637565b8051602090818110156200075a5750601f825111620005cf5780825192015190808310620005c157501790565b906001600160401b0382116200040057600654926001938481811c9116801562000870575b83821014620004cd57601f811162000839575b5081601f8411600114620007d157509282939183925f94620007c5575b50501b915f199060031b1c19161760065560ff90565b015192505f80620007af565b919083601f19811660065f52845f20945f905b888383106200081e575050501062000805575b505050811b0160065560ff90565b01515f1960f88460031b161c191690555f8080620007f7565b858701518855909601959485019487935090810190620007e4565b60065f5284601f845f20920160051c820191601f860160051c015b8281106200086457505062000792565b5f815501859062000854565b90607f16906200077f56fe608060409080825260049081361015610016575f80fd5b5f3560e01c90816306fdde0314610e0357508063095ea7b314610dbc57806318160ddd14610d8057806323b872dd14610bf9578063313ce56714610b9e5780633408e47014610b665780633644e51514610b2557806340c10f1914610a1a57806370a08231146109b9578063715018a61461091d5780637ecebe00146108bb57806384b0196e1461074b5780638da5cb5b146106f957806395d89b41146105d25780639dc29fac1461048b578063a9059cbb1461043d578063d505accf1461024c578063dd62ed3e146101d75763f2fde38b146100f1575f80fd5b346101d35760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d357610128610f6a565b90610131611300565b73ffffffffffffffffffffffffffffffffffffffff8092169283156101a4575050600854827fffffffffffffffffffffffff0000000000000000000000000000000000000000821617600855167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3005b905f60249251917f1e4fbdf7000000000000000000000000000000000000000000000000000000008352820152fd5b5f80fd5b82346101d357807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d357602090610211610f6a565b610219610f8d565b9073ffffffffffffffffffffffffffffffffffffffff8091165f5260018452825f2091165f528252805f20549051908152f35b50346101d35760e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d357610284610f6a565b61028c610f8d565b906044359260643560843560ff811681036101d35781421161040e5773ffffffffffffffffffffffffffffffffffffffff9081851692835f526007602052885f209081549160018301905589519060208201927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98452868c840152858a1660608401528a608084015260a083015260c082015260c0815260e0810181811067ffffffffffffffff8211176103e2578a52519020610399916103909161034f6111c8565b908b51917f190100000000000000000000000000000000000000000000000000000000000083526002830152602282015260c43591604260a4359220611610565b909291926116aa565b168181036103ae576103ac868686611351565b005b604493508651927f4b800e460000000000000000000000000000000000000000000000000000000084528301526024820152fd5b6041877f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b602483838951917f62791302000000000000000000000000000000000000000000000000000000008352820152fd5b82346101d357807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d35760209061048461047a610f6a565b602435903361108b565b5160018152f35b5090346101d357807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d3576104c3610f6a565b90602435926104d0611300565b73ffffffffffffffffffffffffffffffffffffffff83169283156105a357835f525f602052825f205491858310610544575f857fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6020898881898688528785520381872055816002540360025551908152a3005b61059f868486519485947fe450d38c000000000000000000000000000000000000000000000000000000008652850160409194939273ffffffffffffffffffffffffffffffffffffffff606083019616825260208201520152565b0390fd5b505f60249251917f96c6fd1e000000000000000000000000000000000000000000000000000000008352820152fd5b50346101d3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d357815191825f835461061181610fb0565b90818452602095600191876001821691825f146106b4575050600114610658575b505050610654929161064591038561104a565b51928284938452830190610f0e565b0390f35b5f90815286935091907f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b82841061069c5750505082010181610645610654610632565b8054848a018601528895508794909301928101610683565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168782015293151560051b8601909301935084925061064591506106549050610632565b82346101d3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d35760209073ffffffffffffffffffffffffffffffffffffffff600854169051908152f35b50346101d3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d3576107a37f000000000000000000000000000000000000000000000000000000000000000061141b565b916107cd7f0000000000000000000000000000000000000000000000000000000000000000611553565b815191602091602084019484861067ffffffffffffffff87111761088f5750610844826020928761083799989795525f855281519889987f0f000000000000000000000000000000000000000000000000000000000000008a5260e0868b015260e08a0190610f0e565b9188830390890152610f0e565b914660608701523060808701525f60a087015285830360c087015251918281520192915f5b82811061087857505050500390f35b835185528695509381019392810192600101610869565b6041907f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b82346101d35760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d35760209073ffffffffffffffffffffffffffffffffffffffff61090b610f6a565b165f5260078252805f20549051908152f35b346101d3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d357610953611300565b5f73ffffffffffffffffffffffffffffffffffffffff6008547fffffffffffffffffffffffff00000000000000000000000000000000000000008116600855167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b82346101d35760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d35760209073ffffffffffffffffffffffffffffffffffffffff610a09610f6a565b165f525f8252805f20549051908152f35b5090346101d357807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d357610a52610f6a565b9073ffffffffffffffffffffffffffffffffffffffff60243592610a74611300565b16928315610af75760025490838201809211610acb57505f927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9260209260025585855284835280852082815401905551908152a3005b6011907f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b5f60249251917fec442f05000000000000000000000000000000000000000000000000000000008352820152fd5b82346101d3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d357602090610b5f6111c8565b9051908152f35b82346101d3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d35760209051468152f35b82346101d3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d3576020905160ff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b50346101d35760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d357610c31610f6a565b610c39610f8d565b906044359273ffffffffffffffffffffffffffffffffffffffff8216805f526001602052855f20335f52602052855f2054917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8303610ca1575b60208761048488888861108b565b858310610d3b578115610d0c573315610cdd57505f90815260016020908152868220338352815290869020918590039091558290610484610c93565b6024905f8851917f94280d62000000000000000000000000000000000000000000000000000000008352820152fd5b6024905f8851917fe602df05000000000000000000000000000000000000000000000000000000008352820152fd5b86517ffb8f41b2000000000000000000000000000000000000000000000000000000008152339181019182526020820193909352604081018690528291506060010390fd5b82346101d3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d3576020906002549051908152f35b82346101d357807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d357602090610484610df9610f6a565b6024359033611351565b83346101d3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d35760035490825f610e4184610fb0565b808352602094600190866001821691825f14610ece575050600114610e73575b5050610654929161064591038561104a565b9085925060035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b915f925b828410610eb65750505082010181610645610e61565b8054848a018601528895508794909301928101610ea0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168682015292151560051b850190920192508391506106459050610e61565b91908251928382525f5b848110610f565750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f845f6020809697860101520116010190565b602081830181015184830182015201610f18565b6004359073ffffffffffffffffffffffffffffffffffffffff821682036101d357565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036101d357565b90600182811c92168015610ff7575b6020831014610fca57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f1691610fbf565b6040810190811067ffffffffffffffff82111761101d57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761101d57604052565b9173ffffffffffffffffffffffffffffffffffffffff808416928315611198571692831561116857825f525f60205260405f2054908282106111105750817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f5260405f20818154019055604051908152a3565b6040517fe450d38c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152602481019190915260448101829052606490fd5b60246040517fec442f050000000000000000000000000000000000000000000000000000000081525f6004820152fd5b60246040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081525f6004820152fd5b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014806112d7575b15611230577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff82111761101d5760405251902090565b507f00000000000000000000000000000000000000000000000000000000000000004614611207565b73ffffffffffffffffffffffffffffffffffffffff60085416330361132157565b60246040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152fd5b73ffffffffffffffffffffffffffffffffffffffff8091169182156113eb57169182156113bb5760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591835f526001825260405f20855f5282528060405f2055604051908152a3565b60246040517f94280d620000000000000000000000000000000000000000000000000000000081525f6004820152fd5b60246040517fe602df050000000000000000000000000000000000000000000000000000000081525f6004820152fd5b60ff81146114715760ff811690601f8211611447576040519161143d83611001565b8252602082015290565b60046040517fb3512b0c000000000000000000000000000000000000000000000000000000008152fd5b50604051600554815f61148383610fb0565b8083529260209060019081811690811561151057506001146114b1575b50506114ae9250038261104a565b90565b91509260055f527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0935f925b8284106114f857506114ae9450505081016020015f806114a0565b855487850183015294850194869450928101926114dd565b9050602093506114ae9592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201015f806114a0565b60ff81146115755760ff811690601f8211611447576040519161143d83611001565b50604051600654815f61158783610fb0565b8083529260209060019081811690811561151057506001146115b15750506114ae9250038261104a565b91509260065f527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f935f925b8284106115f857506114ae9450505081016020015f806114a0565b855487850183015294850194869450928101926115dd565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841161169f579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15611694575f5173ffffffffffffffffffffffffffffffffffffffff81161561168a57905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b600481101561176257806116bc575050565b600181036116ee5760046040517ff645eedf000000000000000000000000000000000000000000000000000000008152fd5b6002810361172757602482604051907ffce698f70000000000000000000000000000000000000000000000000000000082526004820152fd5b6003146117315750565b602490604051907fd78bce0c0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffdfea26469706673582212209fc96759c6524e622dbe5d97694706dc236fb6a2d57f1e6ce1af8d4d3435510e64736f6c63430008170033";
17
+ static readonly bytecode = "0x610180604081815234620004ec57620020418038038091620000228286620004f0565b84398201608083820312620004ec5782516001600160401b039290838111620004ec57826200005391860162000537565b906020928386015190858211620004ec576200007191870162000537565b946060828201519101519360ff85168503620004ec57825196838801888110888211176200040057845260019687895282890197603160f81b89528651828111620004005760038054918383811c93168015620004e1575b87841014620004cd57601f9283811162000485575b50808784821160011462000420575f9162000414575b505f1982841b1c191690841b1781555b845191848311620004005760049586548581811c91168015620003f5575b89821014620003e2578281116200039a575b508791841160011462000333579383949184925f9562000327575b50501b925f19911b1c19161782555b620001698662000592565b976101209889526200017b8a6200072d565b96610140978852848151910120998a60e05251902061010099818b524660a052865191858301917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83528884015260608301524660808301523060a083015260a0825260c0820192828410908411176200031457828752815190206080523060c0523315620002fe57505060088054336001600160a01b0319821681179092556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a360025490838201809211620002eb57505f917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9160025533835282815284832084815401905584519384523393a361016092835251926117c594856200087c86396080518561120e015260a051856112da015260c051856111df015260e0518561125d015251846112830152518361077f015251826107a901525181610bd50152f35b601190634e487b7160e01b5f525260245ffd5b631e4fbdf760e01b82525f60c490910152602490fd5b604184634e487b7160e01b5f525260245ffd5b015193505f806200014f565b9190601f19841692875f5284895f20945f5b8b8983831062000382575050501062000368575b50505050811b0182556200015e565b01519060f8845f19921b161c191690555f80808062000359565b86860151895590970196948501948893500162000345565b875f52885f208380870160051c8201928b8810620003d8575b0160051c019086905b828110620003cc57505062000134565b5f8155018690620003bc565b92508192620003b3565b602288634e487b7160e01b5f525260245ffd5b90607f169062000122565b634e487b7160e01b5f52604160045260245ffd5b90508a01515f620000f4565b5f8481528981208794509190601f198416908b8f5b8383106200046d57505050831162000455575b5050811b01815562000104565b8c01515f1983861b60f8161c191690555f8062000448565b840151855589969094019392830192018b8f62000435565b825f52875f208480840160051c8201928a8510620004c3575b0160051c019085905b828110620004b7575050620000de565b5f8155018590620004a7565b925081926200049e565b634e487b7160e01b5f52602260045260245ffd5b92607f1692620000c9565b5f80fd5b601f909101601f19168101906001600160401b038211908210176200040057604052565b5f5b838110620005265750505f910152565b818101518382015260200162000516565b81601f82011215620004ec5780516001600160401b0381116200040057604051926200056e601f8301601f191660200185620004f0565b81845260208284010111620004ec576200058f916020808501910162000514565b90565b8051602091908281101562000611575090601f825111620005cf5780825192015190808310620005c157501790565b825f19910360031b1b161790565b604490620006039260405193849263305a27a960e01b84528060048501528251928391826024870152868601910162000514565b601f01601f19168101030190fd5b6001600160401b03811162000400576005928354926001938481811c9116801562000722575b83821014620004cd57601f8111620006ee575b5081601f84116001146200068857509282939183925f946200067c575b50501b915f199060031b1c191617905560ff90565b015192505f8062000667565b919083601f198116875f52845f20945f905b88838310620006d35750505010620006ba575b505050811b01905560ff90565b01515f1960f88460031b161c191690555f8080620006ad565b8587015188559096019594850194879350908101906200069a565b855f5284601f845f209201871c820191601f8601881c015b828110620007165750506200064a565b5f815501859062000706565b90607f169062000637565b8051602090818110156200075a5750601f825111620005cf5780825192015190808310620005c157501790565b906001600160401b0382116200040057600654926001938481811c9116801562000870575b83821014620004cd57601f811162000839575b5081601f8411600114620007d157509282939183925f94620007c5575b50501b915f199060031b1c19161760065560ff90565b015192505f80620007af565b919083601f19811660065f52845f20945f905b888383106200081e575050501062000805575b505050811b0160065560ff90565b01515f1960f88460031b161c191690555f8080620007f7565b858701518855909601959485019487935090810190620007e4565b60065f5284601f845f20920160051c820191601f860160051c015b8281106200086457505062000792565b5f815501859062000854565b90607f16906200077f56fe608060409080825260049081361015610016575f80fd5b5f3560e01c90816306fdde0314610e0357508063095ea7b314610dbc57806318160ddd14610d8057806323b872dd14610bf9578063313ce56714610b9e5780633408e47014610b665780633644e51514610b2557806340c10f1914610a1a57806370a08231146109b9578063715018a61461091d5780637ecebe00146108bb57806384b0196e1461074b5780638da5cb5b146106f957806395d89b41146105d25780639dc29fac1461048b578063a9059cbb1461043d578063d505accf1461024c578063dd62ed3e146101d75763f2fde38b146100f1575f80fd5b346101d35760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d357610128610f6a565b90610131611300565b73ffffffffffffffffffffffffffffffffffffffff8092169283156101a4575050600854827fffffffffffffffffffffffff0000000000000000000000000000000000000000821617600855167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3005b905f60249251917f1e4fbdf7000000000000000000000000000000000000000000000000000000008352820152fd5b5f80fd5b82346101d357807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d357602090610211610f6a565b610219610f8d565b9073ffffffffffffffffffffffffffffffffffffffff8091165f5260018452825f2091165f528252805f20549051908152f35b50346101d35760e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d357610284610f6a565b61028c610f8d565b906044359260643560843560ff811681036101d35781421161040e5773ffffffffffffffffffffffffffffffffffffffff9081851692835f526007602052885f209081549160018301905589519060208201927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98452868c840152858a1660608401528a608084015260a083015260c082015260c0815260e0810181811067ffffffffffffffff8211176103e2578a52519020610399916103909161034f6111c8565b908b51917f190100000000000000000000000000000000000000000000000000000000000083526002830152602282015260c43591604260a4359220611610565b909291926116aa565b168181036103ae576103ac868686611351565b005b604493508651927f4b800e460000000000000000000000000000000000000000000000000000000084528301526024820152fd5b6041877f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b602483838951917f62791302000000000000000000000000000000000000000000000000000000008352820152fd5b82346101d357807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d35760209061048461047a610f6a565b602435903361108b565b5160018152f35b5090346101d357807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d3576104c3610f6a565b90602435926104d0611300565b73ffffffffffffffffffffffffffffffffffffffff83169283156105a357835f525f602052825f205491858310610544575f857fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6020898881898688528785520381872055816002540360025551908152a3005b61059f868486519485947fe450d38c000000000000000000000000000000000000000000000000000000008652850160409194939273ffffffffffffffffffffffffffffffffffffffff606083019616825260208201520152565b0390fd5b505f60249251917f96c6fd1e000000000000000000000000000000000000000000000000000000008352820152fd5b50346101d3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d357815191825f835461061181610fb0565b90818452602095600191876001821691825f146106b4575050600114610658575b505050610654929161064591038561104a565b51928284938452830190610f0e565b0390f35b5f90815286935091907f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b82841061069c5750505082010181610645610654610632565b8054848a018601528895508794909301928101610683565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168782015293151560051b8601909301935084925061064591506106549050610632565b82346101d3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d35760209073ffffffffffffffffffffffffffffffffffffffff600854169051908152f35b50346101d3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d3576107a37f000000000000000000000000000000000000000000000000000000000000000061141b565b916107cd7f0000000000000000000000000000000000000000000000000000000000000000611553565b815191602091602084019484861067ffffffffffffffff87111761088f5750610844826020928761083799989795525f855281519889987f0f000000000000000000000000000000000000000000000000000000000000008a5260e0868b015260e08a0190610f0e565b9188830390890152610f0e565b914660608701523060808701525f60a087015285830360c087015251918281520192915f5b82811061087857505050500390f35b835185528695509381019392810192600101610869565b6041907f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b82346101d35760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d35760209073ffffffffffffffffffffffffffffffffffffffff61090b610f6a565b165f5260078252805f20549051908152f35b346101d3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d357610953611300565b5f73ffffffffffffffffffffffffffffffffffffffff6008547fffffffffffffffffffffffff00000000000000000000000000000000000000008116600855167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b82346101d35760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d35760209073ffffffffffffffffffffffffffffffffffffffff610a09610f6a565b165f525f8252805f20549051908152f35b5090346101d357807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d357610a52610f6a565b9073ffffffffffffffffffffffffffffffffffffffff60243592610a74611300565b16928315610af75760025490838201809211610acb57505f927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9260209260025585855284835280852082815401905551908152a3005b6011907f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b5f60249251917fec442f05000000000000000000000000000000000000000000000000000000008352820152fd5b82346101d3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d357602090610b5f6111c8565b9051908152f35b82346101d3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d35760209051468152f35b82346101d3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d3576020905160ff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b50346101d35760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d357610c31610f6a565b610c39610f8d565b906044359273ffffffffffffffffffffffffffffffffffffffff8216805f526001602052855f20335f52602052855f2054917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8303610ca1575b60208761048488888861108b565b858310610d3b578115610d0c573315610cdd57505f90815260016020908152868220338352815290869020918590039091558290610484610c93565b6024905f8851917f94280d62000000000000000000000000000000000000000000000000000000008352820152fd5b6024905f8851917fe602df05000000000000000000000000000000000000000000000000000000008352820152fd5b86517ffb8f41b2000000000000000000000000000000000000000000000000000000008152339181019182526020820193909352604081018690528291506060010390fd5b82346101d3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d3576020906002549051908152f35b82346101d357807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d357602090610484610df9610f6a565b6024359033611351565b83346101d3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d35760035490825f610e4184610fb0565b808352602094600190866001821691825f14610ece575050600114610e73575b5050610654929161064591038561104a565b9085925060035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b915f925b828410610eb65750505082010181610645610e61565b8054848a018601528895508794909301928101610ea0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168682015292151560051b850190920192508391506106459050610e61565b91908251928382525f5b848110610f565750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f845f6020809697860101520116010190565b602081830181015184830182015201610f18565b6004359073ffffffffffffffffffffffffffffffffffffffff821682036101d357565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036101d357565b90600182811c92168015610ff7575b6020831014610fca57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f1691610fbf565b6040810190811067ffffffffffffffff82111761101d57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761101d57604052565b9173ffffffffffffffffffffffffffffffffffffffff808416928315611198571692831561116857825f525f60205260405f2054908282106111105750817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f5260405f20818154019055604051908152a3565b6040517fe450d38c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152602481019190915260448101829052606490fd5b60246040517fec442f050000000000000000000000000000000000000000000000000000000081525f6004820152fd5b60246040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081525f6004820152fd5b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014806112d7575b15611230577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff82111761101d5760405251902090565b507f00000000000000000000000000000000000000000000000000000000000000004614611207565b73ffffffffffffffffffffffffffffffffffffffff60085416330361132157565b60246040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152fd5b73ffffffffffffffffffffffffffffffffffffffff8091169182156113eb57169182156113bb5760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591835f526001825260405f20855f5282528060405f2055604051908152a3565b60246040517f94280d620000000000000000000000000000000000000000000000000000000081525f6004820152fd5b60246040517fe602df050000000000000000000000000000000000000000000000000000000081525f6004820152fd5b60ff81146114715760ff811690601f8211611447576040519161143d83611001565b8252602082015290565b60046040517fb3512b0c000000000000000000000000000000000000000000000000000000008152fd5b50604051600554815f61148383610fb0565b8083529260209060019081811690811561151057506001146114b1575b50506114ae9250038261104a565b90565b91509260055f527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0935f925b8284106114f857506114ae9450505081016020015f806114a0565b855487850183015294850194869450928101926114dd565b9050602093506114ae9592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201015f806114a0565b60ff81146115755760ff811690601f8211611447576040519161143d83611001565b50604051600654815f61158783610fb0565b8083529260209060019081811690811561151057506001146115b15750506114ae9250038261104a565b91509260065f527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f935f925b8284106115f857506114ae9450505081016020015f806114a0565b855487850183015294850194869450928101926115dd565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841161169f579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15611694575f5173ffffffffffffffffffffffffffffffffffffffff81161561168a57905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b600481101561176257806116bc575050565b600181036116ee5760046040517ff645eedf000000000000000000000000000000000000000000000000000000008152fd5b6002810361172757602482604051907ffce698f70000000000000000000000000000000000000000000000000000000082526004820152fd5b6003146117315750565b602490604051907fd78bce0c0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffdfea2646970667358221220c82eb5f1af2f3b9ab7e4a5e9cd5adf8541dc16985c064d445104e7870d6d301564736f6c63430008170033";
18
18
  static readonly abi: readonly [{
19
19
  readonly inputs: readonly [{
20
20
  readonly internalType: "string";
@@ -674,7 +674,7 @@ const _abi = [
674
674
  type: "function",
675
675
  },
676
676
  ];
677
- const _bytecode = "0x610180604081815234620004ec57620020418038038091620000228286620004f0565b84398201608083820312620004ec5782516001600160401b039290838111620004ec57826200005391860162000537565b906020928386015190858211620004ec576200007191870162000537565b946060828201519101519360ff85168503620004ec57825196838801888110888211176200040057845260019687895282890197603160f81b89528651828111620004005760038054918383811c93168015620004e1575b87841014620004cd57601f9283811162000485575b50808784821160011462000420575f9162000414575b505f1982841b1c191690841b1781555b845191848311620004005760049586548581811c91168015620003f5575b89821014620003e2578281116200039a575b508791841160011462000333579383949184925f9562000327575b50501b925f19911b1c19161782555b620001698662000592565b976101209889526200017b8a6200072d565b96610140978852848151910120998a60e05251902061010099818b524660a052865191858301917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83528884015260608301524660808301523060a083015260a0825260c0820192828410908411176200031457828752815190206080523060c0523315620002fe57505060088054336001600160a01b0319821681179092556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a360025490838201809211620002eb57505f917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9160025533835282815284832084815401905584519384523393a361016092835251926117c594856200087c86396080518561120e015260a051856112da015260c051856111df015260e0518561125d015251846112830152518361077f015251826107a901525181610bd50152f35b601190634e487b7160e01b5f525260245ffd5b631e4fbdf760e01b82525f60c490910152602490fd5b604184634e487b7160e01b5f525260245ffd5b015193505f806200014f565b9190601f19841692875f5284895f20945f5b8b8983831062000382575050501062000368575b50505050811b0182556200015e565b01519060f8845f19921b161c191690555f80808062000359565b86860151895590970196948501948893500162000345565b875f52885f208380870160051c8201928b8810620003d8575b0160051c019086905b828110620003cc57505062000134565b5f8155018690620003bc565b92508192620003b3565b602288634e487b7160e01b5f525260245ffd5b90607f169062000122565b634e487b7160e01b5f52604160045260245ffd5b90508a01515f620000f4565b5f8481528981208794509190601f198416908b8f5b8383106200046d57505050831162000455575b5050811b01815562000104565b8c01515f1983861b60f8161c191690555f8062000448565b840151855589969094019392830192018b8f62000435565b825f52875f208480840160051c8201928a8510620004c3575b0160051c019085905b828110620004b7575050620000de565b5f8155018590620004a7565b925081926200049e565b634e487b7160e01b5f52602260045260245ffd5b92607f1692620000c9565b5f80fd5b601f909101601f19168101906001600160401b038211908210176200040057604052565b5f5b838110620005265750505f910152565b818101518382015260200162000516565b81601f82011215620004ec5780516001600160401b0381116200040057604051926200056e601f8301601f191660200185620004f0565b81845260208284010111620004ec576200058f916020808501910162000514565b90565b8051602091908281101562000611575090601f825111620005cf5780825192015190808310620005c157501790565b825f19910360031b1b161790565b604490620006039260405193849263305a27a960e01b84528060048501528251928391826024870152868601910162000514565b601f01601f19168101030190fd5b6001600160401b03811162000400576005928354926001938481811c9116801562000722575b83821014620004cd57601f8111620006ee575b5081601f84116001146200068857509282939183925f946200067c575b50501b915f199060031b1c191617905560ff90565b015192505f8062000667565b919083601f198116875f52845f20945f905b88838310620006d35750505010620006ba575b505050811b01905560ff90565b01515f1960f88460031b161c191690555f8080620006ad565b8587015188559096019594850194879350908101906200069a565b855f5284601f845f209201871c820191601f8601881c015b828110620007165750506200064a565b5f815501859062000706565b90607f169062000637565b8051602090818110156200075a5750601f825111620005cf5780825192015190808310620005c157501790565b906001600160401b0382116200040057600654926001938481811c9116801562000870575b83821014620004cd57601f811162000839575b5081601f8411600114620007d157509282939183925f94620007c5575b50501b915f199060031b1c19161760065560ff90565b015192505f80620007af565b919083601f19811660065f52845f20945f905b888383106200081e575050501062000805575b505050811b0160065560ff90565b01515f1960f88460031b161c191690555f8080620007f7565b858701518855909601959485019487935090810190620007e4565b60065f5284601f845f20920160051c820191601f860160051c015b8281106200086457505062000792565b5f815501859062000854565b90607f16906200077f56fe608060409080825260049081361015610016575f80fd5b5f3560e01c90816306fdde0314610e0357508063095ea7b314610dbc57806318160ddd14610d8057806323b872dd14610bf9578063313ce56714610b9e5780633408e47014610b665780633644e51514610b2557806340c10f1914610a1a57806370a08231146109b9578063715018a61461091d5780637ecebe00146108bb57806384b0196e1461074b5780638da5cb5b146106f957806395d89b41146105d25780639dc29fac1461048b578063a9059cbb1461043d578063d505accf1461024c578063dd62ed3e146101d75763f2fde38b146100f1575f80fd5b346101d35760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d357610128610f6a565b90610131611300565b73ffffffffffffffffffffffffffffffffffffffff8092169283156101a4575050600854827fffffffffffffffffffffffff0000000000000000000000000000000000000000821617600855167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3005b905f60249251917f1e4fbdf7000000000000000000000000000000000000000000000000000000008352820152fd5b5f80fd5b82346101d357807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d357602090610211610f6a565b610219610f8d565b9073ffffffffffffffffffffffffffffffffffffffff8091165f5260018452825f2091165f528252805f20549051908152f35b50346101d35760e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d357610284610f6a565b61028c610f8d565b906044359260643560843560ff811681036101d35781421161040e5773ffffffffffffffffffffffffffffffffffffffff9081851692835f526007602052885f209081549160018301905589519060208201927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98452868c840152858a1660608401528a608084015260a083015260c082015260c0815260e0810181811067ffffffffffffffff8211176103e2578a52519020610399916103909161034f6111c8565b908b51917f190100000000000000000000000000000000000000000000000000000000000083526002830152602282015260c43591604260a4359220611610565b909291926116aa565b168181036103ae576103ac868686611351565b005b604493508651927f4b800e460000000000000000000000000000000000000000000000000000000084528301526024820152fd5b6041877f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b602483838951917f62791302000000000000000000000000000000000000000000000000000000008352820152fd5b82346101d357807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d35760209061048461047a610f6a565b602435903361108b565b5160018152f35b5090346101d357807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d3576104c3610f6a565b90602435926104d0611300565b73ffffffffffffffffffffffffffffffffffffffff83169283156105a357835f525f602052825f205491858310610544575f857fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6020898881898688528785520381872055816002540360025551908152a3005b61059f868486519485947fe450d38c000000000000000000000000000000000000000000000000000000008652850160409194939273ffffffffffffffffffffffffffffffffffffffff606083019616825260208201520152565b0390fd5b505f60249251917f96c6fd1e000000000000000000000000000000000000000000000000000000008352820152fd5b50346101d3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d357815191825f835461061181610fb0565b90818452602095600191876001821691825f146106b4575050600114610658575b505050610654929161064591038561104a565b51928284938452830190610f0e565b0390f35b5f90815286935091907f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b82841061069c5750505082010181610645610654610632565b8054848a018601528895508794909301928101610683565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168782015293151560051b8601909301935084925061064591506106549050610632565b82346101d3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d35760209073ffffffffffffffffffffffffffffffffffffffff600854169051908152f35b50346101d3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d3576107a37f000000000000000000000000000000000000000000000000000000000000000061141b565b916107cd7f0000000000000000000000000000000000000000000000000000000000000000611553565b815191602091602084019484861067ffffffffffffffff87111761088f5750610844826020928761083799989795525f855281519889987f0f000000000000000000000000000000000000000000000000000000000000008a5260e0868b015260e08a0190610f0e565b9188830390890152610f0e565b914660608701523060808701525f60a087015285830360c087015251918281520192915f5b82811061087857505050500390f35b835185528695509381019392810192600101610869565b6041907f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b82346101d35760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d35760209073ffffffffffffffffffffffffffffffffffffffff61090b610f6a565b165f5260078252805f20549051908152f35b346101d3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d357610953611300565b5f73ffffffffffffffffffffffffffffffffffffffff6008547fffffffffffffffffffffffff00000000000000000000000000000000000000008116600855167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b82346101d35760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d35760209073ffffffffffffffffffffffffffffffffffffffff610a09610f6a565b165f525f8252805f20549051908152f35b5090346101d357807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d357610a52610f6a565b9073ffffffffffffffffffffffffffffffffffffffff60243592610a74611300565b16928315610af75760025490838201809211610acb57505f927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9260209260025585855284835280852082815401905551908152a3005b6011907f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b5f60249251917fec442f05000000000000000000000000000000000000000000000000000000008352820152fd5b82346101d3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d357602090610b5f6111c8565b9051908152f35b82346101d3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d35760209051468152f35b82346101d3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d3576020905160ff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b50346101d35760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d357610c31610f6a565b610c39610f8d565b906044359273ffffffffffffffffffffffffffffffffffffffff8216805f526001602052855f20335f52602052855f2054917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8303610ca1575b60208761048488888861108b565b858310610d3b578115610d0c573315610cdd57505f90815260016020908152868220338352815290869020918590039091558290610484610c93565b6024905f8851917f94280d62000000000000000000000000000000000000000000000000000000008352820152fd5b6024905f8851917fe602df05000000000000000000000000000000000000000000000000000000008352820152fd5b86517ffb8f41b2000000000000000000000000000000000000000000000000000000008152339181019182526020820193909352604081018690528291506060010390fd5b82346101d3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d3576020906002549051908152f35b82346101d357807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d357602090610484610df9610f6a565b6024359033611351565b83346101d3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d35760035490825f610e4184610fb0565b808352602094600190866001821691825f14610ece575050600114610e73575b5050610654929161064591038561104a565b9085925060035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b915f925b828410610eb65750505082010181610645610e61565b8054848a018601528895508794909301928101610ea0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168682015292151560051b850190920192508391506106459050610e61565b91908251928382525f5b848110610f565750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f845f6020809697860101520116010190565b602081830181015184830182015201610f18565b6004359073ffffffffffffffffffffffffffffffffffffffff821682036101d357565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036101d357565b90600182811c92168015610ff7575b6020831014610fca57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f1691610fbf565b6040810190811067ffffffffffffffff82111761101d57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761101d57604052565b9173ffffffffffffffffffffffffffffffffffffffff808416928315611198571692831561116857825f525f60205260405f2054908282106111105750817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f5260405f20818154019055604051908152a3565b6040517fe450d38c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152602481019190915260448101829052606490fd5b60246040517fec442f050000000000000000000000000000000000000000000000000000000081525f6004820152fd5b60246040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081525f6004820152fd5b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014806112d7575b15611230577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff82111761101d5760405251902090565b507f00000000000000000000000000000000000000000000000000000000000000004614611207565b73ffffffffffffffffffffffffffffffffffffffff60085416330361132157565b60246040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152fd5b73ffffffffffffffffffffffffffffffffffffffff8091169182156113eb57169182156113bb5760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591835f526001825260405f20855f5282528060405f2055604051908152a3565b60246040517f94280d620000000000000000000000000000000000000000000000000000000081525f6004820152fd5b60246040517fe602df050000000000000000000000000000000000000000000000000000000081525f6004820152fd5b60ff81146114715760ff811690601f8211611447576040519161143d83611001565b8252602082015290565b60046040517fb3512b0c000000000000000000000000000000000000000000000000000000008152fd5b50604051600554815f61148383610fb0565b8083529260209060019081811690811561151057506001146114b1575b50506114ae9250038261104a565b90565b91509260055f527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0935f925b8284106114f857506114ae9450505081016020015f806114a0565b855487850183015294850194869450928101926114dd565b9050602093506114ae9592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201015f806114a0565b60ff81146115755760ff811690601f8211611447576040519161143d83611001565b50604051600654815f61158783610fb0565b8083529260209060019081811690811561151057506001146115b15750506114ae9250038261104a565b91509260065f527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f935f925b8284106115f857506114ae9450505081016020015f806114a0565b855487850183015294850194869450928101926115dd565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841161169f579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15611694575f5173ffffffffffffffffffffffffffffffffffffffff81161561168a57905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b600481101561176257806116bc575050565b600181036116ee5760046040517ff645eedf000000000000000000000000000000000000000000000000000000008152fd5b6002810361172757602482604051907ffce698f70000000000000000000000000000000000000000000000000000000082526004820152fd5b6003146117315750565b602490604051907fd78bce0c0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffdfea26469706673582212209fc96759c6524e622dbe5d97694706dc236fb6a2d57f1e6ce1af8d4d3435510e64736f6c63430008170033";
677
+ const _bytecode = "0x610180604081815234620004ec57620020418038038091620000228286620004f0565b84398201608083820312620004ec5782516001600160401b039290838111620004ec57826200005391860162000537565b906020928386015190858211620004ec576200007191870162000537565b946060828201519101519360ff85168503620004ec57825196838801888110888211176200040057845260019687895282890197603160f81b89528651828111620004005760038054918383811c93168015620004e1575b87841014620004cd57601f9283811162000485575b50808784821160011462000420575f9162000414575b505f1982841b1c191690841b1781555b845191848311620004005760049586548581811c91168015620003f5575b89821014620003e2578281116200039a575b508791841160011462000333579383949184925f9562000327575b50501b925f19911b1c19161782555b620001698662000592565b976101209889526200017b8a6200072d565b96610140978852848151910120998a60e05251902061010099818b524660a052865191858301917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83528884015260608301524660808301523060a083015260a0825260c0820192828410908411176200031457828752815190206080523060c0523315620002fe57505060088054336001600160a01b0319821681179092556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a360025490838201809211620002eb57505f917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9160025533835282815284832084815401905584519384523393a361016092835251926117c594856200087c86396080518561120e015260a051856112da015260c051856111df015260e0518561125d015251846112830152518361077f015251826107a901525181610bd50152f35b601190634e487b7160e01b5f525260245ffd5b631e4fbdf760e01b82525f60c490910152602490fd5b604184634e487b7160e01b5f525260245ffd5b015193505f806200014f565b9190601f19841692875f5284895f20945f5b8b8983831062000382575050501062000368575b50505050811b0182556200015e565b01519060f8845f19921b161c191690555f80808062000359565b86860151895590970196948501948893500162000345565b875f52885f208380870160051c8201928b8810620003d8575b0160051c019086905b828110620003cc57505062000134565b5f8155018690620003bc565b92508192620003b3565b602288634e487b7160e01b5f525260245ffd5b90607f169062000122565b634e487b7160e01b5f52604160045260245ffd5b90508a01515f620000f4565b5f8481528981208794509190601f198416908b8f5b8383106200046d57505050831162000455575b5050811b01815562000104565b8c01515f1983861b60f8161c191690555f8062000448565b840151855589969094019392830192018b8f62000435565b825f52875f208480840160051c8201928a8510620004c3575b0160051c019085905b828110620004b7575050620000de565b5f8155018590620004a7565b925081926200049e565b634e487b7160e01b5f52602260045260245ffd5b92607f1692620000c9565b5f80fd5b601f909101601f19168101906001600160401b038211908210176200040057604052565b5f5b838110620005265750505f910152565b818101518382015260200162000516565b81601f82011215620004ec5780516001600160401b0381116200040057604051926200056e601f8301601f191660200185620004f0565b81845260208284010111620004ec576200058f916020808501910162000514565b90565b8051602091908281101562000611575090601f825111620005cf5780825192015190808310620005c157501790565b825f19910360031b1b161790565b604490620006039260405193849263305a27a960e01b84528060048501528251928391826024870152868601910162000514565b601f01601f19168101030190fd5b6001600160401b03811162000400576005928354926001938481811c9116801562000722575b83821014620004cd57601f8111620006ee575b5081601f84116001146200068857509282939183925f946200067c575b50501b915f199060031b1c191617905560ff90565b015192505f8062000667565b919083601f198116875f52845f20945f905b88838310620006d35750505010620006ba575b505050811b01905560ff90565b01515f1960f88460031b161c191690555f8080620006ad565b8587015188559096019594850194879350908101906200069a565b855f5284601f845f209201871c820191601f8601881c015b828110620007165750506200064a565b5f815501859062000706565b90607f169062000637565b8051602090818110156200075a5750601f825111620005cf5780825192015190808310620005c157501790565b906001600160401b0382116200040057600654926001938481811c9116801562000870575b83821014620004cd57601f811162000839575b5081601f8411600114620007d157509282939183925f94620007c5575b50501b915f199060031b1c19161760065560ff90565b015192505f80620007af565b919083601f19811660065f52845f20945f905b888383106200081e575050501062000805575b505050811b0160065560ff90565b01515f1960f88460031b161c191690555f8080620007f7565b858701518855909601959485019487935090810190620007e4565b60065f5284601f845f20920160051c820191601f860160051c015b8281106200086457505062000792565b5f815501859062000854565b90607f16906200077f56fe608060409080825260049081361015610016575f80fd5b5f3560e01c90816306fdde0314610e0357508063095ea7b314610dbc57806318160ddd14610d8057806323b872dd14610bf9578063313ce56714610b9e5780633408e47014610b665780633644e51514610b2557806340c10f1914610a1a57806370a08231146109b9578063715018a61461091d5780637ecebe00146108bb57806384b0196e1461074b5780638da5cb5b146106f957806395d89b41146105d25780639dc29fac1461048b578063a9059cbb1461043d578063d505accf1461024c578063dd62ed3e146101d75763f2fde38b146100f1575f80fd5b346101d35760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d357610128610f6a565b90610131611300565b73ffffffffffffffffffffffffffffffffffffffff8092169283156101a4575050600854827fffffffffffffffffffffffff0000000000000000000000000000000000000000821617600855167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3005b905f60249251917f1e4fbdf7000000000000000000000000000000000000000000000000000000008352820152fd5b5f80fd5b82346101d357807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d357602090610211610f6a565b610219610f8d565b9073ffffffffffffffffffffffffffffffffffffffff8091165f5260018452825f2091165f528252805f20549051908152f35b50346101d35760e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d357610284610f6a565b61028c610f8d565b906044359260643560843560ff811681036101d35781421161040e5773ffffffffffffffffffffffffffffffffffffffff9081851692835f526007602052885f209081549160018301905589519060208201927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98452868c840152858a1660608401528a608084015260a083015260c082015260c0815260e0810181811067ffffffffffffffff8211176103e2578a52519020610399916103909161034f6111c8565b908b51917f190100000000000000000000000000000000000000000000000000000000000083526002830152602282015260c43591604260a4359220611610565b909291926116aa565b168181036103ae576103ac868686611351565b005b604493508651927f4b800e460000000000000000000000000000000000000000000000000000000084528301526024820152fd5b6041877f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b602483838951917f62791302000000000000000000000000000000000000000000000000000000008352820152fd5b82346101d357807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d35760209061048461047a610f6a565b602435903361108b565b5160018152f35b5090346101d357807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d3576104c3610f6a565b90602435926104d0611300565b73ffffffffffffffffffffffffffffffffffffffff83169283156105a357835f525f602052825f205491858310610544575f857fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6020898881898688528785520381872055816002540360025551908152a3005b61059f868486519485947fe450d38c000000000000000000000000000000000000000000000000000000008652850160409194939273ffffffffffffffffffffffffffffffffffffffff606083019616825260208201520152565b0390fd5b505f60249251917f96c6fd1e000000000000000000000000000000000000000000000000000000008352820152fd5b50346101d3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d357815191825f835461061181610fb0565b90818452602095600191876001821691825f146106b4575050600114610658575b505050610654929161064591038561104a565b51928284938452830190610f0e565b0390f35b5f90815286935091907f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b82841061069c5750505082010181610645610654610632565b8054848a018601528895508794909301928101610683565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168782015293151560051b8601909301935084925061064591506106549050610632565b82346101d3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d35760209073ffffffffffffffffffffffffffffffffffffffff600854169051908152f35b50346101d3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d3576107a37f000000000000000000000000000000000000000000000000000000000000000061141b565b916107cd7f0000000000000000000000000000000000000000000000000000000000000000611553565b815191602091602084019484861067ffffffffffffffff87111761088f5750610844826020928761083799989795525f855281519889987f0f000000000000000000000000000000000000000000000000000000000000008a5260e0868b015260e08a0190610f0e565b9188830390890152610f0e565b914660608701523060808701525f60a087015285830360c087015251918281520192915f5b82811061087857505050500390f35b835185528695509381019392810192600101610869565b6041907f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b82346101d35760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d35760209073ffffffffffffffffffffffffffffffffffffffff61090b610f6a565b165f5260078252805f20549051908152f35b346101d3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d357610953611300565b5f73ffffffffffffffffffffffffffffffffffffffff6008547fffffffffffffffffffffffff00000000000000000000000000000000000000008116600855167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b82346101d35760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d35760209073ffffffffffffffffffffffffffffffffffffffff610a09610f6a565b165f525f8252805f20549051908152f35b5090346101d357807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d357610a52610f6a565b9073ffffffffffffffffffffffffffffffffffffffff60243592610a74611300565b16928315610af75760025490838201809211610acb57505f927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9260209260025585855284835280852082815401905551908152a3005b6011907f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b5f60249251917fec442f05000000000000000000000000000000000000000000000000000000008352820152fd5b82346101d3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d357602090610b5f6111c8565b9051908152f35b82346101d3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d35760209051468152f35b82346101d3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d3576020905160ff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b50346101d35760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d357610c31610f6a565b610c39610f8d565b906044359273ffffffffffffffffffffffffffffffffffffffff8216805f526001602052855f20335f52602052855f2054917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8303610ca1575b60208761048488888861108b565b858310610d3b578115610d0c573315610cdd57505f90815260016020908152868220338352815290869020918590039091558290610484610c93565b6024905f8851917f94280d62000000000000000000000000000000000000000000000000000000008352820152fd5b6024905f8851917fe602df05000000000000000000000000000000000000000000000000000000008352820152fd5b86517ffb8f41b2000000000000000000000000000000000000000000000000000000008152339181019182526020820193909352604081018690528291506060010390fd5b82346101d3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d3576020906002549051908152f35b82346101d357807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d357602090610484610df9610f6a565b6024359033611351565b83346101d3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d35760035490825f610e4184610fb0565b808352602094600190866001821691825f14610ece575050600114610e73575b5050610654929161064591038561104a565b9085925060035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b915f925b828410610eb65750505082010181610645610e61565b8054848a018601528895508794909301928101610ea0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168682015292151560051b850190920192508391506106459050610e61565b91908251928382525f5b848110610f565750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f845f6020809697860101520116010190565b602081830181015184830182015201610f18565b6004359073ffffffffffffffffffffffffffffffffffffffff821682036101d357565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036101d357565b90600182811c92168015610ff7575b6020831014610fca57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f1691610fbf565b6040810190811067ffffffffffffffff82111761101d57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761101d57604052565b9173ffffffffffffffffffffffffffffffffffffffff808416928315611198571692831561116857825f525f60205260405f2054908282106111105750817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f5260405f20818154019055604051908152a3565b6040517fe450d38c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152602481019190915260448101829052606490fd5b60246040517fec442f050000000000000000000000000000000000000000000000000000000081525f6004820152fd5b60246040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081525f6004820152fd5b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014806112d7575b15611230577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff82111761101d5760405251902090565b507f00000000000000000000000000000000000000000000000000000000000000004614611207565b73ffffffffffffffffffffffffffffffffffffffff60085416330361132157565b60246040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152fd5b73ffffffffffffffffffffffffffffffffffffffff8091169182156113eb57169182156113bb5760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591835f526001825260405f20855f5282528060405f2055604051908152a3565b60246040517f94280d620000000000000000000000000000000000000000000000000000000081525f6004820152fd5b60246040517fe602df050000000000000000000000000000000000000000000000000000000081525f6004820152fd5b60ff81146114715760ff811690601f8211611447576040519161143d83611001565b8252602082015290565b60046040517fb3512b0c000000000000000000000000000000000000000000000000000000008152fd5b50604051600554815f61148383610fb0565b8083529260209060019081811690811561151057506001146114b1575b50506114ae9250038261104a565b90565b91509260055f527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0935f925b8284106114f857506114ae9450505081016020015f806114a0565b855487850183015294850194869450928101926114dd565b9050602093506114ae9592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201015f806114a0565b60ff81146115755760ff811690601f8211611447576040519161143d83611001565b50604051600654815f61158783610fb0565b8083529260209060019081811690811561151057506001146115b15750506114ae9250038261104a565b91509260065f527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f935f925b8284106115f857506114ae9450505081016020015f806114a0565b855487850183015294850194869450928101926115dd565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841161169f579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15611694575f5173ffffffffffffffffffffffffffffffffffffffff81161561168a57905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b600481101561176257806116bc575050565b600181036116ee5760046040517ff645eedf000000000000000000000000000000000000000000000000000000008152fd5b6002810361172757602482604051907ffce698f70000000000000000000000000000000000000000000000000000000082526004820152fd5b6003146117315750565b602490604051907fd78bce0c0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffdfea2646970667358221220c82eb5f1af2f3b9ab7e4a5e9cd5adf8541dc16985c064d445104e7870d6d301564736f6c63430008170033";
678
678
  const isSuperArgs = (xs) => xs.length > 1;
679
679
  class TokenCustomDecimalsMock__factory extends ethers_1.ContractFactory {
680
680
  constructor(...args) {
@@ -14,7 +14,7 @@ export declare class RevertReasonParserTest__factory extends ContractFactory {
14
14
  deploymentTransaction(): ContractTransactionResponse;
15
15
  }>;
16
16
  connect(runner: ContractRunner | null): RevertReasonParserTest__factory;
17
- static readonly bytecode = "0x60808060405234610016576114f4908161001b8239f35b5f80fdfe60806040818152600480361015610014575f80fd5b5f925f3560e01c90816325ebc41514610c4b57508063287bc8ee14610b215780632a6233d614610ac6578063377f9a39146109e757806340a723861461094057806355e23ad5146108695780636db65619146108375780637737a51a146106ad57806393a1d7011461067d578063b9d6be5e146105f2578063cd1f45fd146103f9578063d5de73661461032e5763ed4daedc146100af575f80fd5b3461032a57827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261032a5781516100e881610d27565b600b81526020928382017f556e6b6e6f776e283078290000000000000000000000000000000000000000008152303b156103265781517f6db656190000000000000000000000000000000000000000000000000000000081525f905f818781305afa9081610313575b506102eb5790610271603b61017f61023c959461016c610dbd565b86519161017883610d0b565b8252610e3b565b928451898101906101a58b828b51610198818789610e1a565b8101038084520182610d43565b5190208551908a82018651926101c58d82818b019661019881878a610e1a565b519020149486519788936102068d86019b7f4578706563746564207b200000000000000000000000000000000000000000008d52518092602b880190610e1a565b8401917f207d2c2062757420676f74207b20000000000000000000000000000000000000602b8401525180936039840190610e1a565b017f207d000000000000000000000000000000000000000000000000000000000000603982015203601b810186520184610d43565b1561027a578580f35b604493926102e27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe093601f93519788967f08c379a000000000000000000000000000000000000000000000000000000000885287015251809281602488015287870190610e1a565b01168101030190fd5b8483517fd6991147000000000000000000000000000000000000000000000000000000008152fd5b61031e919250610cae565b5f905f610151565b5f80fd5b8280fd5b5034610326575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261032657303b15610326575f825180927fb9d6be5e00000000000000000000000000000000000000000000000000000000825281305afa90816103e6575b506103e2576103e2906103a8610dbd565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0825101825251906103da82610d0b565b838252610e3b565b5080f35b6103f1919350610cae565b5f915f610397565b5034610326575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261032657610430610d84565b90303b15610326578251927f93a1d7010000000000000000000000000000000000000000000000000000000084525f935f818481305afa90816105df575b506105b9576104ad7f4578706563746564207b2000000000000000000000000000000000000000000093946104a1610dbd565b83519161017883610d0b565b93815161054b603b602080988185018651956104d38482818b019961019881878d610e1a565b519020906105168851928484018351946104f787828188019861019881878c610e1a565b51902014966102068a51998a9687019d8e52518092602b880190610e1a565b017f207d000000000000000000000000000000000000000000000000000000000000603982015203601b810185520183610d43565b1561055257005b6044936102e2601f927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe094519788967f08c379a000000000000000000000000000000000000000000000000000000000885287015251809281602488015287870190610e1a565b517fd6991147000000000000000000000000000000000000000000000000000000008152fd5b6105ea919550610cae565b5f938561046e565b5034610326575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261032657602060649251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152600660248201527f726561736f6e00000000000000000000000000000000000000000000000000006044820152fd5b34610326575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261032657005b509034610326575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610326578051916106e983610cef565b60498352602091828401937f50616e696328307830303030303030303030303030303030303030303030303085527f3030303030303030303030303030303030303030303030303030303030303030828201527f30303030303030312900000000000000000000000000000000000000000000006060820152303b15610326578151947f2a6233d60000000000000000000000000000000000000000000000000000000086525f955f818681305afa9081610824575b506107fc5761054b603b866107e47f4578706563746564207b2000000000000000000000000000000000000000000098996107d8610dbd565b88519161017883610d0b565b8651828101906104d384828a5161019881878d610e1a565b5050517fd6991147000000000000000000000000000000000000000000000000000000008152fd5b61082f919750610cae565b5f958761079f565b34610326575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610326575f80fd5b5034610326575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261032657602060a49251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152605260248201527f56657279206c6f6e67207465787420746f207465737420666f7220726576657260448201527f747320746861742072657475726e20737472696e67206f66206d6f726520746860648201527f616e203332206279746573206c656e67746800000000000000000000000000006084820152fd5b5034610326575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261032657610977610d84565b90303b15610326578251927fb9d6be5e0000000000000000000000000000000000000000000000000000000084525f935f818481305afa90816105df57506105b9576104ad7f4578706563746564207b2000000000000000000000000000000000000000000093946104a1610dbd565b509034610326575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261032657805191610a2383610d27565b60078352602091828401937f4572726f722829000000000000000000000000000000000000000000000000008552303b15610326578151947f25ebc4150000000000000000000000000000000000000000000000000000000086525f955f818681305afa908161082457506107fc5761054b603b866107e47f4578706563746564207b2000000000000000000000000000000000000000000098996107d8610dbd565b5034610326575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610326576001907f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b509034610326575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261032657805191610b5d83610cef565b60598352602091828401937f4572726f722856657279206c6f6e67207465787420746f207465737420666f7285527f207265766572747320746861742072657475726e20737472696e67206f66206d828201527f6f7265207468616e203332206279746573206c656e67746829000000000000006060820152303b15610326578151947f55e23ad50000000000000000000000000000000000000000000000000000000086525f955f818681305afa908161082457506107fc5761054b603b866107e47f4578706563746564207b2000000000000000000000000000000000000000000098996107d8610dbd565b905034610326575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103265760206044927f08c379a00000000000000000000000000000000000000000000000000000000083528201525f6024820152fd5b67ffffffffffffffff8111610cc257604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6080810190811067ffffffffffffffff821117610cc257604052565b6020810190811067ffffffffffffffff821117610cc257604052565b6040810190811067ffffffffffffffff821117610cc257604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610cc257604052565b60405190610d9182610d27565b600d82527f4572726f7228726561736f6e29000000000000000000000000000000000000006020830152565b3d15610e15573d9067ffffffffffffffff8211610cc25760405191610e0a60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160184610d43565b82523d5f602084013e565b606090565b5f5b838110610e2b5750505f910152565b8181015183820152602001610e1c565b80515f60048210156110df575b7fffffffff00000000000000000000000000000000000000000000000000000000167f08c379a0000000000000000000000000000000000000000000000000000000008114806110d4575b1561101057505060448101815181516044019081604411610fe3571015610f5157506029610ec3610f4e926110ea565b926040519381610edd869351809260208087019101610e1a565b82017f556e6b6e6f776e280000000000000000000000000000000000000000000000006020820152610f19825180936020602885019101610e1a565b017f29000000000000000000000000000000000000000000000000000000000000006028820152036009810184520182610d43565b90565b610fae92610f4e926027926040519583610f75889551809260208089019101610e1a565b8401917f4572726f7228000000000000000000000000000000000000000000000000000060208401525180936064602685019101610e1a565b017f29000000000000000000000000000000000000000000000000000000000000006026820152036007810184520182610d43565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000001490816110c9575b5061104c576029610ec3610f4e926110ea565b6027610fae926024610f4e9301516110786040516020928382015282815261107381610d27565b6110ea565b9060405195836110918895518092858089019101610e1a565b8401917f50616e6963280000000000000000000000000000000000000000000000000000818401528351938491602685019101610e1a565b60249150145f611039565b506044821015610e93565b506020820151610e48565b9060408051928051918260011b91600260228701936022818901016040526130788289015201865260208094818301920101925b83821061112c575050505050565b8285916114b184516112f2817f3030303030303030303030303030303030303030303030303030303030303030908060401c907fffffffff000000000000000000000000000000000000000000000000000000006fffffffff0000000000000000000000006bffffffff000000000000000084167bffffffff00000000000000000000000000000000000000000000000084161760201c9316911617178060101c907fff00000000000000ff00000000000000ff00000000000000ff000000000000007bff00000000000000ff00000000000000ff00000000000000ff0000007aff00000000000000ff00000000000000ff00000000000000ff000084167eff00000000000000ff00000000000000ff00000000000000ff00000000000084161760081c9316911617177f0f000f000f000f000f000f000f000f000f000f000f000f000f000f000f000f007e0f000f000f000f000f000f000f000f000f000f000f000f000f000f000f000f8260081c169160041c161760077f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f7f0606060606060606060606060606060606060606060606060606060606060606830160041c1602010190565b835260801b7f3030303030303030303030303030303030303030303030303030303030303030908060401c907fffffffff000000000000000000000000000000000000000000000000000000006fffffffff0000000000000000000000006bffffffff000000000000000084167bffffffff00000000000000000000000000000000000000000000000084161760201c9316911617178060101c907fff00000000000000ff00000000000000ff00000000000000ff000000000000007bff00000000000000ff00000000000000ff00000000000000ff0000007aff00000000000000ff00000000000000ff00000000000000ff000084167eff00000000000000ff00000000000000ff00000000000000ff00000000000084161760081c9316911617177f0f000f000f000f000f000f000f000f000f000f000f000f000f000f000f000f007e0f000f000f000f000f000f000f000f000f000f000f000f000f000f000f000f8260081c169160041c161760077f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f7f0606060606060606060606060606060606060606060606060606060606060606830160041c1602010190565b838201520191019061111e56fea2646970667358221220869660bef9c0c48a6318875ad56b65da2316c5da12f63ccc91f221249b84f99a64736f6c63430008170033";
17
+ static readonly bytecode = "0x60808060405234610016576114f4908161001b8239f35b5f80fdfe60806040818152600480361015610014575f80fd5b5f925f3560e01c90816325ebc41514610c4b57508063287bc8ee14610b215780632a6233d614610ac6578063377f9a39146109e757806340a723861461094057806355e23ad5146108695780636db65619146108375780637737a51a146106ad57806393a1d7011461067d578063b9d6be5e146105f2578063cd1f45fd146103f9578063d5de73661461032e5763ed4daedc146100af575f80fd5b3461032a57827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261032a5781516100e881610d27565b600b81526020928382017f556e6b6e6f776e283078290000000000000000000000000000000000000000008152303b156103265781517f6db656190000000000000000000000000000000000000000000000000000000081525f905f818781305afa9081610313575b506102eb5790610271603b61017f61023c959461016c610dbd565b86519161017883610d0b565b8252610e3b565b928451898101906101a58b828b51610198818789610e1a565b8101038084520182610d43565b5190208551908a82018651926101c58d82818b019661019881878a610e1a565b519020149486519788936102068d86019b7f4578706563746564207b200000000000000000000000000000000000000000008d52518092602b880190610e1a565b8401917f207d2c2062757420676f74207b20000000000000000000000000000000000000602b8401525180936039840190610e1a565b017f207d000000000000000000000000000000000000000000000000000000000000603982015203601b810186520184610d43565b1561027a578580f35b604493926102e27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe093601f93519788967f08c379a000000000000000000000000000000000000000000000000000000000885287015251809281602488015287870190610e1a565b01168101030190fd5b8483517fd6991147000000000000000000000000000000000000000000000000000000008152fd5b61031e919250610cae565b5f905f610151565b5f80fd5b8280fd5b5034610326575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261032657303b15610326575f825180927fb9d6be5e00000000000000000000000000000000000000000000000000000000825281305afa90816103e6575b506103e2576103e2906103a8610dbd565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0825101825251906103da82610d0b565b838252610e3b565b5080f35b6103f1919350610cae565b5f915f610397565b5034610326575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261032657610430610d84565b90303b15610326578251927f93a1d7010000000000000000000000000000000000000000000000000000000084525f935f818481305afa90816105df575b506105b9576104ad7f4578706563746564207b2000000000000000000000000000000000000000000093946104a1610dbd565b83519161017883610d0b565b93815161054b603b602080988185018651956104d38482818b019961019881878d610e1a565b519020906105168851928484018351946104f787828188019861019881878c610e1a565b51902014966102068a51998a9687019d8e52518092602b880190610e1a565b017f207d000000000000000000000000000000000000000000000000000000000000603982015203601b810185520183610d43565b1561055257005b6044936102e2601f927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe094519788967f08c379a000000000000000000000000000000000000000000000000000000000885287015251809281602488015287870190610e1a565b517fd6991147000000000000000000000000000000000000000000000000000000008152fd5b6105ea919550610cae565b5f938561046e565b5034610326575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261032657602060649251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152600660248201527f726561736f6e00000000000000000000000000000000000000000000000000006044820152fd5b34610326575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261032657005b509034610326575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610326578051916106e983610cef565b60498352602091828401937f50616e696328307830303030303030303030303030303030303030303030303085527f3030303030303030303030303030303030303030303030303030303030303030828201527f30303030303030312900000000000000000000000000000000000000000000006060820152303b15610326578151947f2a6233d60000000000000000000000000000000000000000000000000000000086525f955f818681305afa9081610824575b506107fc5761054b603b866107e47f4578706563746564207b2000000000000000000000000000000000000000000098996107d8610dbd565b88519161017883610d0b565b8651828101906104d384828a5161019881878d610e1a565b5050517fd6991147000000000000000000000000000000000000000000000000000000008152fd5b61082f919750610cae565b5f958761079f565b34610326575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610326575f80fd5b5034610326575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261032657602060a49251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152605260248201527f56657279206c6f6e67207465787420746f207465737420666f7220726576657260448201527f747320746861742072657475726e20737472696e67206f66206d6f726520746860648201527f616e203332206279746573206c656e67746800000000000000000000000000006084820152fd5b5034610326575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261032657610977610d84565b90303b15610326578251927fb9d6be5e0000000000000000000000000000000000000000000000000000000084525f935f818481305afa90816105df57506105b9576104ad7f4578706563746564207b2000000000000000000000000000000000000000000093946104a1610dbd565b509034610326575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261032657805191610a2383610d27565b60078352602091828401937f4572726f722829000000000000000000000000000000000000000000000000008552303b15610326578151947f25ebc4150000000000000000000000000000000000000000000000000000000086525f955f818681305afa908161082457506107fc5761054b603b866107e47f4578706563746564207b2000000000000000000000000000000000000000000098996107d8610dbd565b5034610326575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610326576001907f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b509034610326575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261032657805191610b5d83610cef565b60598352602091828401937f4572726f722856657279206c6f6e67207465787420746f207465737420666f7285527f207265766572747320746861742072657475726e20737472696e67206f66206d828201527f6f7265207468616e203332206279746573206c656e67746829000000000000006060820152303b15610326578151947f55e23ad50000000000000000000000000000000000000000000000000000000086525f955f818681305afa908161082457506107fc5761054b603b866107e47f4578706563746564207b2000000000000000000000000000000000000000000098996107d8610dbd565b905034610326575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103265760206044927f08c379a00000000000000000000000000000000000000000000000000000000083528201525f6024820152fd5b67ffffffffffffffff8111610cc257604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6080810190811067ffffffffffffffff821117610cc257604052565b6020810190811067ffffffffffffffff821117610cc257604052565b6040810190811067ffffffffffffffff821117610cc257604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610cc257604052565b60405190610d9182610d27565b600d82527f4572726f7228726561736f6e29000000000000000000000000000000000000006020830152565b3d15610e15573d9067ffffffffffffffff8211610cc25760405191610e0a60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160184610d43565b82523d5f602084013e565b606090565b5f5b838110610e2b5750505f910152565b8181015183820152602001610e1c565b80515f60048210156110df575b7fffffffff00000000000000000000000000000000000000000000000000000000167f08c379a0000000000000000000000000000000000000000000000000000000008114806110d4575b1561101057505060448101815181516044019081604411610fe3571015610f5157506029610ec3610f4e926110ea565b926040519381610edd869351809260208087019101610e1a565b82017f556e6b6e6f776e280000000000000000000000000000000000000000000000006020820152610f19825180936020602885019101610e1a565b017f29000000000000000000000000000000000000000000000000000000000000006028820152036009810184520182610d43565b90565b610fae92610f4e926027926040519583610f75889551809260208089019101610e1a565b8401917f4572726f7228000000000000000000000000000000000000000000000000000060208401525180936064602685019101610e1a565b017f29000000000000000000000000000000000000000000000000000000000000006026820152036007810184520182610d43565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000001490816110c9575b5061104c576029610ec3610f4e926110ea565b6027610fae926024610f4e9301516110786040516020928382015282815261107381610d27565b6110ea565b9060405195836110918895518092858089019101610e1a565b8401917f50616e6963280000000000000000000000000000000000000000000000000000818401528351938491602685019101610e1a565b60249150145f611039565b506044821015610e93565b506020820151610e48565b9060408051928051918260011b91600260228701936022818901016040526130788289015201865260208094818301920101925b83821061112c575050505050565b8285916114b184516112f2817f3030303030303030303030303030303030303030303030303030303030303030908060401c907fffffffff000000000000000000000000000000000000000000000000000000006fffffffff0000000000000000000000006bffffffff000000000000000084167bffffffff00000000000000000000000000000000000000000000000084161760201c9316911617178060101c907fff00000000000000ff00000000000000ff00000000000000ff000000000000007bff00000000000000ff00000000000000ff00000000000000ff0000007aff00000000000000ff00000000000000ff00000000000000ff000084167eff00000000000000ff00000000000000ff00000000000000ff00000000000084161760081c9316911617177f0f000f000f000f000f000f000f000f000f000f000f000f000f000f000f000f007e0f000f000f000f000f000f000f000f000f000f000f000f000f000f000f000f8260081c169160041c161760077f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f7f0606060606060606060606060606060606060606060606060606060606060606830160041c1602010190565b835260801b7f3030303030303030303030303030303030303030303030303030303030303030908060401c907fffffffff000000000000000000000000000000000000000000000000000000006fffffffff0000000000000000000000006bffffffff000000000000000084167bffffffff00000000000000000000000000000000000000000000000084161760201c9316911617178060101c907fff00000000000000ff00000000000000ff00000000000000ff000000000000007bff00000000000000ff00000000000000ff00000000000000ff0000007aff00000000000000ff00000000000000ff00000000000000ff000084167eff00000000000000ff00000000000000ff00000000000000ff00000000000084161760081c9316911617177f0f000f000f000f000f000f000f000f000f000f000f000f000f000f000f000f007e0f000f000f000f000f000f000f000f000f000f000f000f000f000f000f000f8260081c169160041c161760077f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f7f0606060606060606060606060606060606060606060606060606060606060606830160041c1602010190565b838201520191019061111e56fea2646970667358221220acdff38a71d425f91625fbd2c8bab681a9baffd1969514b41f973b5b876099eb64736f6c63430008170033";
18
18
  static readonly abi: readonly [{
19
19
  readonly inputs: readonly [];
20
20
  readonly name: "TestDidNotThrow";
@@ -103,7 +103,7 @@ const _abi = [
103
103
  type: "function",
104
104
  },
105
105
  ];
106
- const _bytecode = "0x60808060405234610016576114f4908161001b8239f35b5f80fdfe60806040818152600480361015610014575f80fd5b5f925f3560e01c90816325ebc41514610c4b57508063287bc8ee14610b215780632a6233d614610ac6578063377f9a39146109e757806340a723861461094057806355e23ad5146108695780636db65619146108375780637737a51a146106ad57806393a1d7011461067d578063b9d6be5e146105f2578063cd1f45fd146103f9578063d5de73661461032e5763ed4daedc146100af575f80fd5b3461032a57827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261032a5781516100e881610d27565b600b81526020928382017f556e6b6e6f776e283078290000000000000000000000000000000000000000008152303b156103265781517f6db656190000000000000000000000000000000000000000000000000000000081525f905f818781305afa9081610313575b506102eb5790610271603b61017f61023c959461016c610dbd565b86519161017883610d0b565b8252610e3b565b928451898101906101a58b828b51610198818789610e1a565b8101038084520182610d43565b5190208551908a82018651926101c58d82818b019661019881878a610e1a565b519020149486519788936102068d86019b7f4578706563746564207b200000000000000000000000000000000000000000008d52518092602b880190610e1a565b8401917f207d2c2062757420676f74207b20000000000000000000000000000000000000602b8401525180936039840190610e1a565b017f207d000000000000000000000000000000000000000000000000000000000000603982015203601b810186520184610d43565b1561027a578580f35b604493926102e27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe093601f93519788967f08c379a000000000000000000000000000000000000000000000000000000000885287015251809281602488015287870190610e1a565b01168101030190fd5b8483517fd6991147000000000000000000000000000000000000000000000000000000008152fd5b61031e919250610cae565b5f905f610151565b5f80fd5b8280fd5b5034610326575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261032657303b15610326575f825180927fb9d6be5e00000000000000000000000000000000000000000000000000000000825281305afa90816103e6575b506103e2576103e2906103a8610dbd565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0825101825251906103da82610d0b565b838252610e3b565b5080f35b6103f1919350610cae565b5f915f610397565b5034610326575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261032657610430610d84565b90303b15610326578251927f93a1d7010000000000000000000000000000000000000000000000000000000084525f935f818481305afa90816105df575b506105b9576104ad7f4578706563746564207b2000000000000000000000000000000000000000000093946104a1610dbd565b83519161017883610d0b565b93815161054b603b602080988185018651956104d38482818b019961019881878d610e1a565b519020906105168851928484018351946104f787828188019861019881878c610e1a565b51902014966102068a51998a9687019d8e52518092602b880190610e1a565b017f207d000000000000000000000000000000000000000000000000000000000000603982015203601b810185520183610d43565b1561055257005b6044936102e2601f927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe094519788967f08c379a000000000000000000000000000000000000000000000000000000000885287015251809281602488015287870190610e1a565b517fd6991147000000000000000000000000000000000000000000000000000000008152fd5b6105ea919550610cae565b5f938561046e565b5034610326575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261032657602060649251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152600660248201527f726561736f6e00000000000000000000000000000000000000000000000000006044820152fd5b34610326575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261032657005b509034610326575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610326578051916106e983610cef565b60498352602091828401937f50616e696328307830303030303030303030303030303030303030303030303085527f3030303030303030303030303030303030303030303030303030303030303030828201527f30303030303030312900000000000000000000000000000000000000000000006060820152303b15610326578151947f2a6233d60000000000000000000000000000000000000000000000000000000086525f955f818681305afa9081610824575b506107fc5761054b603b866107e47f4578706563746564207b2000000000000000000000000000000000000000000098996107d8610dbd565b88519161017883610d0b565b8651828101906104d384828a5161019881878d610e1a565b5050517fd6991147000000000000000000000000000000000000000000000000000000008152fd5b61082f919750610cae565b5f958761079f565b34610326575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610326575f80fd5b5034610326575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261032657602060a49251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152605260248201527f56657279206c6f6e67207465787420746f207465737420666f7220726576657260448201527f747320746861742072657475726e20737472696e67206f66206d6f726520746860648201527f616e203332206279746573206c656e67746800000000000000000000000000006084820152fd5b5034610326575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261032657610977610d84565b90303b15610326578251927fb9d6be5e0000000000000000000000000000000000000000000000000000000084525f935f818481305afa90816105df57506105b9576104ad7f4578706563746564207b2000000000000000000000000000000000000000000093946104a1610dbd565b509034610326575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261032657805191610a2383610d27565b60078352602091828401937f4572726f722829000000000000000000000000000000000000000000000000008552303b15610326578151947f25ebc4150000000000000000000000000000000000000000000000000000000086525f955f818681305afa908161082457506107fc5761054b603b866107e47f4578706563746564207b2000000000000000000000000000000000000000000098996107d8610dbd565b5034610326575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610326576001907f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b509034610326575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261032657805191610b5d83610cef565b60598352602091828401937f4572726f722856657279206c6f6e67207465787420746f207465737420666f7285527f207265766572747320746861742072657475726e20737472696e67206f66206d828201527f6f7265207468616e203332206279746573206c656e67746829000000000000006060820152303b15610326578151947f55e23ad50000000000000000000000000000000000000000000000000000000086525f955f818681305afa908161082457506107fc5761054b603b866107e47f4578706563746564207b2000000000000000000000000000000000000000000098996107d8610dbd565b905034610326575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103265760206044927f08c379a00000000000000000000000000000000000000000000000000000000083528201525f6024820152fd5b67ffffffffffffffff8111610cc257604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6080810190811067ffffffffffffffff821117610cc257604052565b6020810190811067ffffffffffffffff821117610cc257604052565b6040810190811067ffffffffffffffff821117610cc257604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610cc257604052565b60405190610d9182610d27565b600d82527f4572726f7228726561736f6e29000000000000000000000000000000000000006020830152565b3d15610e15573d9067ffffffffffffffff8211610cc25760405191610e0a60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160184610d43565b82523d5f602084013e565b606090565b5f5b838110610e2b5750505f910152565b8181015183820152602001610e1c565b80515f60048210156110df575b7fffffffff00000000000000000000000000000000000000000000000000000000167f08c379a0000000000000000000000000000000000000000000000000000000008114806110d4575b1561101057505060448101815181516044019081604411610fe3571015610f5157506029610ec3610f4e926110ea565b926040519381610edd869351809260208087019101610e1a565b82017f556e6b6e6f776e280000000000000000000000000000000000000000000000006020820152610f19825180936020602885019101610e1a565b017f29000000000000000000000000000000000000000000000000000000000000006028820152036009810184520182610d43565b90565b610fae92610f4e926027926040519583610f75889551809260208089019101610e1a565b8401917f4572726f7228000000000000000000000000000000000000000000000000000060208401525180936064602685019101610e1a565b017f29000000000000000000000000000000000000000000000000000000000000006026820152036007810184520182610d43565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000001490816110c9575b5061104c576029610ec3610f4e926110ea565b6027610fae926024610f4e9301516110786040516020928382015282815261107381610d27565b6110ea565b9060405195836110918895518092858089019101610e1a565b8401917f50616e6963280000000000000000000000000000000000000000000000000000818401528351938491602685019101610e1a565b60249150145f611039565b506044821015610e93565b506020820151610e48565b9060408051928051918260011b91600260228701936022818901016040526130788289015201865260208094818301920101925b83821061112c575050505050565b8285916114b184516112f2817f3030303030303030303030303030303030303030303030303030303030303030908060401c907fffffffff000000000000000000000000000000000000000000000000000000006fffffffff0000000000000000000000006bffffffff000000000000000084167bffffffff00000000000000000000000000000000000000000000000084161760201c9316911617178060101c907fff00000000000000ff00000000000000ff00000000000000ff000000000000007bff00000000000000ff00000000000000ff00000000000000ff0000007aff00000000000000ff00000000000000ff00000000000000ff000084167eff00000000000000ff00000000000000ff00000000000000ff00000000000084161760081c9316911617177f0f000f000f000f000f000f000f000f000f000f000f000f000f000f000f000f007e0f000f000f000f000f000f000f000f000f000f000f000f000f000f000f000f8260081c169160041c161760077f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f7f0606060606060606060606060606060606060606060606060606060606060606830160041c1602010190565b835260801b7f3030303030303030303030303030303030303030303030303030303030303030908060401c907fffffffff000000000000000000000000000000000000000000000000000000006fffffffff0000000000000000000000006bffffffff000000000000000084167bffffffff00000000000000000000000000000000000000000000000084161760201c9316911617178060101c907fff00000000000000ff00000000000000ff00000000000000ff000000000000007bff00000000000000ff00000000000000ff00000000000000ff0000007aff00000000000000ff00000000000000ff00000000000000ff000084167eff00000000000000ff00000000000000ff00000000000000ff00000000000084161760081c9316911617177f0f000f000f000f000f000f000f000f000f000f000f000f000f000f000f000f007e0f000f000f000f000f000f000f000f000f000f000f000f000f000f000f000f8260081c169160041c161760077f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f7f0606060606060606060606060606060606060606060606060606060606060606830160041c1602010190565b838201520191019061111e56fea2646970667358221220869660bef9c0c48a6318875ad56b65da2316c5da12f63ccc91f221249b84f99a64736f6c63430008170033";
106
+ const _bytecode = "0x60808060405234610016576114f4908161001b8239f35b5f80fdfe60806040818152600480361015610014575f80fd5b5f925f3560e01c90816325ebc41514610c4b57508063287bc8ee14610b215780632a6233d614610ac6578063377f9a39146109e757806340a723861461094057806355e23ad5146108695780636db65619146108375780637737a51a146106ad57806393a1d7011461067d578063b9d6be5e146105f2578063cd1f45fd146103f9578063d5de73661461032e5763ed4daedc146100af575f80fd5b3461032a57827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261032a5781516100e881610d27565b600b81526020928382017f556e6b6e6f776e283078290000000000000000000000000000000000000000008152303b156103265781517f6db656190000000000000000000000000000000000000000000000000000000081525f905f818781305afa9081610313575b506102eb5790610271603b61017f61023c959461016c610dbd565b86519161017883610d0b565b8252610e3b565b928451898101906101a58b828b51610198818789610e1a565b8101038084520182610d43565b5190208551908a82018651926101c58d82818b019661019881878a610e1a565b519020149486519788936102068d86019b7f4578706563746564207b200000000000000000000000000000000000000000008d52518092602b880190610e1a565b8401917f207d2c2062757420676f74207b20000000000000000000000000000000000000602b8401525180936039840190610e1a565b017f207d000000000000000000000000000000000000000000000000000000000000603982015203601b810186520184610d43565b1561027a578580f35b604493926102e27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe093601f93519788967f08c379a000000000000000000000000000000000000000000000000000000000885287015251809281602488015287870190610e1a565b01168101030190fd5b8483517fd6991147000000000000000000000000000000000000000000000000000000008152fd5b61031e919250610cae565b5f905f610151565b5f80fd5b8280fd5b5034610326575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261032657303b15610326575f825180927fb9d6be5e00000000000000000000000000000000000000000000000000000000825281305afa90816103e6575b506103e2576103e2906103a8610dbd565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0825101825251906103da82610d0b565b838252610e3b565b5080f35b6103f1919350610cae565b5f915f610397565b5034610326575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261032657610430610d84565b90303b15610326578251927f93a1d7010000000000000000000000000000000000000000000000000000000084525f935f818481305afa90816105df575b506105b9576104ad7f4578706563746564207b2000000000000000000000000000000000000000000093946104a1610dbd565b83519161017883610d0b565b93815161054b603b602080988185018651956104d38482818b019961019881878d610e1a565b519020906105168851928484018351946104f787828188019861019881878c610e1a565b51902014966102068a51998a9687019d8e52518092602b880190610e1a565b017f207d000000000000000000000000000000000000000000000000000000000000603982015203601b810185520183610d43565b1561055257005b6044936102e2601f927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe094519788967f08c379a000000000000000000000000000000000000000000000000000000000885287015251809281602488015287870190610e1a565b517fd6991147000000000000000000000000000000000000000000000000000000008152fd5b6105ea919550610cae565b5f938561046e565b5034610326575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261032657602060649251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152600660248201527f726561736f6e00000000000000000000000000000000000000000000000000006044820152fd5b34610326575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261032657005b509034610326575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610326578051916106e983610cef565b60498352602091828401937f50616e696328307830303030303030303030303030303030303030303030303085527f3030303030303030303030303030303030303030303030303030303030303030828201527f30303030303030312900000000000000000000000000000000000000000000006060820152303b15610326578151947f2a6233d60000000000000000000000000000000000000000000000000000000086525f955f818681305afa9081610824575b506107fc5761054b603b866107e47f4578706563746564207b2000000000000000000000000000000000000000000098996107d8610dbd565b88519161017883610d0b565b8651828101906104d384828a5161019881878d610e1a565b5050517fd6991147000000000000000000000000000000000000000000000000000000008152fd5b61082f919750610cae565b5f958761079f565b34610326575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610326575f80fd5b5034610326575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261032657602060a49251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152605260248201527f56657279206c6f6e67207465787420746f207465737420666f7220726576657260448201527f747320746861742072657475726e20737472696e67206f66206d6f726520746860648201527f616e203332206279746573206c656e67746800000000000000000000000000006084820152fd5b5034610326575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261032657610977610d84565b90303b15610326578251927fb9d6be5e0000000000000000000000000000000000000000000000000000000084525f935f818481305afa90816105df57506105b9576104ad7f4578706563746564207b2000000000000000000000000000000000000000000093946104a1610dbd565b509034610326575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261032657805191610a2383610d27565b60078352602091828401937f4572726f722829000000000000000000000000000000000000000000000000008552303b15610326578151947f25ebc4150000000000000000000000000000000000000000000000000000000086525f955f818681305afa908161082457506107fc5761054b603b866107e47f4578706563746564207b2000000000000000000000000000000000000000000098996107d8610dbd565b5034610326575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610326576001907f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b509034610326575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261032657805191610b5d83610cef565b60598352602091828401937f4572726f722856657279206c6f6e67207465787420746f207465737420666f7285527f207265766572747320746861742072657475726e20737472696e67206f66206d828201527f6f7265207468616e203332206279746573206c656e67746829000000000000006060820152303b15610326578151947f55e23ad50000000000000000000000000000000000000000000000000000000086525f955f818681305afa908161082457506107fc5761054b603b866107e47f4578706563746564207b2000000000000000000000000000000000000000000098996107d8610dbd565b905034610326575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103265760206044927f08c379a00000000000000000000000000000000000000000000000000000000083528201525f6024820152fd5b67ffffffffffffffff8111610cc257604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6080810190811067ffffffffffffffff821117610cc257604052565b6020810190811067ffffffffffffffff821117610cc257604052565b6040810190811067ffffffffffffffff821117610cc257604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610cc257604052565b60405190610d9182610d27565b600d82527f4572726f7228726561736f6e29000000000000000000000000000000000000006020830152565b3d15610e15573d9067ffffffffffffffff8211610cc25760405191610e0a60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160184610d43565b82523d5f602084013e565b606090565b5f5b838110610e2b5750505f910152565b8181015183820152602001610e1c565b80515f60048210156110df575b7fffffffff00000000000000000000000000000000000000000000000000000000167f08c379a0000000000000000000000000000000000000000000000000000000008114806110d4575b1561101057505060448101815181516044019081604411610fe3571015610f5157506029610ec3610f4e926110ea565b926040519381610edd869351809260208087019101610e1a565b82017f556e6b6e6f776e280000000000000000000000000000000000000000000000006020820152610f19825180936020602885019101610e1a565b017f29000000000000000000000000000000000000000000000000000000000000006028820152036009810184520182610d43565b90565b610fae92610f4e926027926040519583610f75889551809260208089019101610e1a565b8401917f4572726f7228000000000000000000000000000000000000000000000000000060208401525180936064602685019101610e1a565b017f29000000000000000000000000000000000000000000000000000000000000006026820152036007810184520182610d43565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000001490816110c9575b5061104c576029610ec3610f4e926110ea565b6027610fae926024610f4e9301516110786040516020928382015282815261107381610d27565b6110ea565b9060405195836110918895518092858089019101610e1a565b8401917f50616e6963280000000000000000000000000000000000000000000000000000818401528351938491602685019101610e1a565b60249150145f611039565b506044821015610e93565b506020820151610e48565b9060408051928051918260011b91600260228701936022818901016040526130788289015201865260208094818301920101925b83821061112c575050505050565b8285916114b184516112f2817f3030303030303030303030303030303030303030303030303030303030303030908060401c907fffffffff000000000000000000000000000000000000000000000000000000006fffffffff0000000000000000000000006bffffffff000000000000000084167bffffffff00000000000000000000000000000000000000000000000084161760201c9316911617178060101c907fff00000000000000ff00000000000000ff00000000000000ff000000000000007bff00000000000000ff00000000000000ff00000000000000ff0000007aff00000000000000ff00000000000000ff00000000000000ff000084167eff00000000000000ff00000000000000ff00000000000000ff00000000000084161760081c9316911617177f0f000f000f000f000f000f000f000f000f000f000f000f000f000f000f000f007e0f000f000f000f000f000f000f000f000f000f000f000f000f000f000f000f8260081c169160041c161760077f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f7f0606060606060606060606060606060606060606060606060606060606060606830160041c1602010190565b835260801b7f3030303030303030303030303030303030303030303030303030303030303030908060401c907fffffffff000000000000000000000000000000000000000000000000000000006fffffffff0000000000000000000000006bffffffff000000000000000084167bffffffff00000000000000000000000000000000000000000000000084161760201c9316911617178060101c907fff00000000000000ff00000000000000ff00000000000000ff000000000000007bff00000000000000ff00000000000000ff00000000000000ff0000007aff00000000000000ff00000000000000ff00000000000000ff000084167eff00000000000000ff00000000000000ff00000000000000ff00000000000084161760081c9316911617177f0f000f000f000f000f000f000f000f000f000f000f000f000f000f000f000f007e0f000f000f000f000f000f000f000f000f000f000f000f000f000f000f000f8260081c169160041c161760077f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f7f0606060606060606060606060606060606060606060606060606060606060606830160041c1602010190565b838201520191019061111e56fea2646970667358221220acdff38a71d425f91625fbd2c8bab681a9baffd1969514b41f973b5b876099eb64736f6c63430008170033";
107
107
  const isSuperArgs = (xs) => xs.length > 1;
108
108
  class RevertReasonParserTest__factory extends ethers_1.ContractFactory {
109
109
  constructor(...args) {