@coti-io/coti-contracts 0.1.0 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/npm-publish.yml +2 -1
- package/CONTRIBUTING.md +2 -2
- package/LICENSE +1 -1
- package/README.md +18 -35
- package/contracts/access/DataPrivacyFramework/extensions/DataPrivacyFrameworkMpc.sol +3 -115
- package/contracts/mocks/README.md +1 -1
- package/contracts/mocks/utils/mpc/ArithmeticTestsContract.sol +257 -280
- package/contracts/mocks/utils/mpc/BitwiseTestsContract.sol +93 -187
- package/contracts/mocks/utils/mpc/{Comparison1Tests.Contract.sol → Comparison1TestsContract.sol} +67 -115
- package/contracts/mocks/utils/mpc/Comparison2TestsContract.sol +76 -116
- package/contracts/mocks/utils/mpc/MinMaxTestsContract.sol +69 -164
- package/contracts/mocks/utils/mpc/Miscellaneous1TestsContract.sol +103 -56
- package/contracts/mocks/utils/mpc/MiscellaneousTestsContract.sol +270 -0
- package/contracts/mocks/utils/mpc/OffboardToUserKeyTestContract.sol +127 -0
- package/contracts/mocks/utils/mpc/README.md +12 -12
- package/contracts/mocks/utils/mpc/TransferScalarTestsContract.sol +54 -211
- package/contracts/mocks/utils/mpc/TransferTestsContract.sol +165 -640
- package/contracts/mocks/utils/mpc/TransferWithAllowance64_16TestsContract.sol +222 -0
- package/contracts/mocks/utils/mpc/TransferWithAllowance64_32TestsContract.sol +222 -0
- package/contracts/mocks/utils/mpc/TransferWithAllowance64_64TestsContract.sol +223 -0
- package/contracts/mocks/utils/mpc/TransferWithAllowance64_8TestsContract.sol +222 -0
- package/contracts/mocks/utils/mpc/TransferWithAllowanceScalarTestsContract.sol +265 -0
- package/contracts/mocks/utils/mpc/TransferWithAllowanceTestsContract.sol +281 -0
- package/contracts/onboard/AccountOnboard.sol +3 -3
- package/contracts/token/PrivateERC20/PrivateERC20.sol +1 -1
- package/contracts/token/PrivateERC721/IERC721Errors.sol +57 -0
- package/contracts/token/PrivateERC721/PrivateERC721.sol +1 -1
- package/contracts/utils/mpc/MpcCore.sol +2835 -988
- package/contracts/utils/mpc/MpcInterface.sol +6 -4
- package/hardhat.config.ts +17 -6
- package/package.json +20 -4
- package/test/token/PrivateERC20/PrivateERC20.test.ts +2 -2
- package/test/utils/accounts.ts +1 -1
- package/test/utils/mpc/Precompile.test.ts +42 -39
- package/typechain-types/contracts/mocks/utils/mpc/ArithmeticTestsContract.sol/ArithmeticTestsContract.ts +374 -0
- package/typechain-types/contracts/mocks/utils/mpc/ArithmeticTestsContract.sol/PrecompilesArythmeticTestsContract.ts +374 -0
- package/typechain-types/contracts/mocks/utils/mpc/ArithmeticTestsContract.sol/index.ts +5 -0
- package/typechain-types/contracts/mocks/utils/mpc/ArithmeticTestsContract.ts +96 -10
- package/typechain-types/contracts/mocks/utils/mpc/BitwiseTestsContract.ts +45 -5
- package/typechain-types/contracts/mocks/utils/mpc/Comparison1TestsContract.ts +374 -0
- package/typechain-types/contracts/mocks/utils/mpc/Comparison2TestsContract.ts +45 -5
- package/typechain-types/contracts/mocks/utils/mpc/MinMaxTestsContract.ts +25 -5
- package/typechain-types/contracts/mocks/utils/mpc/Miscellaneous1TestsContract.ts +62 -0
- package/typechain-types/contracts/mocks/utils/mpc/MiscellaneousTestsContract.ts +396 -0
- package/typechain-types/contracts/mocks/utils/mpc/OffboardToUserKeyTestContract.ts +251 -0
- package/typechain-types/contracts/mocks/utils/mpc/OffboardToUserKeyTestsContract.sol/OffboardToUserKeyTestContract.ts +11 -8
- package/typechain-types/contracts/mocks/utils/mpc/TransferScalarTestsContract.ts +15 -15
- package/typechain-types/contracts/mocks/utils/mpc/TransferTestsContract.ts +15 -15
- package/typechain-types/contracts/mocks/utils/mpc/TransferWithAllowance64TestsContract.sol/TransferWithAllowance64TestsContract.ts +251 -0
- package/typechain-types/contracts/mocks/utils/mpc/TransferWithAllowance64TestsContract.sol/TransferWithAllowanceTestsContract.ts +250 -0
- package/typechain-types/contracts/mocks/utils/mpc/TransferWithAllowance64TestsContract.sol/index.ts +5 -0
- package/typechain-types/contracts/mocks/utils/mpc/TransferWithAllowance64TestsContract.ts +389 -0
- package/typechain-types/contracts/mocks/utils/mpc/TransferWithAllowance64_16TestsContract.ts +391 -0
- package/typechain-types/contracts/mocks/utils/mpc/TransferWithAllowance64_32TestsContract.ts +391 -0
- package/typechain-types/contracts/mocks/utils/mpc/TransferWithAllowance64_64TestsContract.sol/TransferWithAllowance64_64TestsContract.ts +391 -0
- package/typechain-types/contracts/mocks/utils/mpc/TransferWithAllowance64_64TestsContract.sol/TransferWithAllowance64_8TestsContract.ts +391 -0
- package/typechain-types/contracts/mocks/utils/mpc/TransferWithAllowance64_64TestsContract.sol/index.ts +5 -0
- package/typechain-types/contracts/mocks/utils/mpc/TransferWithAllowance64_64TestsContract.ts +391 -0
- package/typechain-types/contracts/mocks/utils/mpc/TransferWithAllowance64_8TestsContract.ts +391 -0
- package/typechain-types/contracts/mocks/utils/mpc/TransferWithAllowanceScalarTestsContract.ts +306 -0
- package/typechain-types/contracts/mocks/utils/mpc/TransferWithAllowanceTestsContract.sol/TransferTestsContract.ts +125 -0
- package/typechain-types/contracts/mocks/utils/mpc/TransferWithAllowanceTestsContract.sol/TransferWithAllowanceTestsContract.ts +125 -0
- package/typechain-types/contracts/mocks/utils/mpc/TransferWithAllowanceTestsContract.sol/index.ts +5 -0
- package/typechain-types/contracts/mocks/utils/mpc/TransferWithAllowanceTestsContract.ts +296 -0
- package/typechain-types/contracts/mocks/utils/mpc/index.ts +9 -6
- package/typechain-types/contracts/onboard/AccountOnboard.ts +9 -4
- package/typechain-types/contracts/token/PrivateERC721/IERC721Errors.ts +69 -0
- package/typechain-types/contracts/token/PrivateERC721/index.ts +1 -0
- package/typechain-types/contracts/utils/mpc/MpcCore.ts +84 -0
- package/typechain-types/contracts/utils/mpc/MpcInterface.sol/ExtendedOperations.ts +81 -40
- package/typechain-types/contracts/utils/mpc/index.ts +1 -0
- package/typechain-types/factories/contracts/mocks/access/DataPrivacyFramework/DataPrivacyFrameworkMock__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivateERC20Mock__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/token/PrivateERC721/PrivateERC721URIStorageMock__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/ArithmeticTestsContract.sol/ArithmeticTestsContract__factory.ts +387 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/ArithmeticTestsContract.sol/PrecompilesArythmeticTestsContract__factory.ts +388 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/ArithmeticTestsContract.sol/index.ts +5 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/ArithmeticTestsContract__factory.ts +92 -7
- package/typechain-types/factories/contracts/mocks/utils/mpc/BitwiseTestsContract__factory.ts +38 -2
- package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison1Tests.Contract.sol/Comparison1TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison1TestsContract__factory.ts +387 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison2TestsContract__factory.ts +38 -2
- package/typechain-types/factories/contracts/mocks/utils/mpc/MinMaxTestsContract__factory.ts +15 -2
- package/typechain-types/factories/contracts/mocks/utils/mpc/Miscellaneous1TestsContract__factory.ts +66 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/Miscellaneous2TestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/MiscellaneousTestsContract__factory.ts +424 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/OffboardToUserKeyTestContract__factory.ts +285 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/OffboardToUserKeyTestsContract.sol/OffboardToUserKeyTestContract__factory.ts +19 -3
- package/typechain-types/factories/contracts/mocks/utils/mpc/ShiftTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/StringTestsContract__factory.ts +1 -1
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferScalarTestsContract__factory.ts +4 -4
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferTestsContract__factory.ts +4 -4
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64TestsContract.sol/TransferWithAllowance64TestsContract__factory.ts +294 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64TestsContract.sol/TransferWithAllowanceTestsContract__factory.ts +292 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64TestsContract.sol/index.ts +5 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64TestsContract__factory.ts +720 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_16TestsContract__factory.ts +724 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_32TestsContract__factory.ts +724 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_64TestsContract.sol/TransferWithAllowance64_64TestsContract__factory.ts +724 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_64TestsContract.sol/TransferWithAllowance64_8TestsContract__factory.ts +724 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_64TestsContract.sol/index.ts +5 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_64TestsContract__factory.ts +724 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_8TestsContract__factory.ts +724 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowanceScalarTestsContract__factory.ts +507 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowanceTestsContract.sol/TransferTestsContract__factory.ts +150 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowanceTestsContract.sol/TransferWithAllowanceTestsContract__factory.ts +150 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowanceTestsContract.sol/index.ts +5 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowanceTestsContract__factory.ts +434 -0
- package/typechain-types/factories/contracts/mocks/utils/mpc/index.ts +9 -4
- package/typechain-types/factories/contracts/mocks/wallet/PrivateERC20Wallet/PrivateERC20WalletMock__factory.ts +1 -1
- package/typechain-types/factories/contracts/onboard/AccountOnboard__factory.ts +8 -2
- package/typechain-types/factories/contracts/token/PrivateERC721/IERC721Errors__factory.ts +128 -0
- package/typechain-types/factories/contracts/token/PrivateERC721/index.ts +1 -0
- package/typechain-types/factories/contracts/utils/mpc/MpcCore__factory.ts +77 -0
- package/typechain-types/factories/contracts/utils/mpc/MpcInterface.sol/ExtendedOperations__factory.ts +124 -61
- package/typechain-types/factories/contracts/utils/mpc/index.ts +1 -0
- package/typechain-types/hardhat.d.ts +152 -26
- package/typechain-types/index.ts +20 -8
- package/contracts/access/DataPrivacyFramework/README.md +0 -68
- package/contracts/mocks/utils/mpc/Miscellaneous2TestsContract.sol +0 -448
- package/contracts/mocks/utils/mpc/OffboardToUserKeyTestsContract.sol +0 -81
- package/contracts/mocks/utils/mpc/ShiftTestsContract.sol +0 -311
- package/contracts/token/PrivateERC20/README.md +0 -104
- package/contracts/token/PrivateERC721/README.md +0 -282
- package/contracts/utils/mpc/README.md +0 -82
|
@@ -0,0 +1,285 @@
|
|
|
1
|
+
/* Autogenerated file. Do not edit manually. */
|
|
2
|
+
/* tslint:disable */
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
import {
|
|
5
|
+
Contract,
|
|
6
|
+
ContractFactory,
|
|
7
|
+
ContractTransactionResponse,
|
|
8
|
+
Interface,
|
|
9
|
+
} from "ethers";
|
|
10
|
+
import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers";
|
|
11
|
+
import type { NonPayableOverrides } from "../../../../../common";
|
|
12
|
+
import type {
|
|
13
|
+
OffboardToUserKeyTestContract,
|
|
14
|
+
OffboardToUserKeyTestContractInterface,
|
|
15
|
+
} from "../../../../../contracts/mocks/utils/mpc/OffboardToUserKeyTestContract";
|
|
16
|
+
|
|
17
|
+
const _abi = [
|
|
18
|
+
{
|
|
19
|
+
inputs: [],
|
|
20
|
+
name: "getCTs",
|
|
21
|
+
outputs: [
|
|
22
|
+
{
|
|
23
|
+
internalType: "uint256",
|
|
24
|
+
name: "",
|
|
25
|
+
type: "uint256",
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
internalType: "uint256",
|
|
29
|
+
name: "",
|
|
30
|
+
type: "uint256",
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
internalType: "uint256",
|
|
34
|
+
name: "",
|
|
35
|
+
type: "uint256",
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
internalType: "uint256",
|
|
39
|
+
name: "",
|
|
40
|
+
type: "uint256",
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
internalType: "uint256",
|
|
44
|
+
name: "",
|
|
45
|
+
type: "uint256",
|
|
46
|
+
},
|
|
47
|
+
],
|
|
48
|
+
stateMutability: "view",
|
|
49
|
+
type: "function",
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
inputs: [],
|
|
53
|
+
name: "getCt",
|
|
54
|
+
outputs: [
|
|
55
|
+
{
|
|
56
|
+
internalType: "ctUint8",
|
|
57
|
+
name: "",
|
|
58
|
+
type: "uint256",
|
|
59
|
+
},
|
|
60
|
+
],
|
|
61
|
+
stateMutability: "view",
|
|
62
|
+
type: "function",
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
inputs: [],
|
|
66
|
+
name: "getOnboardOffboardResult",
|
|
67
|
+
outputs: [
|
|
68
|
+
{
|
|
69
|
+
internalType: "uint8",
|
|
70
|
+
name: "",
|
|
71
|
+
type: "uint8",
|
|
72
|
+
},
|
|
73
|
+
],
|
|
74
|
+
stateMutability: "view",
|
|
75
|
+
type: "function",
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
inputs: [],
|
|
79
|
+
name: "getUserKeyShares",
|
|
80
|
+
outputs: [
|
|
81
|
+
{
|
|
82
|
+
internalType: "bytes",
|
|
83
|
+
name: "",
|
|
84
|
+
type: "bytes",
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
internalType: "bytes",
|
|
88
|
+
name: "",
|
|
89
|
+
type: "bytes",
|
|
90
|
+
},
|
|
91
|
+
],
|
|
92
|
+
stateMutability: "view",
|
|
93
|
+
type: "function",
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
inputs: [
|
|
97
|
+
{
|
|
98
|
+
internalType: "bytes",
|
|
99
|
+
name: "signedEK",
|
|
100
|
+
type: "bytes",
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
internalType: "bytes",
|
|
104
|
+
name: "signature",
|
|
105
|
+
type: "bytes",
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
internalType: "address",
|
|
109
|
+
name: "addr",
|
|
110
|
+
type: "address",
|
|
111
|
+
},
|
|
112
|
+
],
|
|
113
|
+
name: "getUserKeyTest",
|
|
114
|
+
outputs: [
|
|
115
|
+
{
|
|
116
|
+
internalType: "uint8",
|
|
117
|
+
name: "",
|
|
118
|
+
type: "uint8",
|
|
119
|
+
},
|
|
120
|
+
],
|
|
121
|
+
stateMutability: "nonpayable",
|
|
122
|
+
type: "function",
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
inputs: [],
|
|
126
|
+
name: "getX",
|
|
127
|
+
outputs: [
|
|
128
|
+
{
|
|
129
|
+
internalType: "uint8",
|
|
130
|
+
name: "",
|
|
131
|
+
type: "uint8",
|
|
132
|
+
},
|
|
133
|
+
],
|
|
134
|
+
stateMutability: "view",
|
|
135
|
+
type: "function",
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
inputs: [
|
|
139
|
+
{
|
|
140
|
+
internalType: "uint8",
|
|
141
|
+
name: "a",
|
|
142
|
+
type: "uint8",
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
internalType: "address",
|
|
146
|
+
name: "addr",
|
|
147
|
+
type: "address",
|
|
148
|
+
},
|
|
149
|
+
],
|
|
150
|
+
name: "offboardCombinedTest",
|
|
151
|
+
outputs: [],
|
|
152
|
+
stateMutability: "nonpayable",
|
|
153
|
+
type: "function",
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
inputs: [
|
|
157
|
+
{
|
|
158
|
+
internalType: "uint8",
|
|
159
|
+
name: "a8",
|
|
160
|
+
type: "uint8",
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
internalType: "uint16",
|
|
164
|
+
name: "a16",
|
|
165
|
+
type: "uint16",
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
internalType: "uint32",
|
|
169
|
+
name: "a32",
|
|
170
|
+
type: "uint32",
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
internalType: "uint32",
|
|
174
|
+
name: "a64",
|
|
175
|
+
type: "uint32",
|
|
176
|
+
},
|
|
177
|
+
],
|
|
178
|
+
name: "offboardOnboardTest",
|
|
179
|
+
outputs: [],
|
|
180
|
+
stateMutability: "nonpayable",
|
|
181
|
+
type: "function",
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
inputs: [
|
|
185
|
+
{
|
|
186
|
+
internalType: "uint8",
|
|
187
|
+
name: "a",
|
|
188
|
+
type: "uint8",
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
internalType: "address",
|
|
192
|
+
name: "addr",
|
|
193
|
+
type: "address",
|
|
194
|
+
},
|
|
195
|
+
],
|
|
196
|
+
name: "offboardToUserTest",
|
|
197
|
+
outputs: [],
|
|
198
|
+
stateMutability: "nonpayable",
|
|
199
|
+
type: "function",
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
inputs: [
|
|
203
|
+
{
|
|
204
|
+
internalType: "bytes",
|
|
205
|
+
name: "signedEK",
|
|
206
|
+
type: "bytes",
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
internalType: "bytes",
|
|
210
|
+
name: "signature",
|
|
211
|
+
type: "bytes",
|
|
212
|
+
},
|
|
213
|
+
],
|
|
214
|
+
name: "userKeyTest",
|
|
215
|
+
outputs: [
|
|
216
|
+
{
|
|
217
|
+
internalType: "bytes",
|
|
218
|
+
name: "",
|
|
219
|
+
type: "bytes",
|
|
220
|
+
},
|
|
221
|
+
{
|
|
222
|
+
internalType: "bytes",
|
|
223
|
+
name: "",
|
|
224
|
+
type: "bytes",
|
|
225
|
+
},
|
|
226
|
+
],
|
|
227
|
+
stateMutability: "nonpayable",
|
|
228
|
+
type: "function",
|
|
229
|
+
},
|
|
230
|
+
] as const;
|
|
231
|
+
|
|
232
|
+
const _bytecode =
|
|
233
|
+
"0x608060405234801561001057600080fd5b50611997806100206000396000f3fe608060405234801561001057600080fd5b50600436106100be5760003560e01c80635197c7aa11610076578063b30fc30d1161005b578063b30fc30d14610172578063fbe5fe1c14610185578063fbffef771461019857600080fd5b80635197c7aa1461015257806368af56131461015d57600080fd5b80633d36856a116100a75780633d36856a146100fa5780633e99ee8c146101135780634e7b55c31461014a57600080fd5b80630844066e146100c357806320ee9bfb146100d9575b600080fd5b6003546040519081526020015b60405180910390f35b6100ec6100e73660046112ff565b6101ab565b6040516100d09291906113d9565b60095460ff165b60405160ff90911681526020016100d0565b600454600554600654600754600854604080519586526020860194909452928401919091526060830152608082015260a0016100d0565b6100ec610302565b60025460ff16610101565b61017061016b366004611441565b610429565b005b610170610180366004611488565b6104e9565b6101016101933660046114e5565b6106f8565b6101706101a6366004611441565b6107b0565b6060806101ba86868686610863565b60008060016101c98482611637565b506101d690508382611637565b505050600060018180546101e990611595565b80601f016020809104026020016040519081016040528092919081815260200182805461021590611595565b80156102625780601f1061023757610100808354040283529160200191610262565b820191906000526020600020905b81548152906001019060200180831161024557829003601f168201915b5050505050915080805461027590611595565b80601f01602080910402602001604051908101604052809291908181526020018280546102a190611595565b80156102ee5780601f106102c3576101008083540402835291602001916102ee565b820191906000526020600020905b8154815290600101906020018083116102d157829003601f168201915b505050505090509150915094509492505050565b6060806000600181805461031590611595565b80601f016020809104026020016040519081016040528092919081815260200182805461034190611595565b801561038e5780601f106103635761010080835404028352916020019161038e565b820191906000526020600020905b81548152906001019060200180831161037157829003601f168201915b505050505091508080546103a190611595565b80601f01602080910402602001604051908101604052809291908181526020018280546103cd90611595565b801561041a5780601f106103ef5761010080835404028352916020019161041a565b820191906000526020600020905b8154815290600101906020018083116103fd57829003601f168201915b50505050509050915091509091565b600061043a60008460ff1611610bda565b9050600061044784610c7f565b905060006104578560ff16610d2d565b905060006104678660ff16610d97565b905060006104778760ff16610e03565b905060006104858688610e73565b905060006104938689610ea7565b905060006104a1868a610ed0565b905060006104af868b610ef9565b905060006104bd868c610f22565b602095860151600455938501516005555090830151600655820151600755015160085550505050505050565b60ff8416151560006104fa82610bda565b9050600061050787610c7f565b9050600061051487610d2d565b9050600061052187610d97565b905060006105348763ffffffff16610e03565b9050600061054186610f4b565b9050600061055661055183610fa4565b610fb3565b9050600061056387611044565b9050600061057861057383611054565b611064565b600980547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff8316179055905060006105b288611074565b905060006105c76105c283611084565b611094565b905060006105d4896110a4565b905060006105e96105e4836110b4565b6110c4565b905060006105f68a6110d4565b9050600061060b610606836110e4565b6110f4565b90508f151589151514801561062657508461ffff168760ff16145b801561063a57508263ffffffff168760ff16145b801561065257508067ffffffffffffffff168760ff16145b6106e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4661696c656420746f206f6666626f61726420616e64206f6e626f617264206160448201527f6c6c2076616c7565730000000000000000000000000000000000000000000000606482015260840160405180910390fd5b5050505050505050505050505050505050505050565b6000806107056005610c7f565b90506000610714826005611104565b905061072288888888610863565b60008060016107318482611637565b5061073e90508382611637565b50505061074b81856111a1565b600355600061075982611044565b9050600061076682611054565b905061077181611064565b600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff9290921691821790559a9950505050505050505050565b60006107c160008460ff1611610bda565b905060006107ce84610c7f565b905060006107de8560ff16610d2d565b905060006107ee8660ff16610d97565b905060006107fe8760ff16610e03565b9050600061080c868861121a565b9050600061081a86896111a1565b90506000610828868a611229565b90506000610836868b611239565b90506000610844868c611249565b6004959095555060059290925560065560075560085550505050505050565b60608060006108728685611780565b67ffffffffffffffff81111561088a5761088a611566565b6040519080825280601f01601f1916602001820160405280156108b4576020820181803683370190505b50905060005b84811015610931578585828181106108d4576108d4611793565b9050013560f81c60f81b8282815181106108f0576108f0611793565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535080610929816117c2565b9150506108ba565b5060005b868110156109d35787878281811061094f5761094f611793565b909101357fff00000000000000000000000000000000000000000000000000000000000000169050826109828388611780565b8151811061099257610992611793565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350806109cb816117c2565b915050610935565b506040517fa85f0ca200000000000000000000000000000000000000000000000000000000815260009060649063a85f0ca290610a149085906004016117fa565b6000604051808303816000875af1158015610a33573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610a79919081019061180d565b604080516101008082526101208201909252919250600091906020820181803683375050604080516101008082526101208201909252929350600092915060208201818036833701905050905060005b8251811015610b4257838181518110610ae457610ae4611793565b602001015160f81c60f81b838281518110610b0157610b01611793565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535080610b3a816117c2565b915050610ac9565b5060005b8151811015610bca5783610b5c61010083611780565b81518110610b6c57610b6c611793565b602001015160f81c60f81b828281518110610b8957610b89611793565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535080610bc2816117c2565b915050610b46565b5090999098509650505050505050565b60008082610be9576000610bec565b60015b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081526000600482015260ff9190911660248201819052915060649063d9b60b60906044015b6020604051808303816000875af1158015610c54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c789190611907565b9392505050565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0100000000000000000000000000000000000000000000000000000000000000600482015260ff8216602482015260009060649063d9b60b60906044015b6020604051808303816000875af1158015610d03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d279190611907565b92915050565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0200000000000000000000000000000000000000000000000000000000000000600482015261ffff8216602482015260009060649063d9b60b6090604401610ce4565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0300000000000000000000000000000000000000000000000000000000000000600482015263ffffffff8216602482015260009060649063d9b60b6090604401610ce4565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0400000000000000000000000000000000000000000000000000000000000000600482015267ffffffffffffffff8216602482015260009060649063d9b60b6090604401610ce4565b6040805180820190915260008082526020820152610e9083610f4b565b8152610e9c838361121a565b602082015292915050565b6040805180820190915260008082526020820152610ec483611044565b8152610e9c83836111a1565b6040805180820190915260008082526020820152610eed83611074565b8152610e9c8383611229565b6040805180820190915260008082526020820152610f16836110a4565b8152610e9c8383611239565b6040805180820190915260008082526020820152610f3f836110d4565b8152610e9c8383611249565b6000606463c50c9c02825b60f81b846040518363ffffffff1660e01b8152600401610ce49291907fff00000000000000000000000000000000000000000000000000000000000000929092168252602082015260400190565b6000606463d2c135e582610f56565b6040517f0cfed56100000000000000000000000000000000000000000000000000000000815260006004820181905260248201839052908190606490630cfed561906044016020604051808303816000875af1158015611017573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061103b9190611907565b15159392505050565b6000606463c50c9c026001610f56565b6000606463d2c135e56001610f56565b60006064630cfed5616001610f56565b6000606463c50c9c026002610f56565b6000606463d2c135e56002610f56565b60006064630cfed5616002610f56565b6000606463c50c9c026003610f56565b6000606463d2c135e56003610f56565b60006064630cfed5616003610f56565b6000606463c50c9c026004610f56565b6000606463d2c135e56004610f56565b60006064630cfed5616004610f56565b60006064638c5d015061111a6001806002611259565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff000000000000000000000000000000000000000000000000000000000090911660048201526024810186905260ff851660448201526064016020604051808303816000875af1158015610c54573d6000803e3d6000fd5b60006064633c6f0e6860015b60f81b85856040516020016111ed919060609190911b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016815260140190565b6040516020818303038152906040526040518463ffffffff1660e01b8152600401610c3593929190611920565b60006064633c6f0e68826111ad565b60006064633c6f0e6860026111ad565b60006064633c6f0e6860036111ad565b60006064633c6f0e6860046111ad565b600081600281111561126d5761126d6118d8565b60ff166008846004811115611284576112846118d8565b61ffff16901b61ffff1660108660048111156112a2576112a26118d8565b62ffffff16901b171760e81b949350505050565b60008083601f8401126112c857600080fd5b50813567ffffffffffffffff8111156112e057600080fd5b6020830191508360208285010111156112f857600080fd5b9250929050565b6000806000806040858703121561131557600080fd5b843567ffffffffffffffff8082111561132d57600080fd5b611339888389016112b6565b9096509450602087013591508082111561135257600080fd5b5061135f878288016112b6565b95989497509550505050565b60005b8381101561138657818101518382015260200161136e565b50506000910152565b600081518084526113a781602086016020860161136b565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6040815260006113ec604083018561138f565b82810360208401526113fe818561138f565b95945050505050565b803560ff8116811461141857600080fd5b919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461141857600080fd5b6000806040838503121561145457600080fd5b61145d83611407565b915061146b6020840161141d565b90509250929050565b803563ffffffff8116811461141857600080fd5b6000806000806080858703121561149e57600080fd5b6114a785611407565b9350602085013561ffff811681146114be57600080fd5b92506114cc60408601611474565b91506114da60608601611474565b905092959194509250565b6000806000806000606086880312156114fd57600080fd5b853567ffffffffffffffff8082111561151557600080fd5b61152189838a016112b6565b9097509550602088013591508082111561153a57600080fd5b50611547888289016112b6565b909450925061155a90506040870161141d565b90509295509295909350565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600181811c908216806115a957607f821691505b6020821081036115e2577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f82111561163257600081815260208120601f850160051c8101602086101561160f5750805b601f850160051c820191505b8181101561162e5782815560010161161b565b5050505b505050565b815167ffffffffffffffff81111561165157611651611566565b6116658161165f8454611595565b846115e8565b602080601f8311600181146116b857600084156116825750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b17855561162e565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015611705578886015182559484019460019091019084016116e6565b508582101561174157878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610d2757610d27611751565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036117f3576117f3611751565b5060010190565b602081526000610c78602083018461138f565b60006020828403121561181f57600080fd5b815167ffffffffffffffff8082111561183757600080fd5b818401915084601f83011261184b57600080fd5b81518181111561185d5761185d611566565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156118a3576118a3611566565b816040528281528760208487010111156118bc57600080fd5b6118cd83602083016020880161136b565b979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60006020828403121561191957600080fd5b5051919050565b7fff00000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006113fe606083018461138f56fea2646970667358221220a45dc876e6e2f269448b4eb68c280ed052cdc2911dcbaafba302add1bceb067264736f6c63430008130033";
|
|
234
|
+
|
|
235
|
+
type OffboardToUserKeyTestContractConstructorParams =
|
|
236
|
+
| [signer?: Signer]
|
|
237
|
+
| ConstructorParameters<typeof ContractFactory>;
|
|
238
|
+
|
|
239
|
+
const isSuperArgs = (
|
|
240
|
+
xs: OffboardToUserKeyTestContractConstructorParams
|
|
241
|
+
): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
|
|
242
|
+
|
|
243
|
+
export class OffboardToUserKeyTestContract__factory extends ContractFactory {
|
|
244
|
+
constructor(...args: OffboardToUserKeyTestContractConstructorParams) {
|
|
245
|
+
if (isSuperArgs(args)) {
|
|
246
|
+
super(...args);
|
|
247
|
+
} else {
|
|
248
|
+
super(_abi, _bytecode, args[0]);
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
override getDeployTransaction(
|
|
253
|
+
overrides?: NonPayableOverrides & { from?: string }
|
|
254
|
+
): Promise<ContractDeployTransaction> {
|
|
255
|
+
return super.getDeployTransaction(overrides || {});
|
|
256
|
+
}
|
|
257
|
+
override deploy(overrides?: NonPayableOverrides & { from?: string }) {
|
|
258
|
+
return super.deploy(overrides || {}) as Promise<
|
|
259
|
+
OffboardToUserKeyTestContract & {
|
|
260
|
+
deploymentTransaction(): ContractTransactionResponse;
|
|
261
|
+
}
|
|
262
|
+
>;
|
|
263
|
+
}
|
|
264
|
+
override connect(
|
|
265
|
+
runner: ContractRunner | null
|
|
266
|
+
): OffboardToUserKeyTestContract__factory {
|
|
267
|
+
return super.connect(runner) as OffboardToUserKeyTestContract__factory;
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
static readonly bytecode = _bytecode;
|
|
271
|
+
static readonly abi = _abi;
|
|
272
|
+
static createInterface(): OffboardToUserKeyTestContractInterface {
|
|
273
|
+
return new Interface(_abi) as OffboardToUserKeyTestContractInterface;
|
|
274
|
+
}
|
|
275
|
+
static connect(
|
|
276
|
+
address: string,
|
|
277
|
+
runner?: ContractRunner | null
|
|
278
|
+
): OffboardToUserKeyTestContract {
|
|
279
|
+
return new Contract(
|
|
280
|
+
address,
|
|
281
|
+
_abi,
|
|
282
|
+
runner
|
|
283
|
+
) as unknown as OffboardToUserKeyTestContract;
|
|
284
|
+
}
|
|
285
|
+
}
|
|
@@ -77,13 +77,18 @@ const _abi = [
|
|
|
77
77
|
},
|
|
78
78
|
{
|
|
79
79
|
inputs: [],
|
|
80
|
-
name: "
|
|
80
|
+
name: "getUserKeyShares",
|
|
81
81
|
outputs: [
|
|
82
82
|
{
|
|
83
83
|
internalType: "bytes",
|
|
84
84
|
name: "",
|
|
85
85
|
type: "bytes",
|
|
86
86
|
},
|
|
87
|
+
{
|
|
88
|
+
internalType: "bytes",
|
|
89
|
+
name: "",
|
|
90
|
+
type: "bytes",
|
|
91
|
+
},
|
|
87
92
|
],
|
|
88
93
|
stateMutability: "view",
|
|
89
94
|
type: "function",
|
|
@@ -183,14 +188,25 @@ const _abi = [
|
|
|
183
188
|
},
|
|
184
189
|
],
|
|
185
190
|
name: "userKeyTest",
|
|
186
|
-
outputs: [
|
|
191
|
+
outputs: [
|
|
192
|
+
{
|
|
193
|
+
internalType: "bytes",
|
|
194
|
+
name: "",
|
|
195
|
+
type: "bytes",
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
internalType: "bytes",
|
|
199
|
+
name: "",
|
|
200
|
+
type: "bytes",
|
|
201
|
+
},
|
|
202
|
+
],
|
|
187
203
|
stateMutability: "nonpayable",
|
|
188
204
|
type: "function",
|
|
189
205
|
},
|
|
190
206
|
] as const;
|
|
191
207
|
|
|
192
208
|
const _bytecode =
|
|
193
|
-
"0x608060405234801561001057600080fd5b50611997806100206000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80635197c7aa1161005b5780635197c7aa146100dd5780635cbfeea2146100fb578063fbe5fe1c14610119578063fbffef77146101495761007d565b80630844066e1461008257806320ee9bfb146100a05780633e99ee8c146100bc575b600080fd5b61008a61017c565b6040516100979190610ebb565b60405180910390f35b6100ba60048036038101906100b59190610f4f565b610186565b005b6100c46101eb565b6040516100d49493929190610fdf565b60405180910390f35b6100e561020b565b6040516100f29190611040565b60405180910390f35b610103610222565b60405161011091906110eb565b60405180910390f35b610133600480360381019061012e919061116b565b6102b4565b6040516101409190611040565b60405180910390f35b610163600480360381019061015e919061122c565b610359565b6040516101739493929190610fdf565b60405180910390f35b6000600254905090565b600061019485858585610415565b90503373ffffffffffffffffffffffffffffffffffffffff167fb67504ecfeef0230a06f661ea388c2947b4125a35e918ebff5889e3553c29c04826040516101dc91906110eb565b60405180910390a25050505050565b600080600080600354600454600554600654935093509350935090919293565b6000600160009054906101000a900460ff16905090565b6060600080546102319061129b565b80601f016020809104026020016040519081016040528092919081815260200182805461025d9061129b565b80156102aa5780601f1061027f576101008083540402835291602001916102aa565b820191906000526020600020905b81548152906001019060200180831161028d57829003601f168201915b5050505050905090565b6000806102c16005610614565b905060006102d08260056106b5565b90506102de88888888610415565b600090816102ec919061147b565b506102f7818561074f565b60028190555060006103088261080f565b90506000610315826108ad565b90506103208161094b565b600160006101000a81548160ff021916908360ff160217905550600160009054906101000a900460ff1694505050505095945050505050565b600080600080600061036a87610614565b9050600061037a8860ff166109e9565b9050600061038a8960ff16610a8b565b9050600061039a8a60ff16610b2f565b905060006103a8858b61074f565b905060006103b6858c610bd6565b905060006103c4858d610c96565b905060006103d2858e610d56565b9050836003819055508260048190555081600581905550806006819055506003546004546005546006549b509b509b509b50505050505050505092959194509250565b60606000858590508484905061042b919061157c565b67ffffffffffffffff811115610444576104436112cc565b5b6040519080825280601f01601f1916602001820160405280156104765781602001600182028036833780820191505090505b50905060005b848490508110156104f95784848281811061049a576104996115b0565b5b9050013560f81c60f81b8282815181106104b7576104b66115b0565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535080806104f1906115df565b91505061047c565b5060005b868690508110156105885786868281811061051b5761051a6115b0565b5b9050013560f81c60f81b828287879050610535919061157c565b81518110610546576105456115b0565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508080610580906115df565b9150506104fd565b50606473ffffffffffffffffffffffffffffffffffffffff1663a85f0ca2826040518263ffffffff1660e01b81526004016105c391906110eb565b600060405180830381865afa1580156105e0573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906106099190611719565b915050949350505050565b6000606473ffffffffffffffffffffffffffffffffffffffff1663d9b60b606001600481111561064757610646611762565b5b60f81b8460ff166040518363ffffffff1660e01b815260040161066b9291906117cc565b6020604051808303816000875af115801561068a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ae9190611821565b9050919050565b6000606473ffffffffffffffffffffffffffffffffffffffff16638c5d01506106e16001806002610e15565b858560ff166040518463ffffffff1660e01b815260040161070493929190611889565b6020604051808303816000875af1158015610723573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107479190611821565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff16633c6f0e686001600481111561078257610781611762565b5b60f81b85856040516020016107979190611908565b6040516020818303038152906040526040518463ffffffff1660e01b81526004016107c493929190611923565b6020604051808303816000875af11580156107e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108079190611821565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff1663c50c9c026001600481111561084257610841611762565b5b60f81b846040518363ffffffff1660e01b81526004016108639291906117cc565b6020604051808303816000875af1158015610882573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a69190611821565b9050919050565b6000606473ffffffffffffffffffffffffffffffffffffffff1663d2c135e5600160048111156108e0576108df611762565b5b60f81b846040518363ffffffff1660e01b81526004016109019291906117cc565b6020604051808303816000875af1158015610920573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109449190611821565b9050919050565b6000606473ffffffffffffffffffffffffffffffffffffffff16630cfed5616001600481111561097e5761097d611762565b5b60f81b846040518363ffffffff1660e01b815260040161099f9291906117cc565b6020604051808303816000875af11580156109be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109e29190611821565b9050919050565b6000606473ffffffffffffffffffffffffffffffffffffffff1663d9b60b6060026004811115610a1c57610a1b611762565b5b60f81b8461ffff166040518363ffffffff1660e01b8152600401610a419291906117cc565b6020604051808303816000875af1158015610a60573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a849190611821565b9050919050565b6000606473ffffffffffffffffffffffffffffffffffffffff1663d9b60b6060036004811115610abe57610abd611762565b5b60f81b8463ffffffff166040518363ffffffff1660e01b8152600401610ae59291906117cc565b6020604051808303816000875af1158015610b04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b289190611821565b9050919050565b6000606473ffffffffffffffffffffffffffffffffffffffff1663d9b60b60600480811115610b6157610b60611762565b5b60f81b8467ffffffffffffffff166040518363ffffffff1660e01b8152600401610b8c9291906117cc565b6020604051808303816000875af1158015610bab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bcf9190611821565b9050919050565b6000606473ffffffffffffffffffffffffffffffffffffffff16633c6f0e6860026004811115610c0957610c08611762565b5b60f81b8585604051602001610c1e9190611908565b6040516020818303038152906040526040518463ffffffff1660e01b8152600401610c4b93929190611923565b6020604051808303816000875af1158015610c6a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c8e9190611821565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff16633c6f0e6860036004811115610cc957610cc8611762565b5b60f81b8585604051602001610cde9190611908565b6040516020818303038152906040526040518463ffffffff1660e01b8152600401610d0b93929190611923565b6020604051808303816000875af1158015610d2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d4e9190611821565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff16633c6f0e68600480811115610d8857610d87611762565b5b60f81b8585604051602001610d9d9190611908565b6040516020818303038152906040526040518463ffffffff1660e01b8152600401610dca93929190611923565b6020604051808303816000875af1158015610de9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e0d9190611821565b905092915050565b6000816002811115610e2a57610e29611762565b5b60ff166008846004811115610e4257610e41611762565b5b61ffff16901b61ffff166010866004811115610e6157610e60611762565b5b62ffffff16901b171760e81b90509392505050565b6000819050919050565b6000819050919050565b6000610ea5610ea0610e9b84610e76565b610e80565b610e76565b9050919050565b610eb581610e8a565b82525050565b6000602082019050610ed06000830184610eac565b92915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f840112610f0f57610f0e610eea565b5b8235905067ffffffffffffffff811115610f2c57610f2b610eef565b5b602083019150836001820283011115610f4857610f47610ef4565b5b9250929050565b60008060008060408587031215610f6957610f68610ee0565b5b600085013567ffffffffffffffff811115610f8757610f86610ee5565b5b610f9387828801610ef9565b9450945050602085013567ffffffffffffffff811115610fb657610fb5610ee5565b5b610fc287828801610ef9565b925092505092959194509250565b610fd981610e76565b82525050565b6000608082019050610ff46000830187610fd0565b6110016020830186610fd0565b61100e6040830185610fd0565b61101b6060830184610fd0565b95945050505050565b600060ff82169050919050565b61103a81611024565b82525050565b60006020820190506110556000830184611031565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561109557808201518184015260208101905061107a565b60008484015250505050565b6000601f19601f8301169050919050565b60006110bd8261105b565b6110c78185611066565b93506110d7818560208601611077565b6110e0816110a1565b840191505092915050565b6000602082019050818103600083015261110581846110b2565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006111388261110d565b9050919050565b6111488161112d565b811461115357600080fd5b50565b6000813590506111658161113f565b92915050565b60008060008060006060868803121561118757611186610ee0565b5b600086013567ffffffffffffffff8111156111a5576111a4610ee5565b5b6111b188828901610ef9565b9550955050602086013567ffffffffffffffff8111156111d4576111d3610ee5565b5b6111e088828901610ef9565b935093505060406111f388828901611156565b9150509295509295909350565b61120981611024565b811461121457600080fd5b50565b60008135905061122681611200565b92915050565b6000806040838503121561124357611242610ee0565b5b600061125185828601611217565b925050602061126285828601611156565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806112b357607f821691505b6020821081036112c6576112c561126c565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830261135d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82611320565b6113678683611320565b95508019841693508086168417925050509392505050565b6000819050919050565b61139283610e8a565b6113a661139e8261137f565b84845461132d565b825550505050565b600090565b6113bb6113ae565b6113c6818484611389565b505050565b5b818110156113ea576113df6000826113b3565b6001810190506113cc565b5050565b601f82111561142f57611400816112fb565b61140984611310565b81016020851015611418578190505b61142c61142485611310565b8301826113cb565b50505b505050565b600082821c905092915050565b600061145260001984600802611434565b1980831691505092915050565b600061146b8383611441565b9150826002028217905092915050565b6114848261105b565b67ffffffffffffffff81111561149d5761149c6112cc565b5b6114a7825461129b565b6114b28282856113ee565b600060209050601f8311600181146114e557600084156114d3578287015190505b6114dd858261145f565b865550611545565b601f1984166114f3866112fb565b60005b8281101561151b578489015182556001820191506020850194506020810190506114f6565b868310156115385784890151611534601f891682611441565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061158782610e76565b915061159283610e76565b92508282019050808211156115aa576115a961154d565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006115ea82610e76565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361161c5761161b61154d565b5b600182019050919050565b600080fd5b611635826110a1565b810181811067ffffffffffffffff82111715611654576116536112cc565b5b80604052505050565b6000611667610ed6565b9050611673828261162c565b919050565b600067ffffffffffffffff821115611693576116926112cc565b5b61169c826110a1565b9050602081019050919050565b60006116bc6116b784611678565b61165d565b9050828152602081018484840111156116d8576116d7611627565b5b6116e3848285611077565b509392505050565b600082601f830112611700576116ff610eea565b5b81516117108482602086016116a9565b91505092915050565b60006020828403121561172f5761172e610ee0565b5b600082015167ffffffffffffffff81111561174d5761174c610ee5565b5b611759848285016116eb565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60007fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b6117c681611791565b82525050565b60006040820190506117e160008301856117bd565b6117ee6020830184610fd0565b9392505050565b6117fe81610e76565b811461180957600080fd5b50565b60008151905061181b816117f5565b92915050565b60006020828403121561183757611836610ee0565b5b60006118458482850161180c565b91505092915050565b60007fffffff000000000000000000000000000000000000000000000000000000000082169050919050565b6118838161184e565b82525050565b600060608201905061189e600083018661187a565b6118ab6020830185610fd0565b6118b86040830184610fd0565b949350505050565b60008160601b9050919050565b60006118d8826118c0565b9050919050565b60006118ea826118cd565b9050919050565b6119026118fd8261112d565b6118df565b82525050565b600061191482846118f1565b60148201915081905092915050565b600060608201905061193860008301866117bd565b6119456020830185610fd0565b818103604083015261195781846110b2565b905094935050505056fea2646970667358221220def8896e279e289dd54f3e7964f10eb9283782f363550fce5a8690380762019864736f6c63430008140033";
|
|
209
|
+
"0x608060405234801561001057600080fd5b50611d55806100206000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80634e7b55c31161005b5780634e7b55c3146100f25780635197c7aa14610111578063fbe5fe1c1461012f578063fbffef771461015f5761007d565b80630844066e1461008257806320ee9bfb146100a05780633e99ee8c146100d1575b600080fd5b61008a610192565b6040516100979190611242565b60405180910390f35b6100ba60048036038101906100b591906112d6565b61019c565b6040516100c89291906113e7565b60405180910390f35b6100d96102ff565b6040516100e9949392919061142d565b60405180910390f35b6100fa61031f565b6040516101089291906113e7565b60405180910390f35b610119610446565b604051610126919061148e565b60405180910390f35b61014960048036038101906101449190611507565b61045d565b604051610156919061148e565b60405180910390f35b610179600480360381019061017491906115c8565b61051e565b604051610189949392919061142d565b60405180910390f35b6000600354905090565b6060806101ab868686866105da565b600080600160008491905090816101c29190611817565b508391905090816101d39190611817565b505050600060018180546101e690611666565b80601f016020809104026020016040519081016040528092919081815260200182805461021290611666565b801561025f5780601f106102345761010080835404028352916020019161025f565b820191906000526020600020905b81548152906001019060200180831161024257829003601f168201915b5050505050915080805461027290611666565b80601f016020809104026020016040519081016040528092919081815260200182805461029e90611666565b80156102eb5780601f106102c0576101008083540402835291602001916102eb565b820191906000526020600020905b8154815290600101906020018083116102ce57829003601f168201915b505050505090509150915094509492505050565b600080600080600454600554600654600754935093509350935090919293565b6060806000600181805461033290611666565b80601f016020809104026020016040519081016040528092919081815260200182805461035e90611666565b80156103ab5780601f10610380576101008083540402835291602001916103ab565b820191906000526020600020905b81548152906001019060200180831161038e57829003601f168201915b505050505091508080546103be90611666565b80601f01602080910402602001604051908101604052809291908181526020018280546103ea90611666565b80156104375780601f1061040c57610100808354040283529160200191610437565b820191906000526020600020905b81548152906001019060200180831161041a57829003601f168201915b50505050509050915091509091565b6000600260009054906101000a900460ff16905090565b60008061046a600561099b565b90506000610479826005610a3c565b9050610487888888886105da565b6000806001600084919050908161049e9190611817565b508391905090816104af9190611817565b5050506104bc8185610ad6565b60038190555060006104cd82610b96565b905060006104da82610c34565b90506104e581610cd2565b600260006101000a81548160ff021916908360ff160217905550600260009054906101000a900460ff1694505050505095945050505050565b600080600080600061052f8761099b565b9050600061053f8860ff16610d70565b9050600061054f8960ff16610e12565b9050600061055f8a60ff16610eb6565b9050600061056d858b610ad6565b9050600061057b858c610f5d565b90506000610589858d61101d565b90506000610597858e6110dd565b9050836004819055508260058190555081600681905550806007819055506004546005546006546007549b509b509b509b50505050505050505092959194509250565b606080600086869050858590506105f19190611918565b67ffffffffffffffff81111561060a57610609611608565b5b6040519080825280601f01601f19166020018201604052801561063c5781602001600182028036833780820191505090505b50905060005b858590508110156106bf578585828181106106605761065f61194c565b5b9050013560f81c60f81b82828151811061067d5761067c61194c565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535080806106b79061197b565b915050610642565b5060005b8787905081101561074e578787828181106106e1576106e061194c565b5b9050013560f81c60f81b8282888890506106fb9190611918565b8151811061070c5761070b61194c565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535080806107469061197b565b9150506106c3565b506000606473ffffffffffffffffffffffffffffffffffffffff1663a85f0ca2836040518263ffffffff1660e01b815260040161078b91906119c3565b6000604051808303816000875af11580156107aa573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906107d39190611ad7565b9050600061010067ffffffffffffffff8111156107f3576107f2611608565b5b6040519080825280601f01601f1916602001820160405280156108255781602001600182028036833780820191505090505b509050600061010067ffffffffffffffff81111561084657610845611608565b5b6040519080825280601f01601f1916602001820160405280156108785781602001600182028036833780820191505090505b50905060005b82518110156108fa5783818151811061089a5761089961194c565b5b602001015160f81c60f81b8382815181106108b8576108b761194c565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535080806108f29061197b565b91505061087e565b5060005b81518110156109875783610100826109169190611918565b815181106109275761092661194c565b5b602001015160f81c60f81b8282815181106109455761094461194c565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350808061097f9061197b565b9150506108fe565b508181955095505050505094509492505050565b6000606473ffffffffffffffffffffffffffffffffffffffff1663d9b60b60600160048111156109ce576109cd611b20565b5b60f81b8460ff166040518363ffffffff1660e01b81526004016109f2929190611b8a565b6020604051808303816000875af1158015610a11573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a359190611bdf565b9050919050565b6000606473ffffffffffffffffffffffffffffffffffffffff16638c5d0150610a68600180600261119c565b858560ff166040518463ffffffff1660e01b8152600401610a8b93929190611c47565b6020604051808303816000875af1158015610aaa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ace9190611bdf565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff16633c6f0e6860016004811115610b0957610b08611b20565b5b60f81b8585604051602001610b1e9190611cc6565b6040516020818303038152906040526040518463ffffffff1660e01b8152600401610b4b93929190611ce1565b6020604051808303816000875af1158015610b6a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b8e9190611bdf565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff1663c50c9c0260016004811115610bc957610bc8611b20565b5b60f81b846040518363ffffffff1660e01b8152600401610bea929190611b8a565b6020604051808303816000875af1158015610c09573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c2d9190611bdf565b9050919050565b6000606473ffffffffffffffffffffffffffffffffffffffff1663d2c135e560016004811115610c6757610c66611b20565b5b60f81b846040518363ffffffff1660e01b8152600401610c88929190611b8a565b6020604051808303816000875af1158015610ca7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ccb9190611bdf565b9050919050565b6000606473ffffffffffffffffffffffffffffffffffffffff16630cfed56160016004811115610d0557610d04611b20565b5b60f81b846040518363ffffffff1660e01b8152600401610d26929190611b8a565b6020604051808303816000875af1158015610d45573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d699190611bdf565b9050919050565b6000606473ffffffffffffffffffffffffffffffffffffffff1663d9b60b6060026004811115610da357610da2611b20565b5b60f81b8461ffff166040518363ffffffff1660e01b8152600401610dc8929190611b8a565b6020604051808303816000875af1158015610de7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e0b9190611bdf565b9050919050565b6000606473ffffffffffffffffffffffffffffffffffffffff1663d9b60b6060036004811115610e4557610e44611b20565b5b60f81b8463ffffffff166040518363ffffffff1660e01b8152600401610e6c929190611b8a565b6020604051808303816000875af1158015610e8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eaf9190611bdf565b9050919050565b6000606473ffffffffffffffffffffffffffffffffffffffff1663d9b60b60600480811115610ee857610ee7611b20565b5b60f81b8467ffffffffffffffff166040518363ffffffff1660e01b8152600401610f13929190611b8a565b6020604051808303816000875af1158015610f32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f569190611bdf565b9050919050565b6000606473ffffffffffffffffffffffffffffffffffffffff16633c6f0e6860026004811115610f9057610f8f611b20565b5b60f81b8585604051602001610fa59190611cc6565b6040516020818303038152906040526040518463ffffffff1660e01b8152600401610fd293929190611ce1565b6020604051808303816000875af1158015610ff1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110159190611bdf565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff16633c6f0e68600360048111156110505761104f611b20565b5b60f81b85856040516020016110659190611cc6565b6040516020818303038152906040526040518463ffffffff1660e01b815260040161109293929190611ce1565b6020604051808303816000875af11580156110b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110d59190611bdf565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff16633c6f0e6860048081111561110f5761110e611b20565b5b60f81b85856040516020016111249190611cc6565b6040516020818303038152906040526040518463ffffffff1660e01b815260040161115193929190611ce1565b6020604051808303816000875af1158015611170573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111949190611bdf565b905092915050565b60008160028111156111b1576111b0611b20565b5b60ff1660088460048111156111c9576111c8611b20565b5b61ffff16901b61ffff1660108660048111156111e8576111e7611b20565b5b62ffffff16901b171760e81b90509392505050565b6000819050919050565b6000819050919050565b600061122c611227611222846111fd565b611207565b6111fd565b9050919050565b61123c81611211565b82525050565b60006020820190506112576000830184611233565b92915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f84011261129657611295611271565b5b8235905067ffffffffffffffff8111156112b3576112b2611276565b5b6020830191508360018202830111156112cf576112ce61127b565b5b9250929050565b600080600080604085870312156112f0576112ef611267565b5b600085013567ffffffffffffffff81111561130e5761130d61126c565b5b61131a87828801611280565b9450945050602085013567ffffffffffffffff81111561133d5761133c61126c565b5b61134987828801611280565b925092505092959194509250565b600081519050919050565b600082825260208201905092915050565b60005b83811015611391578082015181840152602081019050611376565b60008484015250505050565b6000601f19601f8301169050919050565b60006113b982611357565b6113c38185611362565b93506113d3818560208601611373565b6113dc8161139d565b840191505092915050565b6000604082019050818103600083015261140181856113ae565b9050818103602083015261141581846113ae565b90509392505050565b611427816111fd565b82525050565b6000608082019050611442600083018761141e565b61144f602083018661141e565b61145c604083018561141e565b611469606083018461141e565b95945050505050565b600060ff82169050919050565b61148881611472565b82525050565b60006020820190506114a3600083018461147f565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006114d4826114a9565b9050919050565b6114e4816114c9565b81146114ef57600080fd5b50565b600081359050611501816114db565b92915050565b60008060008060006060868803121561152357611522611267565b5b600086013567ffffffffffffffff8111156115415761154061126c565b5b61154d88828901611280565b9550955050602086013567ffffffffffffffff8111156115705761156f61126c565b5b61157c88828901611280565b9350935050604061158f888289016114f2565b9150509295509295909350565b6115a581611472565b81146115b057600080fd5b50565b6000813590506115c28161159c565b92915050565b600080604083850312156115df576115de611267565b5b60006115ed858286016115b3565b92505060206115fe858286016114f2565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061167e57607f821691505b60208210810361169157611690611637565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026116f97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826116bc565b61170386836116bc565b95508019841693508086168417925050509392505050565b6000819050919050565b61172e83611211565b61174261173a8261171b565b8484546116c9565b825550505050565b600090565b61175761174a565b611762818484611725565b505050565b5b818110156117865761177b60008261174f565b600181019050611768565b5050565b601f8211156117cb5761179c81611697565b6117a5846116ac565b810160208510156117b4578190505b6117c86117c0856116ac565b830182611767565b50505b505050565b600082821c905092915050565b60006117ee600019846008026117d0565b1980831691505092915050565b600061180783836117dd565b9150826002028217905092915050565b61182082611357565b67ffffffffffffffff81111561183957611838611608565b5b6118438254611666565b61184e82828561178a565b600060209050601f831160018114611881576000841561186f578287015190505b61187985826117fb565b8655506118e1565b601f19841661188f86611697565b60005b828110156118b757848901518255600182019150602085019450602081019050611892565b868310156118d457848901516118d0601f8916826117dd565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611923826111fd565b915061192e836111fd565b9250828201905080821115611946576119456118e9565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000611986826111fd565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036119b8576119b76118e9565b5b600182019050919050565b600060208201905081810360008301526119dd81846113ae565b905092915050565b600080fd5b6119f38261139d565b810181811067ffffffffffffffff82111715611a1257611a11611608565b5b80604052505050565b6000611a2561125d565b9050611a3182826119ea565b919050565b600067ffffffffffffffff821115611a5157611a50611608565b5b611a5a8261139d565b9050602081019050919050565b6000611a7a611a7584611a36565b611a1b565b905082815260208101848484011115611a9657611a956119e5565b5b611aa1848285611373565b509392505050565b600082601f830112611abe57611abd611271565b5b8151611ace848260208601611a67565b91505092915050565b600060208284031215611aed57611aec611267565b5b600082015167ffffffffffffffff811115611b0b57611b0a61126c565b5b611b1784828501611aa9565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60007fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b611b8481611b4f565b82525050565b6000604082019050611b9f6000830185611b7b565b611bac602083018461141e565b9392505050565b611bbc816111fd565b8114611bc757600080fd5b50565b600081519050611bd981611bb3565b92915050565b600060208284031215611bf557611bf4611267565b5b6000611c0384828501611bca565b91505092915050565b60007fffffff000000000000000000000000000000000000000000000000000000000082169050919050565b611c4181611c0c565b82525050565b6000606082019050611c5c6000830186611c38565b611c69602083018561141e565b611c76604083018461141e565b949350505050565b60008160601b9050919050565b6000611c9682611c7e565b9050919050565b6000611ca882611c8b565b9050919050565b611cc0611cbb826114c9565b611c9d565b82525050565b6000611cd28284611caf565b60148201915081905092915050565b6000606082019050611cf66000830186611b7b565b611d03602083018561141e565b8181036040830152611d1581846113ae565b905094935050505056fea264697066735822122091295559070cc8dc4b1b3971faec446fb0732eada7c48ddff5fd4a8885840d5664736f6c63430008140033";
|
|
194
210
|
|
|
195
211
|
type OffboardToUserKeyTestContractConstructorParams =
|
|
196
212
|
| [signer?: Signer]
|
|
@@ -325,7 +325,7 @@ const _abi = [
|
|
|
325
325
|
] as const;
|
|
326
326
|
|
|
327
327
|
const _bytecode =
|
|
328
|
-
"0x608060405234801561001057600080fd5b506142b9806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063d2becd381161005b578063d2becd3814610150578063de29278914610171578063ebb571fd1461018f578063ee49a6ea146101ab57610088565b806308e9d12a1461008d5780632e544aa0146100c057806380f937bc146100f0578063acb3816914610120575b600080fd5b6100a760048036038101906100a29190613484565b6101db565b6040516100b79493929190613532565b60405180910390f35b6100da60048036038101906100d591906136a2565b610785565b6040516100e791906136cf565b60405180910390f35b61010a600480360381019061010591906137ca565b610815565b60405161011791906137f7565b60405180910390f35b61013a600480360381019061013591906138ca565b610969565b60405161014791906138f7565b60405180910390f35b610158610a47565b6040516101689493929190613532565b60405180910390f35b610179610aa4565b6040516101869190613912565b60405180910390f35b6101a960048036038101906101a49190613a23565b610aba565b005b6101c560048036038101906101c09190613484565b610b61565b6040516101d29190613912565b60405180910390f35b6000806000806101e961336a565b6101f16133af565b6101f96133d0565b6102016133ff565b61020c848b8b610aba565b61022661022185600001518660200151611140565b6111d7565b6000806101000a81548160ff021916908360ff16021790555061025184604001518560600151611275565b83600001818152505061026c8460000151856060015161130c565b836020018181525050610287846040015185602001516113a4565b83604001818152505061029983610785565b600060016101000a81548161ffff021916908361ffff1602179055506102c784608001518560a0015161143c565b8260000181815250506102e284600001518560a001516114d3565b8260200181815250506102fd8460800151856020015161156b565b82604001818152505061031884604001518560a00151611603565b8260600181815250506103338460800151856060015161169b565b82608001818152505061034582610969565b600060036101000a81548163ffffffff021916908363ffffffff1602179055506103778460c001518560e00151611733565b81600001818152505061039284600001518560e001516117ca565b8160200181815250506103ad8460c001518560200151611862565b8160400181815250506103c884604001518560e001516118fa565b8160600181815250506103e38460c001518560600151611992565b8160800181815250506103fe84608001518560e00151611a2a565b8160a00181815250506104198460c001518560a00151611ac2565b8160c001818152505061042b81610815565b600060076101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506104696104648b8660200151611b5a565b6111d7565b60ff1660008054906101000a900460ff1660ff161480156104b1575061049b61049685600001518b611bf4565b6111d7565b60ff1660008054906101000a900460ff1660ff16145b6104f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104e790613afc565b60405180910390fd5b6105096105048b60ff168660600151611c8e565b611d29565b61ffff16600060019054906101000a900461ffff1661ffff1614801561055e575061054361053e85604001518b60ff16611dc7565b611d29565b61ffff16600060019054906101000a900461ffff1661ffff16145b61059d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161059490613b8e565b60405180910390fd5b6105b66105b18b60ff168660a00151611e62565b611eff565b63ffffffff16600060039054906101000a900463ffffffff1663ffffffff1614801561061757506105f66105f185608001518b60ff16611f9d565b611eff565b63ffffffff16600060039054906101000a900463ffffffff1663ffffffff16145b610656576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064d90613c20565b60405180910390fd5b61066f61066a8b60ff168660e0015161203a565b6120db565b67ffffffffffffffff16600060079054906101000a900467ffffffffffffffff1667ffffffffffffffff161480156106e857506106bb6106b68560c001518b60ff16612178565b6120db565b67ffffffffffffffff16600060079054906101000a900467ffffffffffffffff1667ffffffffffffffff16145b610727576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071e90613cb2565b60405180910390fd5b60008054906101000a900460ff16600060019054906101000a900461ffff16600060039054906101000a900463ffffffff16600060079054906101000a900467ffffffffffffffff1697509750975097505050505092959194509250565b6000806107958360000151611d29565b90506107a48360200151611d29565b61ffff168161ffff161480156107cd57506107c28360400151611d29565b61ffff168161ffff16145b61080c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080390613d6a565b60405180910390fd5b80915050919050565b60008061082583600001516120db565b905061083483602001516120db565b67ffffffffffffffff168167ffffffffffffffff16148015610875575061085e83604001516120db565b67ffffffffffffffff168167ffffffffffffffff16145b80156108a0575061088983608001516120db565b67ffffffffffffffff168167ffffffffffffffff16145b80156108cb57506108b483606001516120db565b67ffffffffffffffff168167ffffffffffffffff16145b80156108f657506108df8360c001516120db565b67ffffffffffffffff168167ffffffffffffffff16145b8015610921575061090a8360a001516120db565b67ffffffffffffffff168167ffffffffffffffff16145b610960576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095790613d6a565b60405180910390fd5b80915050919050565b6000806109798360000151611eff565b90506109888360200151611eff565b63ffffffff168163ffffffff161480156109b957506109aa8360400151611eff565b63ffffffff168163ffffffff16145b80156109dc57506109cd8360800151611eff565b63ffffffff168163ffffffff16145b80156109ff57506109f08360600151611eff565b63ffffffff168163ffffffff16145b610a3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3590613d6a565b60405180910390fd5b80915050919050565b60008060008060008054906101000a900460ff16600060019054906101000a900461ffff16600060039054906101000a900463ffffffff16600060079054906101000a900467ffffffffffffffff16935093509350935090919293565b60008060009054906101000a900460ff16905090565b610ac382612219565b836000018181525050610ad581612219565b836020018181525050610aea8260ff166122ba565b836040018181525050610aff8160ff166122ba565b836060018181525050610b148260ff1661235c565b836080018181525050610b298160ff1661235c565b8360a0018181525050610b3e8260ff16612400565b8360c0018181525050610b538160ff16612400565b8360e0018181525050505050565b6000610b6b61336a565b610b736133af565b610b7b6133d0565b610b836133ff565b610b8e848888610aba565b610ba8610ba3856000015186602001516124a7565b6111d7565b6000806101000a81548160ff021916908360ff160217905550610bd38460400151856060015161253e565b836000018181525050610bee846000015185606001516125d5565b836020018181525050610c098460400151856020015161266d565b8360400181815250506000610c1d84610785565b905060008054906101000a900460ff1660ff168161ffff1614610c75576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6c90613dd6565b60405180910390fd5b610c8785608001518660a00151612705565b836000018181525050610ca285600001518660a0015161279c565b836020018181525050610cbd85608001518660200151612834565b836040018181525050610cd885604001518660a001516128cc565b836060018181525050610cf385608001518660600151612964565b8360800181815250506000610d0784610969565b90508063ffffffff1660008054906101000a900460ff1660ff1614610d61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5890613e42565b60405180910390fd5b610d738660c001518760e001516129fc565b836000018181525050610d8e86600001518760e00151612a93565b836020018181525050610da98660c001518760200151612b2b565b836040018181525050610dc486604001518760e00151612bc3565b836060018181525050610ddf8660c001518760600151612c5b565b836080018181525050610dfa86608001518760e00151612cf3565b8360a0018181525050610e158660c001518760a00151612d8b565b8360c00181815250506000610e2984610815565b90508067ffffffffffffffff1660008054906101000a900460ff1660ff1614610e87576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7e90613eae565b60405180910390fd5b610e9d610e988b8960200151612e23565b6111d7565b60ff1660008054906101000a900460ff1660ff16148015610ee55750610ecf610eca88600001518b612ebd565b6111d7565b60ff1660008054906101000a900460ff1660ff16145b610f24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1b90613f40565b60405180910390fd5b610f3d610f388b60ff168960600151612f57565b611d29565b61ffff1660008054906101000a900460ff1660ff16148015610f8a5750610f73610f6e88604001518b60ff16612ff2565b611d29565b61ffff1660008054906101000a900460ff1660ff16145b610fc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc090613fd2565b60405180910390fd5b610fe2610fdd8b60ff168960a0015161308d565b611eff565b63ffffffff1660008054906101000a900460ff1660ff16148015611033575061101a61101588608001518b60ff1661312a565b611eff565b63ffffffff1660008054906101000a900460ff1660ff16145b611072576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106990614064565b60405180910390fd5b61108b6110868b60ff168960e001516131c7565b6120db565b67ffffffffffffffff1660008054906101000a900460ff1660ff161480156110e457506110c76110c28860c001518b60ff16613268565b6120db565b67ffffffffffffffff1660008054906101000a900460ff1660ff16145b611123576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111a906140f6565b60405180910390fd5b60008054906101000a900460ff1697505050505050505092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff16631135f71a61116c6001806000613309565b85856040518463ffffffff1660e01b815260040161118c93929190614160565b6020604051808303816000875af11580156111ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111cf91906141c3565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff16630cfed5616001600481111561120a576112096141f0565b5b60f81b846040518363ffffffff1660e01b815260040161122b92919061425a565b6020604051808303816000875af115801561124a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061126e91906141c3565b9050919050565b6000606473ffffffffffffffffffffffffffffffffffffffff16631135f71a6112a16002806000613309565b85856040518463ffffffff1660e01b81526004016112c193929190614160565b6020604051808303816000875af11580156112e0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061130491906141c3565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff16631135f71a611339600160026000613309565b85856040518463ffffffff1660e01b815260040161135993929190614160565b6020604051808303816000875af1158015611378573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061139c91906141c3565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff16631135f71a6113d1600260016000613309565b85856040518463ffffffff1660e01b81526004016113f193929190614160565b6020604051808303816000875af1158015611410573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061143491906141c3565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff16631135f71a6114686003806000613309565b85856040518463ffffffff1660e01b815260040161148893929190614160565b6020604051808303816000875af11580156114a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114cb91906141c3565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff16631135f71a611500600160036000613309565b85856040518463ffffffff1660e01b815260040161152093929190614160565b6020604051808303816000875af115801561153f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061156391906141c3565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff16631135f71a611598600360016000613309565b85856040518463ffffffff1660e01b81526004016115b893929190614160565b6020604051808303816000875af11580156115d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115fb91906141c3565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff16631135f71a611630600260036000613309565b85856040518463ffffffff1660e01b815260040161165093929190614160565b6020604051808303816000875af115801561166f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061169391906141c3565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff16631135f71a6116c8600360026000613309565b85856040518463ffffffff1660e01b81526004016116e893929190614160565b6020604051808303816000875af1158015611707573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061172b91906141c3565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff16631135f71a61175f6004806000613309565b85856040518463ffffffff1660e01b815260040161177f93929190614160565b6020604051808303816000875af115801561179e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117c291906141c3565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff16631135f71a6117f7600160046000613309565b85856040518463ffffffff1660e01b815260040161181793929190614160565b6020604051808303816000875af1158015611836573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061185a91906141c3565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff16631135f71a61188f600460016000613309565b85856040518463ffffffff1660e01b81526004016118af93929190614160565b6020604051808303816000875af11580156118ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118f291906141c3565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff16631135f71a611927600260046000613309565b85856040518463ffffffff1660e01b815260040161194793929190614160565b6020604051808303816000875af1158015611966573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061198a91906141c3565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff16631135f71a6119bf600460026000613309565b85856040518463ffffffff1660e01b81526004016119df93929190614160565b6020604051808303816000875af11580156119fe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a2291906141c3565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff16631135f71a611a57600360046000613309565b85856040518463ffffffff1660e01b8152600401611a7793929190614160565b6020604051808303816000875af1158015611a96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aba91906141c3565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff16631135f71a611aef600460036000613309565b85856040518463ffffffff1660e01b8152600401611b0f93929190614160565b6020604051808303816000875af1158015611b2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b5291906141c3565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff16631135f71a611b866001806001613309565b8560ff16856040518463ffffffff1660e01b8152600401611ba993929190614160565b6020604051808303816000875af1158015611bc8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bec91906141c3565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff16631135f71a611c206001806002613309565b858560ff166040518463ffffffff1660e01b8152600401611c4393929190614160565b6020604051808303816000875af1158015611c62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c8691906141c3565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff16631135f71a611cba6002806001613309565b8561ffff16856040518463ffffffff1660e01b8152600401611cde93929190614160565b6020604051808303816000875af1158015611cfd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d2191906141c3565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff16630cfed56160026004811115611d5c57611d5b6141f0565b5b60f81b846040518363ffffffff1660e01b8152600401611d7d92919061425a565b6020604051808303816000875af1158015611d9c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dc091906141c3565b9050919050565b6000606473ffffffffffffffffffffffffffffffffffffffff16631135f71a611df36001806002613309565b858561ffff166040518463ffffffff1660e01b8152600401611e1793929190614160565b6020604051808303816000875af1158015611e36573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e5a91906141c3565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff16631135f71a611e8e6003806001613309565b8563ffffffff16856040518463ffffffff1660e01b8152600401611eb493929190614160565b6020604051808303816000875af1158015611ed3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ef791906141c3565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff16630cfed56160036004811115611f3257611f316141f0565b5b60f81b846040518363ffffffff1660e01b8152600401611f5392919061425a565b6020604051808303816000875af1158015611f72573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f9691906141c3565b9050919050565b6000606473ffffffffffffffffffffffffffffffffffffffff16631135f71a611fc96003806002613309565b858563ffffffff166040518463ffffffff1660e01b8152600401611fef93929190614160565b6020604051808303816000875af115801561200e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061203291906141c3565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff16631135f71a6120666004806001613309565b8567ffffffffffffffff16856040518463ffffffff1660e01b815260040161209093929190614160565b6020604051808303816000875af11580156120af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120d391906141c3565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff16630cfed56160048081111561210d5761210c6141f0565b5b60f81b846040518363ffffffff1660e01b815260040161212e92919061425a565b6020604051808303816000875af115801561214d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061217191906141c3565b9050919050565b6000606473ffffffffffffffffffffffffffffffffffffffff16631135f71a6121a46004806002613309565b858567ffffffffffffffff166040518463ffffffff1660e01b81526004016121ce93929190614160565b6020604051808303816000875af11580156121ed573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061221191906141c3565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff1663d9b60b606001600481111561224c5761224b6141f0565b5b60f81b8460ff166040518363ffffffff1660e01b815260040161227092919061425a565b6020604051808303816000875af115801561228f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122b391906141c3565b9050919050565b6000606473ffffffffffffffffffffffffffffffffffffffff1663d9b60b60600260048111156122ed576122ec6141f0565b5b60f81b8461ffff166040518363ffffffff1660e01b815260040161231292919061425a565b6020604051808303816000875af1158015612331573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061235591906141c3565b9050919050565b6000606473ffffffffffffffffffffffffffffffffffffffff1663d9b60b606003600481111561238f5761238e6141f0565b5b60f81b8463ffffffff166040518363ffffffff1660e01b81526004016123b692919061425a565b6020604051808303816000875af11580156123d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123f991906141c3565b9050919050565b6000606473ffffffffffffffffffffffffffffffffffffffff1663d9b60b60600480811115612432576124316141f0565b5b60f81b8467ffffffffffffffff166040518363ffffffff1660e01b815260040161245d92919061425a565b6020604051808303816000875af115801561247c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124a091906141c3565b9050919050565b6000606473ffffffffffffffffffffffffffffffffffffffff166339bd1d8d6124d36001806000613309565b85856040518463ffffffff1660e01b81526004016124f393929190614160565b6020604051808303816000875af1158015612512573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061253691906141c3565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff166339bd1d8d61256a6002806000613309565b85856040518463ffffffff1660e01b815260040161258a93929190614160565b6020604051808303816000875af11580156125a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125cd91906141c3565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff166339bd1d8d612602600160026000613309565b85856040518463ffffffff1660e01b815260040161262293929190614160565b6020604051808303816000875af1158015612641573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061266591906141c3565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff166339bd1d8d61269a600260016000613309565b85856040518463ffffffff1660e01b81526004016126ba93929190614160565b6020604051808303816000875af11580156126d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126fd91906141c3565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff166339bd1d8d6127316003806000613309565b85856040518463ffffffff1660e01b815260040161275193929190614160565b6020604051808303816000875af1158015612770573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061279491906141c3565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff166339bd1d8d6127c9600160036000613309565b85856040518463ffffffff1660e01b81526004016127e993929190614160565b6020604051808303816000875af1158015612808573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061282c91906141c3565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff166339bd1d8d612861600360016000613309565b85856040518463ffffffff1660e01b815260040161288193929190614160565b6020604051808303816000875af11580156128a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128c491906141c3565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff166339bd1d8d6128f9600260036000613309565b85856040518463ffffffff1660e01b815260040161291993929190614160565b6020604051808303816000875af1158015612938573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061295c91906141c3565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff166339bd1d8d612991600360026000613309565b85856040518463ffffffff1660e01b81526004016129b193929190614160565b6020604051808303816000875af11580156129d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129f491906141c3565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff166339bd1d8d612a286004806000613309565b85856040518463ffffffff1660e01b8152600401612a4893929190614160565b6020604051808303816000875af1158015612a67573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a8b91906141c3565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff166339bd1d8d612ac0600160046000613309565b85856040518463ffffffff1660e01b8152600401612ae093929190614160565b6020604051808303816000875af1158015612aff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b2391906141c3565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff166339bd1d8d612b58600460016000613309565b85856040518463ffffffff1660e01b8152600401612b7893929190614160565b6020604051808303816000875af1158015612b97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bbb91906141c3565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff166339bd1d8d612bf0600260046000613309565b85856040518463ffffffff1660e01b8152600401612c1093929190614160565b6020604051808303816000875af1158015612c2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c5391906141c3565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff166339bd1d8d612c88600460026000613309565b85856040518463ffffffff1660e01b8152600401612ca893929190614160565b6020604051808303816000875af1158015612cc7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ceb91906141c3565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff166339bd1d8d612d20600360046000613309565b85856040518463ffffffff1660e01b8152600401612d4093929190614160565b6020604051808303816000875af1158015612d5f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d8391906141c3565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff166339bd1d8d612db8600460036000613309565b85856040518463ffffffff1660e01b8152600401612dd893929190614160565b6020604051808303816000875af1158015612df7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e1b91906141c3565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff166339bd1d8d612e4f6001806001613309565b8560ff16856040518463ffffffff1660e01b8152600401612e7293929190614160565b6020604051808303816000875af1158015612e91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612eb591906141c3565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff166339bd1d8d612ee96001806002613309565b858560ff166040518463ffffffff1660e01b8152600401612f0c93929190614160565b6020604051808303816000875af1158015612f2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f4f91906141c3565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff166339bd1d8d612f836002806001613309565b8561ffff16856040518463ffffffff1660e01b8152600401612fa793929190614160565b6020604051808303816000875af1158015612fc6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fea91906141c3565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff166339bd1d8d61301e6001806002613309565b858561ffff166040518463ffffffff1660e01b815260040161304293929190614160565b6020604051808303816000875af1158015613061573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061308591906141c3565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff166339bd1d8d6130b96003806001613309565b8563ffffffff16856040518463ffffffff1660e01b81526004016130df93929190614160565b6020604051808303816000875af11580156130fe573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061312291906141c3565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff166339bd1d8d6131566003806002613309565b858563ffffffff166040518463ffffffff1660e01b815260040161317c93929190614160565b6020604051808303816000875af115801561319b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131bf91906141c3565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff166339bd1d8d6131f36004806001613309565b8567ffffffffffffffff16856040518463ffffffff1660e01b815260040161321d93929190614160565b6020604051808303816000875af115801561323c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061326091906141c3565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff166339bd1d8d6132946004806002613309565b858567ffffffffffffffff166040518463ffffffff1660e01b81526004016132be93929190614160565b6020604051808303816000875af11580156132dd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061330191906141c3565b905092915050565b600081600281111561331e5761331d6141f0565b5b60ff166008846004811115613336576133356141f0565b5b61ffff16901b61ffff166010866004811115613355576133546141f0565b5b62ffffff16901b171760e81b90509392505050565b60405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b60405180606001604052806000815260200160008152602001600081525090565b6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6040518060e00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6000604051905090565b600080fd5b600060ff82169050919050565b6134618161344b565b811461346c57600080fd5b50565b60008135905061347e81613458565b92915050565b6000806040838503121561349b5761349a613446565b5b60006134a98582860161346f565b92505060206134ba8582860161346f565b9150509250929050565b6134cd8161344b565b82525050565b600061ffff82169050919050565b6134ea816134d3565b82525050565b600063ffffffff82169050919050565b613509816134f0565b82525050565b600067ffffffffffffffff82169050919050565b61352c8161350f565b82525050565b600060808201905061354760008301876134c4565b61355460208301866134e1565b6135616040830185613500565b61356e6060830184613523565b95945050505050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6135c58261357c565b810181811067ffffffffffffffff821117156135e4576135e361358d565b5b80604052505050565b60006135f761343c565b905061360382826135bc565b919050565b6000819050919050565b61361b81613608565b811461362657600080fd5b50565b60008135905061363881613612565b92915050565b60006060828403121561365457613653613577565b5b61365e60606135ed565b9050600061366e84828501613629565b600083015250602061368284828501613629565b602083015250604061369684828501613629565b60408301525092915050565b6000606082840312156136b8576136b7613446565b5b60006136c68482850161363e565b91505092915050565b60006020820190506136e460008301846134e1565b92915050565b6136f381613608565b81146136fe57600080fd5b50565b600081359050613710816136ea565b92915050565b600060e0828403121561372c5761372b613577565b5b61373660e06135ed565b9050600061374684828501613701565b600083015250602061375a84828501613701565b602083015250604061376e84828501613701565b604083015250606061378284828501613701565b606083015250608061379684828501613701565b60808301525060a06137aa84828501613701565b60a08301525060c06137be84828501613701565b60c08301525092915050565b600060e082840312156137e0576137df613446565b5b60006137ee84828501613716565b91505092915050565b600060208201905061380c6000830184613523565b92915050565b61381b81613608565b811461382657600080fd5b50565b60008135905061383881613812565b92915050565b600060a0828403121561385457613853613577565b5b61385e60a06135ed565b9050600061386e84828501613829565b600083015250602061388284828501613829565b602083015250604061389684828501613829565b60408301525060606138aa84828501613829565b60608301525060806138be84828501613829565b60808301525092915050565b600060a082840312156138e0576138df613446565b5b60006138ee8482850161383e565b91505092915050565b600060208201905061390c6000830184613500565b92915050565b600060208201905061392760008301846134c4565b92915050565b61393681613608565b811461394157600080fd5b50565b6000813590506139538161392d565b92915050565b600061010082840312156139705761396f613577565b5b61397b6101006135ed565b9050600061398b84828501613944565b600083015250602061399f84828501613944565b60208301525060406139b384828501613629565b60408301525060606139c784828501613629565b60608301525060806139db84828501613829565b60808301525060a06139ef84828501613829565b60a08301525060c0613a0384828501613701565b60c08301525060e0613a1784828501613701565b60e08301525092915050565b60008060006101408486031215613a3d57613a3c613446565b5b6000613a4b86828701613959565b935050610100613a5d8682870161346f565b925050610120613a6f8682870161346f565b9150509250925092565b600082825260208201905092915050565b7f73686c546573743a2074657374203820626974732077697468207363616c617260008201527f206661696c656400000000000000000000000000000000000000000000000000602082015250565b6000613ae6602783613a79565b9150613af182613a8a565b604082019050919050565b60006020820190508181036000830152613b1581613ad9565b9050919050565b7f73686c546573743a207465737420313620626974732077697468207363616c6160008201527f72206661696c6564000000000000000000000000000000000000000000000000602082015250565b6000613b78602883613a79565b9150613b8382613b1c565b604082019050919050565b60006020820190508181036000830152613ba781613b6b565b9050919050565b7f73686c546573743a207465737420333220626974732077697468207363616c6160008201527f72206661696c6564000000000000000000000000000000000000000000000000602082015250565b6000613c0a602883613a79565b9150613c1582613bae565b604082019050919050565b60006020820190508181036000830152613c3981613bfd565b9050919050565b7f73686c546573743a207465737420363420626974732077697468207363616c6160008201527f72206661696c6564000000000000000000000000000000000000000000000000602082015250565b6000613c9c602883613a79565b9150613ca782613c40565b604082019050919050565b60006020820190508181036000830152613ccb81613c8f565b9050919050565b7f64656372797074416e64436f6d70617265416c6c526573756c74733a2046616960008201527f6c656420746f206465637279707420616e6420636f6d7061726520616c6c207260208201527f6573756c74730000000000000000000000000000000000000000000000000000604082015250565b6000613d54604683613a79565b9150613d5f82613cd2565b606082019050919050565b60006020820190508181036000830152613d8381613d47565b9050919050565b7f736872546573743a2063617374203136206661696c6564000000000000000000600082015250565b6000613dc0601783613a79565b9150613dcb82613d8a565b602082019050919050565b60006020820190508181036000830152613def81613db3565b9050919050565b7f736872546573743a2063617374203332206661696c6564000000000000000000600082015250565b6000613e2c601783613a79565b9150613e3782613df6565b602082019050919050565b60006020820190508181036000830152613e5b81613e1f565b9050919050565b7f736872546573743a2063617374203634206661696c6564000000000000000000600082015250565b6000613e98601783613a79565b9150613ea382613e62565b602082019050919050565b60006020820190508181036000830152613ec781613e8b565b9050919050565b7f736872546573743a2074657374203820626974732077697468207363616c617260008201527f206661696c656400000000000000000000000000000000000000000000000000602082015250565b6000613f2a602783613a79565b9150613f3582613ece565b604082019050919050565b60006020820190508181036000830152613f5981613f1d565b9050919050565b7f736872546573743a207465737420313620626974732077697468207363616c6160008201527f72206661696c6564000000000000000000000000000000000000000000000000602082015250565b6000613fbc602883613a79565b9150613fc782613f60565b604082019050919050565b60006020820190508181036000830152613feb81613faf565b9050919050565b7f736872546573743a207465737420333220626974732077697468207363616c6160008201527f72206661696c6564000000000000000000000000000000000000000000000000602082015250565b600061404e602883613a79565b915061405982613ff2565b604082019050919050565b6000602082019050818103600083015261407d81614041565b9050919050565b7f736872546573743a207465737420363420626974732077697468207363616c6160008201527f72206661696c6564000000000000000000000000000000000000000000000000602082015250565b60006140e0602883613a79565b91506140eb82614084565b604082019050919050565b6000602082019050818103600083015261410f816140d3565b9050919050565b60007fffffff000000000000000000000000000000000000000000000000000000000082169050919050565b61414b81614116565b82525050565b61415a81613608565b82525050565b60006060820190506141756000830186614142565b6141826020830185614151565b61418f6040830184614151565b949350505050565b6141a081613608565b81146141ab57600080fd5b50565b6000815190506141bd81614197565b92915050565b6000602082840312156141d9576141d8613446565b5b60006141e7848285016141ae565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60007fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b6142548161421f565b82525050565b600060408201905061426f600083018561424b565b61427c6020830184614151565b939250505056fea2646970667358221220d9f1748e409cd01a8fdeead6fad1f1892c480b33b1794e17fdab1ddbcf0c624464736f6c63430008140033";
|
|
328
|
+
"0x608060405234801561001057600080fd5b50611bed806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063d2becd381161005b578063d2becd3814610150578063de29278914610171578063ebb571fd1461018f578063ee49a6ea146101ab57610088565b806308e9d12a1461008d5780632e544aa0146100c057806380f937bc146100f0578063acb3816914610120575b600080fd5b6100a760048036038101906100a29190611320565b6101db565b6040516100b794939291906113ce565b60405180910390f35b6100da60048036038101906100d5919061153e565b61032d565b6040516100e7919061156b565b60405180910390f35b61010a60048036038101906101059190611666565b6103bd565b6040516101179190611693565b60405180910390f35b61013a60048036038101906101359190611766565b610511565b6040516101479190611793565b60405180910390f35b6101586105ef565b60405161016894939291906113ce565b60405180910390f35b61017961064e565b60405161018691906117ae565b60405180910390f35b6101a960048036038101906101a491906118bf565b610664565b005b6101c560048036038101906101c09190611320565b61070b565b6040516101d291906117ae565b60405180910390f35b6000806000806101e9611293565b6101f4818888610664565b61020a610205826000015188610847565b6108e1565b600060016101000a81548160ff021916908360ff16021790555061023a61023582604001518861097f565b610a1a565b600060026101000a81548161ffff021916908361ffff16021790555061026f61026a82608001518860ff16610ab8565b610b55565b600060046101000a81548163ffffffff021916908363ffffffff1602179055506102a86102a38260c001518860ff16610bf3565b610c94565b600060086101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550600060019054906101000a900460ff16600060029054906101000a900461ffff16600060049054906101000a900463ffffffff16600060089054906101000a900467ffffffffffffffff1694509450945094505092959194509250565b60008061033d8360000151610a1a565b905061034c8360200151610a1a565b61ffff168161ffff16148015610375575061036a8360400151610a1a565b61ffff168161ffff16145b6103b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103ab906119be565b60405180910390fd5b80915050919050565b6000806103cd8360000151610c94565b90506103dc8360200151610c94565b67ffffffffffffffff168167ffffffffffffffff1614801561041d57506104068360400151610c94565b67ffffffffffffffff168167ffffffffffffffff16145b801561044857506104318360800151610c94565b67ffffffffffffffff168167ffffffffffffffff16145b8015610473575061045c8360600151610c94565b67ffffffffffffffff168167ffffffffffffffff16145b801561049e57506104878360c00151610c94565b67ffffffffffffffff168167ffffffffffffffff16145b80156104c957506104b28360a00151610c94565b67ffffffffffffffff168167ffffffffffffffff16145b610508576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104ff906119be565b60405180910390fd5b80915050919050565b6000806105218360000151610b55565b90506105308360200151610b55565b63ffffffff168163ffffffff1614801561056157506105528360400151610b55565b63ffffffff168163ffffffff16145b801561058457506105758360800151610b55565b63ffffffff168163ffffffff16145b80156105a757506105988360600151610b55565b63ffffffff168163ffffffff16145b6105e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105dd906119be565b60405180910390fd5b80915050919050565b600080600080600060019054906101000a900460ff16600060029054906101000a900461ffff16600060049054906101000a900463ffffffff16600060089054906101000a900467ffffffffffffffff16935093509350935090919293565b60008060009054906101000a900460ff16905090565b61066d82610d31565b83600001818152505061067f81610d31565b8360200181815250506106948260ff16610dd2565b8360400181815250506106a98160ff16610dd2565b8360600181815250506106be8260ff16610e74565b8360800181815250506106d38160ff16610e74565b8360a00181815250506106e88260ff16610f18565b8360c00181815250506106fd8160ff16610f18565b8360e0018181525050505050565b6000610715611293565b610720818585610664565b610736610731826000015185610fbf565b6108e1565b6000806101000a81548160ff021916908360ff160217905550610765610760826040015185611059565b610a1a565b61ffff1660008054906101000a900460ff1660ff161480156107b4575061079b61079682608001518560ff166110f4565b610b55565b63ffffffff1660008054906101000a900460ff1660ff16145b80156107f157506107d46107cf8260c001518560ff16611191565b610c94565b67ffffffffffffffff1660008054906101000a900460ff1660ff16145b610830576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082790611a2a565b60405180910390fd5b60008054906101000a900460ff1691505092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff16631135f71a6108736001806002611232565b858560ff166040518463ffffffff1660e01b815260040161089693929190611a94565b6020604051808303816000875af11580156108b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d99190611af7565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff16630cfed5616001600481111561091457610913611b24565b5b60f81b846040518363ffffffff1660e01b8152600401610935929190611b8e565b6020604051808303816000875af1158015610954573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109789190611af7565b9050919050565b6000606473ffffffffffffffffffffffffffffffffffffffff16631135f71a6109ac600260016002611232565b858560ff166040518463ffffffff1660e01b81526004016109cf93929190611a94565b6020604051808303816000875af11580156109ee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a129190611af7565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff16630cfed56160026004811115610a4d57610a4c611b24565b5b60f81b846040518363ffffffff1660e01b8152600401610a6e929190611b8e565b6020604051808303816000875af1158015610a8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab19190611af7565b9050919050565b6000606473ffffffffffffffffffffffffffffffffffffffff16631135f71a610ae46003806002611232565b858563ffffffff166040518463ffffffff1660e01b8152600401610b0a93929190611a94565b6020604051808303816000875af1158015610b29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4d9190611af7565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff16630cfed56160036004811115610b8857610b87611b24565b5b60f81b846040518363ffffffff1660e01b8152600401610ba9929190611b8e565b6020604051808303816000875af1158015610bc8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bec9190611af7565b9050919050565b6000606473ffffffffffffffffffffffffffffffffffffffff16631135f71a610c1f6004806002611232565b858567ffffffffffffffff166040518463ffffffff1660e01b8152600401610c4993929190611a94565b6020604051808303816000875af1158015610c68573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c8c9190611af7565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff16630cfed561600480811115610cc657610cc5611b24565b5b60f81b846040518363ffffffff1660e01b8152600401610ce7929190611b8e565b6020604051808303816000875af1158015610d06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2a9190611af7565b9050919050565b6000606473ffffffffffffffffffffffffffffffffffffffff1663d9b60b6060016004811115610d6457610d63611b24565b5b60f81b8460ff166040518363ffffffff1660e01b8152600401610d88929190611b8e565b6020604051808303816000875af1158015610da7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dcb9190611af7565b9050919050565b6000606473ffffffffffffffffffffffffffffffffffffffff1663d9b60b6060026004811115610e0557610e04611b24565b5b60f81b8461ffff166040518363ffffffff1660e01b8152600401610e2a929190611b8e565b6020604051808303816000875af1158015610e49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e6d9190611af7565b9050919050565b6000606473ffffffffffffffffffffffffffffffffffffffff1663d9b60b6060036004811115610ea757610ea6611b24565b5b60f81b8463ffffffff166040518363ffffffff1660e01b8152600401610ece929190611b8e565b6020604051808303816000875af1158015610eed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f119190611af7565b9050919050565b6000606473ffffffffffffffffffffffffffffffffffffffff1663d9b60b60600480811115610f4a57610f49611b24565b5b60f81b8467ffffffffffffffff166040518363ffffffff1660e01b8152600401610f75929190611b8e565b6020604051808303816000875af1158015610f94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb89190611af7565b9050919050565b6000606473ffffffffffffffffffffffffffffffffffffffff166339bd1d8d610feb6001806002611232565b858560ff166040518463ffffffff1660e01b815260040161100e93929190611a94565b6020604051808303816000875af115801561102d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110519190611af7565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff166339bd1d8d611086600260016002611232565b858560ff166040518463ffffffff1660e01b81526004016110a993929190611a94565b6020604051808303816000875af11580156110c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ec9190611af7565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff166339bd1d8d6111206003806002611232565b858563ffffffff166040518463ffffffff1660e01b815260040161114693929190611a94565b6020604051808303816000875af1158015611165573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111899190611af7565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff166339bd1d8d6111bd6004806002611232565b858567ffffffffffffffff166040518463ffffffff1660e01b81526004016111e793929190611a94565b6020604051808303816000875af1158015611206573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061122a9190611af7565b905092915050565b600081600281111561124757611246611b24565b5b60ff16600884600481111561125f5761125e611b24565b5b61ffff16901b61ffff16601086600481111561127e5761127d611b24565b5b62ffffff16901b171760e81b90509392505050565b60405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6000604051905090565b600080fd5b600060ff82169050919050565b6112fd816112e7565b811461130857600080fd5b50565b60008135905061131a816112f4565b92915050565b60008060408385031215611337576113366112e2565b5b60006113458582860161130b565b92505060206113568582860161130b565b9150509250929050565b611369816112e7565b82525050565b600061ffff82169050919050565b6113868161136f565b82525050565b600063ffffffff82169050919050565b6113a58161138c565b82525050565b600067ffffffffffffffff82169050919050565b6113c8816113ab565b82525050565b60006080820190506113e36000830187611360565b6113f0602083018661137d565b6113fd604083018561139c565b61140a60608301846113bf565b95945050505050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61146182611418565b810181811067ffffffffffffffff821117156114805761147f611429565b5b80604052505050565b60006114936112d8565b905061149f8282611458565b919050565b6000819050919050565b6114b7816114a4565b81146114c257600080fd5b50565b6000813590506114d4816114ae565b92915050565b6000606082840312156114f0576114ef611413565b5b6114fa6060611489565b9050600061150a848285016114c5565b600083015250602061151e848285016114c5565b6020830152506040611532848285016114c5565b60408301525092915050565b600060608284031215611554576115536112e2565b5b6000611562848285016114da565b91505092915050565b6000602082019050611580600083018461137d565b92915050565b61158f816114a4565b811461159a57600080fd5b50565b6000813590506115ac81611586565b92915050565b600060e082840312156115c8576115c7611413565b5b6115d260e0611489565b905060006115e28482850161159d565b60008301525060206115f68482850161159d565b602083015250604061160a8482850161159d565b604083015250606061161e8482850161159d565b60608301525060806116328482850161159d565b60808301525060a06116468482850161159d565b60a08301525060c061165a8482850161159d565b60c08301525092915050565b600060e0828403121561167c5761167b6112e2565b5b600061168a848285016115b2565b91505092915050565b60006020820190506116a860008301846113bf565b92915050565b6116b7816114a4565b81146116c257600080fd5b50565b6000813590506116d4816116ae565b92915050565b600060a082840312156116f0576116ef611413565b5b6116fa60a0611489565b9050600061170a848285016116c5565b600083015250602061171e848285016116c5565b6020830152506040611732848285016116c5565b6040830152506060611746848285016116c5565b606083015250608061175a848285016116c5565b60808301525092915050565b600060a0828403121561177c5761177b6112e2565b5b600061178a848285016116da565b91505092915050565b60006020820190506117a8600083018461139c565b92915050565b60006020820190506117c36000830184611360565b92915050565b6117d2816114a4565b81146117dd57600080fd5b50565b6000813590506117ef816117c9565b92915050565b6000610100828403121561180c5761180b611413565b5b611817610100611489565b90506000611827848285016117e0565b600083015250602061183b848285016117e0565b602083015250604061184f848285016114c5565b6040830152506060611863848285016114c5565b6060830152506080611877848285016116c5565b60808301525060a061188b848285016116c5565b60a08301525060c061189f8482850161159d565b60c08301525060e06118b38482850161159d565b60e08301525092915050565b600080600061014084860312156118d9576118d86112e2565b5b60006118e7868287016117f5565b9350506101006118f98682870161130b565b92505061012061190b8682870161130b565b9150509250925092565b600082825260208201905092915050565b7f64656372797074416e64436f6d70617265416c6c526573756c74733a2046616960008201527f6c656420746f206465637279707420616e6420636f6d7061726520616c6c207260208201527f6573756c74730000000000000000000000000000000000000000000000000000604082015250565b60006119a8604683611915565b91506119b382611926565b606082019050919050565b600060208201905081810360008301526119d78161199b565b9050919050565b7f73687254657374206661696c6564000000000000000000000000000000000000600082015250565b6000611a14600e83611915565b9150611a1f826119de565b602082019050919050565b60006020820190508181036000830152611a4381611a07565b9050919050565b60007fffffff000000000000000000000000000000000000000000000000000000000082169050919050565b611a7f81611a4a565b82525050565b611a8e816114a4565b82525050565b6000606082019050611aa96000830186611a76565b611ab66020830185611a85565b611ac36040830184611a85565b949350505050565b611ad4816114a4565b8114611adf57600080fd5b50565b600081519050611af181611acb565b92915050565b600060208284031215611b0d57611b0c6112e2565b5b6000611b1b84828501611ae2565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60007fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b611b8881611b53565b82525050565b6000604082019050611ba36000830185611b7f565b611bb06020830184611a85565b939250505056fea264697066735822122027ca7562dcc8d324ee7815187867cdd8cd05499eb10752fd419879d853c7516664736f6c63430008140033";
|
|
329
329
|
|
|
330
330
|
type ShiftTestsContractConstructorParams =
|
|
331
331
|
| [signer?: Signer]
|
|
@@ -209,7 +209,7 @@ const _abi = [
|
|
|
209
209
|
] as const;
|
|
210
210
|
|
|
211
211
|
const _bytecode =
|
|
212
|
-
"0x608060405234801561001057600080fd5b506125fe806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80638a4ef8541161005b5780638a4ef8541461010157806395bf7bb11461010b578063acbe845214610127578063f9ce33a91461014557610088565b806314f6161f1461008d57806335435c00146100ab57806376ae56a5146100c757806378f7d733146100e5575b600080fd5b610095610161565b6040516100a29190611777565b60405180910390f35b6100c560048036038101906100c091906117d1565b6101d3565b005b6100cf610218565b6040516100dc91906118aa565b60405180910390f35b6100ff60048036038101906100fa91906117d1565b6102a6565b005b6101096102eb565b005b61012560048036038101906101209190611931565b610377565b005b61012f6103f8565b60405161013c9190611999565b60405180910390f35b61015f600480360381019061015a91906119e0565b61040b565b005b6101696115af565b6000604051806020016040529081600082018054806020026020016040519081016040528092919081815260200182805480156101c557602002820191906000526020600020905b8154815260200190600101908083116101b1575b505050505081525050905090565b60006101e7826101e290611e55565b61048f565b90506101f2816105f6565b600160008201518160000190805190602001906102109291906115c2565b509050505050565b6002805461022590611e97565b80601f016020809104026020016040519081016040528092919081815260200182805461025190611e97565b801561029e5780601f106102735761010080835404028352916020019161029e565b820191906000526020600020905b81548152906001019060200180831161028157829003601f168201915b505050505081565b60006102ba826102b590611e55565b61048f565b90506102c681336106d4565b6000808201518160000190805190602001906102e39291906115c2565b509050505050565b600061035a60016040518060200160405290816000820180548060200260200160405190810160405280929190818152602001828054801561034c57602002820191906000526020600020905b815481526020019060010190808311610338575b5050505050815250506107b4565b905061036581610892565b600290816103739190612048565b5050565b60006103c683838080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061096a565b90506103d281336106d4565b6000808201518160000190805190602001906103ef9291906115c2565b50905050505050565b600360009054906101000a900460ff1681565b600061041f8461041a90611e55565b61048f565b905060006104358461043090611e55565b61048f565b905060008315610450576104498383610b2f565b9050610465565b61046261045d8484610c22565b610d15565b90505b61046e81610db3565b600360006101000a81548160ff021916908315150217905550505050505050565b61049761160f565b600082602001515190508083600001516000015151146104ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104e390612166565b60405180910390fd5b600060405180602001604052808367ffffffffffffffff81111561051357610512611a70565b5b6040519080825280602002602001820160405280156105415781602001602082028036833780820191505090505b50815250905061054f611622565b60005b838110156105ea57856000015160000151818151811061057557610574612186565b5b60200260200101518260000181815250508560200151818151811061059d5761059c612186565b5b602002602001015182602001819052506105b682610e5a565b836000015182815181106105cd576105cc612186565b5b602002602001018181525050806105e3906121e4565b9050610552565b50819350505050919050565b6105fe6115af565b60008260000151519050600060405180602001604052808367ffffffffffffffff81111561062f5761062e611a70565b5b60405190808252806020026020018201604052801561065d5781602001602082028036833780820191505090505b50815250905060005b828110156106c9576106958560000151828151811061068857610687612186565b5b6020026020010151610f01565b826000015182815181106106ac576106ab612186565b5b602002602001018181525050806106c2906121e4565b9050610666565b508092505050919050565b6106dc6115af565b60008360000151519050600060405180602001604052808367ffffffffffffffff81111561070d5761070c611a70565b5b60405190808252806020026020018201604052801561073b5781602001602082028036833780820191505090505b50815250905060005b828110156107a8576107748660000151828151811061076657610765612186565b5b602002602001015186610f9e565b8260000151828151811061078b5761078a612186565b5b602002602001018181525050806107a1906121e4565b9050610744565b50809250505092915050565b6107bc61160f565b60008260000151519050600060405180602001604052808367ffffffffffffffff8111156107ed576107ec611a70565b5b60405190808252806020026020018201604052801561081b5781602001602082028036833780820191505090505b50815250905060005b82811015610887576108538560000151828151811061084657610845612186565b5b602002602001015161105d565b8260000151828151811061086a57610869612186565b5b60200260200101818152505080610880906121e4565b9050610824565b508092505050919050565b60606000826000015151905060006008826108ad919061222c565b67ffffffffffffffff8111156108c6576108c5611a70565b5b6040519080825280601f01601f1916602001820160405280156108f85781602001600182028036833780820191505090505b50905060008060005b8481101561095d576109308760000151828151811061092357610922612186565b5b60200260200101516110fa565b60c01b9250828260200185015260088261094a919061226e565b915080610956906121e4565b9050610901565b5082945050505050919050565b61097261160f565b60008290506000815190506000600860078361098e919061226e565b61099891906122d1565b9050600060405180602001604052808367ffffffffffffffff8111156109c1576109c0611a70565b5b6040519080825280602002602001820160405280156109ef5781602001602082028036833780820191505090505b508152509050600080600090505b600884610a0a919061222c565b811015610b21576000600882610a209190612302565b03610a3157600060c01b9150610a54565b60088277ffffffffffffffffffffffffffffffffffffffffffffffff1916901b91505b84811015610ac0576038868281518110610a7157610a70612186565b5b602001015160f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191677ffffffffffffffffffffffffffffffffffffffffffffffff1916901c821791505b6007600882610acf9190612302565b03610b1057610ae08260c01c611197565b8360000151600883610af291906122d1565b81518110610b0357610b02612186565b5b6020026020010181815250505b80610b1a906121e4565b90506109fd565b508195505050505050919050565b60008083600001515190508260000151518114610b5857610b50600061123e565b915050610c1c565b6000610ba28560000151600081518110610b7557610b74612186565b5b60200260200101518560000151600081518110610b9557610b94612186565b5b60200260200101516112f2565b90506000600190505b82811015610c1557610c0282610bfd88600001518481518110610bd157610bd0612186565b5b602002602001015188600001518581518110610bf057610bef612186565b5b60200260200101516112f2565b611389565b915080610c0e906121e4565b9050610bab565b5080925050505b92915050565b60008083600001515190508260000151518114610c4b57610c43600161123e565b915050610d0f565b6000610c958560000151600081518110610c6857610c67612186565b5b60200260200101518560000151600081518110610c8857610c87612186565b5b6020026020010151611420565b90506000600190505b82811015610d0857610cf582610cf088600001518481518110610cc457610cc3612186565b5b602002602001015188600001518581518110610ce357610ce2612186565b5b6020026020010151611420565b6114b7565b915080610d01906121e4565b9050610c9e565b5080925050505b92915050565b6000606473ffffffffffffffffffffffffffffffffffffffff16631d79e49a60006004811115610d4857610d47612333565b5b60f81b846040518363ffffffff1660e01b8152600401610d699291906123ac565b6020604051808303816000875af1158015610d88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dac9190612401565b9050919050565b600080606473ffffffffffffffffffffffffffffffffffffffff16630cfed56160006004811115610de757610de6612333565b5b60f81b856040518363ffffffff1660e01b8152600401610e089291906123ac565b6020604051808303816000875af1158015610e27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e4b9190612401565b90506000811415915050919050565b6000606473ffffffffffffffffffffffffffffffffffffffff1663e4f36e10600480811115610e8c57610e8b612333565b5b60f81b846000015185602001516040518463ffffffff1660e01b8152600401610eb793929190612483565b6020604051808303816000875af1158015610ed6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610efa9190612401565b9050919050565b6000606473ffffffffffffffffffffffffffffffffffffffff1663c50c9c02600480811115610f3357610f32612333565b5b60f81b846040518363ffffffff1660e01b8152600401610f549291906123ac565b6020604051808303816000875af1158015610f73573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f979190612401565b9050919050565b6000606473ffffffffffffffffffffffffffffffffffffffff16633c6f0e68600480811115610fd057610fcf612333565b5b60f81b8585604051602001610fe5919061253b565b6040516020818303038152906040526040518463ffffffff1660e01b815260040161101293929190612483565b6020604051808303816000875af1158015611031573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110559190612401565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff1663d2c135e560048081111561108f5761108e612333565b5b60f81b846040518363ffffffff1660e01b81526004016110b09291906123ac565b6020604051808303816000875af11580156110cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f39190612401565b9050919050565b6000606473ffffffffffffffffffffffffffffffffffffffff16630cfed56160048081111561112c5761112b612333565b5b60f81b846040518363ffffffff1660e01b815260040161114d9291906123ac565b6020604051808303816000875af115801561116c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111909190612401565b9050919050565b6000606473ffffffffffffffffffffffffffffffffffffffff1663d9b60b606004808111156111c9576111c8612333565b5b60f81b8467ffffffffffffffff166040518363ffffffff1660e01b81526004016111f49291906123ac565b6020604051808303816000875af1158015611213573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112379190612401565b9050919050565b6000808261124d576000611250565b60015b60ff169050606473ffffffffffffffffffffffffffffffffffffffff1663d9b60b606000600481111561128657611285612333565b5b60f81b836040518363ffffffff1660e01b81526004016112a79291906123ac565b6020604051808303816000875af11580156112c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112ea9190612401565b915050919050565b6000606473ffffffffffffffffffffffffffffffffffffffff16637c12a1eb61131e600480600061154e565b85856040518463ffffffff1660e01b815260040161133e93929190612591565b6020604051808303816000875af115801561135d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113819190612401565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff1663fe9c73d16113b5600080600061154e565b85856040518463ffffffff1660e01b81526004016113d593929190612591565b6020604051808303816000875af11580156113f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114189190612401565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff166342094c5661144c600480600061154e565b85856040518463ffffffff1660e01b815260040161146c93929190612591565b6020604051808303816000875af115801561148b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114af9190612401565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff1663fb7da35f6114e3600080600061154e565b85856040518463ffffffff1660e01b815260040161150393929190612591565b6020604051808303816000875af1158015611522573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115469190612401565b905092915050565b600081600281111561156357611562612333565b5b60ff16600884600481111561157b5761157a612333565b5b61ffff16901b61ffff16601086600481111561159a57611599612333565b5b62ffffff16901b171760e81b90509392505050565b6040518060200160405280606081525090565b8280548282559060005260206000209081019282156115fe579160200282015b828111156115fd5782518255916020019190600101906115e2565b5b50905061160b919061163c565b5090565b6040518060200160405280606081525090565b604051806040016040528060008152602001606081525090565b5b8082111561165557600081600090555060010161163d565b5090565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000819050919050565b6000819050919050565b60006116b46116af6116aa84611685565b61168f565b611685565b9050919050565b6116c481611699565b82525050565b60006116d683836116bb565b60208301905092915050565b6000602082019050919050565b60006116fa82611659565b6117048185611664565b935061170f83611675565b8060005b8381101561174057815161172788826116ca565b9750611732836116e2565b925050600181019050611713565b5085935050505092915050565b6000602083016000830151848203600086015261176a82826116ef565b9150508091505092915050565b60006020820190508181036000830152611791818461174d565b905092915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000604082840312156117c8576117c76117ad565b5b81905092915050565b6000602082840312156117e7576117e66117a3565b5b600082013567ffffffffffffffff811115611805576118046117a8565b5b611811848285016117b2565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611854578082015181840152602081019050611839565b60008484015250505050565b6000601f19601f8301169050919050565b600061187c8261181a565b6118868185611825565b9350611896818560208601611836565b61189f81611860565b840191505092915050565b600060208201905081810360008301526118c48184611871565b905092915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126118f1576118f06118cc565b5b8235905067ffffffffffffffff81111561190e5761190d6118d1565b5b60208301915083600182028301111561192a576119296118d6565b5b9250929050565b60008060208385031215611948576119476117a3565b5b600083013567ffffffffffffffff811115611966576119656117a8565b5b611972858286016118db565b92509250509250929050565b60008115159050919050565b6119938161197e565b82525050565b60006020820190506119ae600083018461198a565b92915050565b6119bd8161197e565b81146119c857600080fd5b50565b6000813590506119da816119b4565b92915050565b6000806000606084860312156119f9576119f86117a3565b5b600084013567ffffffffffffffff811115611a1757611a166117a8565b5b611a23868287016117b2565b935050602084013567ffffffffffffffff811115611a4457611a436117a8565b5b611a50868287016117b2565b9250506040611a61868287016119cb565b9150509250925092565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611aa882611860565b810181811067ffffffffffffffff82111715611ac757611ac6611a70565b5b80604052505050565b6000611ada611799565b9050611ae68282611a9f565b919050565b600080fd5b600067ffffffffffffffff821115611b0b57611b0a611a70565b5b602082029050602081019050919050565b611b2581611685565b8114611b3057600080fd5b50565b600081359050611b4281611b1c565b92915050565b6000611b5b611b5684611af0565b611ad0565b90508083825260208201905060208402830185811115611b7e57611b7d6118d6565b5b835b81811015611ba75780611b938882611b33565b845260208401935050602081019050611b80565b5050509392505050565b600082601f830112611bc657611bc56118cc565b5b8135611bd6848260208601611b48565b91505092915050565b600060208284031215611bf557611bf4611a6b565b5b611bff6020611ad0565b9050600082013567ffffffffffffffff811115611c1f57611c1e611aeb565b5b611c2b84828501611bb1565b60008301525092915050565b600067ffffffffffffffff821115611c5257611c51611a70565b5b602082029050602081019050919050565b600080fd5b600067ffffffffffffffff821115611c8357611c82611a70565b5b611c8c82611860565b9050602081019050919050565b82818337600083830152505050565b6000611cbb611cb684611c68565b611ad0565b905082815260208101848484011115611cd757611cd6611c63565b5b611ce2848285611c99565b509392505050565b600082601f830112611cff57611cfe6118cc565b5b8135611d0f848260208601611ca8565b91505092915050565b6000611d2b611d2684611c37565b611ad0565b90508083825260208201905060208402830185811115611d4e57611d4d6118d6565b5b835b81811015611d9557803567ffffffffffffffff811115611d7357611d726118cc565b5b808601611d808982611cea565b85526020850194505050602081019050611d50565b5050509392505050565b600082601f830112611db457611db36118cc565b5b8135611dc4848260208601611d18565b91505092915050565b600060408284031215611de357611de2611a6b565b5b611ded6040611ad0565b9050600082013567ffffffffffffffff811115611e0d57611e0c611aeb565b5b611e1984828501611bdf565b600083015250602082013567ffffffffffffffff811115611e3d57611e3c611aeb565b5b611e4984828501611d9f565b60208301525092915050565b6000611e613683611dcd565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611eaf57607f821691505b602082108103611ec257611ec1611e68565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302611f2a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82611eed565b611f348683611eed565b95508019841693508086168417925050509392505050565b6000819050919050565b611f5f83611699565b611f73611f6b82611f4c565b848454611efa565b825550505050565b600090565b611f88611f7b565b611f93818484611f56565b505050565b5b81811015611fb757611fac600082611f80565b600181019050611f99565b5050565b601f821115611ffc57611fcd81611ec8565b611fd684611edd565b81016020851015611fe5578190505b611ff9611ff185611edd565b830182611f98565b50505b505050565b600082821c905092915050565b600061201f60001984600802612001565b1980831691505092915050565b6000612038838361200e565b9150826002028217905092915050565b6120518261181a565b67ffffffffffffffff81111561206a57612069611a70565b5b6120748254611e97565b61207f828285611fbb565b600060209050601f8311600181146120b257600084156120a0578287015190505b6120aa858261202c565b865550612112565b601f1984166120c086611ec8565b60005b828110156120e8578489015182556001820191506020850194506020810190506120c3565b868310156121055784890151612101601f89168261200e565b8355505b6001600288020188555050505b505050505050565b7f4d50435f434f52453a20494e56414c49445f494e5055545f5445585400000000600082015250565b6000612150601c83611825565b915061215b8261211a565b602082019050919050565b6000602082019050818103600083015261217f81612143565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006121ef82611685565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612221576122206121b5565b5b600182019050919050565b600061223782611685565b915061224283611685565b925082820261225081611685565b91508282048414831517612267576122666121b5565b5b5092915050565b600061227982611685565b915061228483611685565b925082820190508082111561229c5761229b6121b5565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006122dc82611685565b91506122e783611685565b9250826122f7576122f66122a2565b5b828204905092915050565b600061230d82611685565b915061231883611685565b925082612328576123276122a2565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60007fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b61239781612362565b82525050565b6123a681611685565b82525050565b60006040820190506123c1600083018561238e565b6123ce602083018461239d565b9392505050565b6123de81611685565b81146123e957600080fd5b50565b6000815190506123fb816123d5565b92915050565b600060208284031215612417576124166117a3565b5b6000612425848285016123ec565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60006124558261242e565b61245f8185612439565b935061246f818560208601611836565b61247881611860565b840191505092915050565b6000606082019050612498600083018661238e565b6124a5602083018561239d565b81810360408301526124b7818461244a565b9050949350505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006124ec826124c1565b9050919050565b60008160601b9050919050565b600061250b826124f3565b9050919050565b600061251d82612500565b9050919050565b612535612530826124e1565b612512565b82525050565b60006125478284612524565b60148201915081905092915050565b60007fffffff000000000000000000000000000000000000000000000000000000000082169050919050565b61258b81612556565b82525050565b60006060820190506125a66000830186612582565b6125b3602083018561239d565b6125c0604083018461239d565b94935050505056fea2646970667358221220476ddd4c111fadb5c6b2a7bdd8d91c2149c1cf530de36c8ce15de800c4073aaa64736f6c63430008140033";
|
|
212
|
+
"0x608060405234801561001057600080fd5b5061194c806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80638a4ef8541161005b5780638a4ef854146100e857806395bf7bb1146100f0578063acbe845214610103578063f9ce33a91461012057600080fd5b806314f6161f1461008d57806335435c00146100ab57806376ae56a5146100c057806378f7d733146100d5575b600080fd5b610095610133565b6040516100a291906110cb565b60405180910390f35b6100be6100b9366004611133565b6101a1565b005b6100c86101dc565b6040516100a291906111d4565b6100be6100e3366004611133565b61026a565b6100be61029a565b6100be6100fe3660046111e7565b61031a565b6003546101109060ff1681565b60405190151581526020016100a2565b6100be61012e366004611259565b610385565b6040805160208101909152606081526040805160008054602081810284018501855283018181529293919284929091849184018282801561019357602002820191906000526020600020905b81548152602001906001019080831161017f575b505050505081525050905090565b60006101b46101af836114cb565b610413565b90506101bf81610597565b805180516001916101d59183916020019061106b565b5050505050565b600280546101e9906115bb565b80601f0160208091040260200160405190810160405280929190818152602001828054610215906115bb565b80156102625780601f1061023757610100808354040283529160200191610262565b820191906000526020600020905b81548152906001019060200180831161024557829003601f168201915b505050505081565b60006102786101af836114cb565b90506102848133610667565b805180516000916101d59183916020019061106b565b6040805160018054602081810284018501855283018181526000946102fe9493928492918491908401828280156102f057602002820191906000526020600020905b8154815260200190600101908083116102dc575b50505050508152505061073b565b905061030981610803565b6002906103169082611653565b5050565b600061035b83838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506108c592505050565b90506103678133610667565b8051805160009161037d9183916020019061106b565b505050505050565b60006103936101af856114cb565b905060006103a36101af856114cb565b9050600083156103be576103b78383610a4a565b90506103d3565b6103d06103cb8484610b13565b610bd4565b90505b6103dc81610c70565b600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055505050505050565b604080516020810190915260608152602082015151825151518114610498576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d50435f434f52453a20494e56414c49445f494e5055545f5445585400000000604482015260640160405180910390fd5b600060405180602001604052808367ffffffffffffffff8111156104be576104be6112d6565b6040519080825280602002602001820160405280156104e7578160200160208202803683370190505b50905260408051808201909152600081526060602082015290915060005b8381101561058d578551518051829081106105225761052261176d565b60209081029190910181015183528601518051829081106105455761054561176d565b6020026020010151826020018190525061055e82610d01565b83518051839081106105725761057261176d565b6020908102919091010152610586816117cb565b9050610505565b5090949350505050565b6040805160208101909152606081528151516040805160208101909152600090808367ffffffffffffffff8111156105d1576105d16112d6565b6040519080825280602002602001820160405280156105fa578160200160208202803683370190505b509052905060005b8281101561065f57610630856000015182815181106106235761062361176d565b6020026020010151610d6a565b82518051839081106106445761064461176d565b6020908102919091010152610658816117cb565b9050610602565b509392505050565b6040805160208101909152606081528251516040805160208101909152600090808367ffffffffffffffff8111156106a1576106a16112d6565b6040519080825280602002602001820160405280156106ca578160200160208202803683370190505b509052905060005b8281101561073057610701866000015182815181106106f3576106f361176d565b602002602001015186610d7a565b82518051839081106107155761071561176d565b6020908102919091010152610729816117cb565b90506106d2565b509150505b92915050565b6040805160208101909152606081528151516040805160208101909152600090808367ffffffffffffffff811115610775576107756112d6565b60405190808252806020026020018201604052801561079e578160200160208202803683370190505b509052905060005b8281101561065f576107d4856000015182815181106107c7576107c761176d565b6020026020010151610e66565b82518051839081106107e8576107e861176d565b60209081029190910101526107fc816117cb565b90506107a6565b8051516060906000610816826008611803565b67ffffffffffffffff81111561082e5761082e6112d6565b6040519080825280601f01601f191660200182016040528015610858576020820181803683370190505b50905060008060005b848110156108ba5761088f876000015182815181106108825761088261176d565b6020026020010151610e76565b60c01b84830160200181905292506108a860088361181a565b91506108b3816117cb565b9050610861565b509195945050505050565b60408051602081019091526060815281518290600060086108e783600761181a565b6108f1919061185c565b9050600060405180602001604052808367ffffffffffffffff811115610919576109196112d6565b604051908082528060200260200182016040528015610942578160200160208202803683370190505b50905290506000805b610956846008611803565b811015610a3e57610968600882611870565b600003610978576000915061099b565b60088277ffffffffffffffffffffffffffffffffffffffffffffffff1916901b91505b848110156109e65760388682815181106109b7576109b761176d565b01602001517fff0000000000000000000000000000000000000000000000000000000000000016901c91909117905b6109f1600882611870565b600703610a2e57610a048260c01c610e86565b8351610a1160088461185c565b81518110610a2157610a2161176d565b6020026020010181815250505b610a37816117cb565b905061094b565b50909695505050505050565b815151815151600091908114610a6c57610a646000610ef6565b915050610735565b6000610ab48560000151600081518110610a8857610a8861176d565b60200260200101518560000151600081518110610aa757610aa761176d565b6020026020010151610f55565b905060015b8281101561073057610b0182610afc88600001518481518110610ade57610ade61176d565b602002602001015188600001518581518110610aa757610aa761176d565b610fd5565b9150610b0c816117cb565b9050610ab9565b815151815151600091908114610b2d57610a646001610ef6565b6000610b758560000151600081518110610b4957610b4961176d565b60200260200101518560000151600081518110610b6857610b6861176d565b6020026020010151610fe9565b905060015b8281101561073057610bc282610bbd88600001518481518110610b9f57610b9f61176d565b602002602001015188600001518581518110610b6857610b6861176d565b610ffe565b9150610bcd816117cb565b9050610b7a565b60006064631d79e49a825b60f81b846040518363ffffffff1660e01b8152600401610c2d9291907fff00000000000000000000000000000000000000000000000000000000000000929092168252602082015260400190565b6020604051808303816000875af1158015610c4c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073591906118b3565b6040517f0cfed56100000000000000000000000000000000000000000000000000000000815260006004820181905260248201839052908190606490630cfed561906044016020604051808303816000875af1158015610cd4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf891906118b3565b15159392505050565b805160208201516040517fe4f36e1000000000000000000000000000000000000000000000000000000000815260009260649263e4f36e1092610c2d927f04000000000000000000000000000000000000000000000000000000000000009290916004016118cc565b6000606463c50c9c026004610bdf565b60408051606083901b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660208201528151601481830301815260348201928390527f3c6f0e6800000000000000000000000000000000000000000000000000000000909252600091606491633c6f0e6891610e1c917f04000000000000000000000000000000000000000000000000000000000000009188916038016118cc565b6020604051808303816000875af1158015610e3b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5f91906118b3565b9392505050565b6000606463d2c135e56004610bdf565b60006064630cfed5616004610bdf565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0400000000000000000000000000000000000000000000000000000000000000600482015267ffffffffffffffff8216602482015260009060649063d9b60b6090604401610c2d565b60008082610f05576000610f08565b60015b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081526000600482015260ff9190911660248201819052915060649063d9b60b6090604401610e1c565b60006064637c12a1eb610f6a6004808561100e565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff000000000000000000000000000000000000000000000000000000000090911660048201526024810186905260448101859052606401610e1c565b6000606463fe9c73d1610f6a83808061100e565b600060646342094c56610f6a6004808561100e565b6000606463fb7da35f610f6a8380805b600081600281111561102257611022611884565b60ff16600884600481111561103957611039611884565b61ffff16901b61ffff16601086600481111561105757611057611884565b62ffffff16901b171760e81b949350505050565b8280548282559060005260206000209081019282156110a6579160200282015b828111156110a657825182559160200191906001019061108b565b506110b29291506110b6565b5090565b5b808211156110b257600081556001016110b7565b6020808252825182820182905280516040840181905260009291820190839060608601905b8083101561111057835182529284019260019290920191908401906110f0565b509695505050505050565b60006040828403121561112d57600080fd5b50919050565b60006020828403121561114557600080fd5b813567ffffffffffffffff81111561115c57600080fd5b6111688482850161111b565b949350505050565b6000815180845260005b818110156111965760208185018101518683018201520161117a565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081526000610e5f6020830184611170565b600080602083850312156111fa57600080fd5b823567ffffffffffffffff8082111561121257600080fd5b818501915085601f83011261122657600080fd5b81358181111561123557600080fd5b86602082850101111561124757600080fd5b60209290920196919550909350505050565b60008060006060848603121561126e57600080fd5b833567ffffffffffffffff8082111561128657600080fd5b6112928783880161111b565b945060208601359150808211156112a857600080fd5b506112b58682870161111b565b925050604084013580151581146112cb57600080fd5b809150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715611328576113286112d6565b60405290565b6040516020810167ffffffffffffffff81118282101715611328576113286112d6565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715611398576113986112d6565b604052919050565b600067ffffffffffffffff8211156113ba576113ba6112d6565b5060051b60200190565b6000601f83818401126113d657600080fd5b823560206113eb6113e6836113a0565b611351565b82815260059290921b8501810191818101908784111561140a57600080fd5b8287015b848110156114bf57803567ffffffffffffffff8082111561142f5760008081fd5b818a0191508a603f8301126114445760008081fd5b8582013560408282111561145a5761145a6112d6565b611489887fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08c85011601611351565b92508183528c818386010111156114a05760008081fd5b818185018985013750600090820187015284525091830191830161140e565b50979650505050505050565b6000604082360312156114dd57600080fd5b6114e5611305565b823567ffffffffffffffff808211156114fd57600080fd5b8185019150602080833603121561151357600080fd5b61151b61132e565b83358381111561152a57600080fd5b939093019236601f85011261153e57600080fd5b833561154c6113e6826113a0565b81815260059190911b8501830190838101903683111561156b57600080fd5b958401955b8287101561158957863582529584019590840190611570565b835250508452858101359250818311156115a257600080fd5b6115ae368488016113c4565b9084015250909392505050565b600181811c908216806115cf57607f821691505b60208210810361112d577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b601f82111561164e57600081815260208120601f850160051c8101602086101561162f5750805b601f850160051c820191505b8181101561037d5782815560010161163b565b505050565b815167ffffffffffffffff81111561166d5761166d6112d6565b6116818161167b84546115bb565b84611608565b602080601f8311600181146116d4576000841561169e5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b17855561037d565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b8281101561172157888601518255948401946001909101908401611702565b508582101561175d57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036117fc576117fc61179c565b5060010190565b80820281158282048414176107355761073561179c565b808201808211156107355761073561179c565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008261186b5761186b61182d565b500490565b60008261187f5761187f61182d565b500690565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6000602082840312156118c557600080fd5b5051919050565b7fff000000000000000000000000000000000000000000000000000000000000008416815282602082015260606040820152600061190d6060830184611170565b9594505050505056fea26469706673582212207e58f5ac9d7c9997ef0c931422961c39f2ee93069696c0549f0b13750d5061ac64736f6c63430008130033";
|
|
213
213
|
|
|
214
214
|
type StringTestsContractConstructorParams =
|
|
215
215
|
| [signer?: Signer]
|