@artblocks/contracts 1.2.1 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/artifacts/contracts/BytecodeStorageReaders/BytecodeStorageReaderContractV2_Web3Call.sol/BytecodeStorageReaderContractV2_Web3Call.json +201 -0
- package/artifacts/contracts/BytecodeStorageReaders/UniversalBytecodeStorageReader.sol/UniversalBytecodeStorageReader.json +2 -2
- package/artifacts/contracts/DependencyRegistryV0.sol/DependencyRegistryV0.json +42 -53
- package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol/GenArt721CoreV3_Engine_Flex.json +2 -2
- package/artifacts/contracts/generator/GenArt721GeneratorV0.sol/GenArt721GeneratorV0.json +2 -2
- package/artifacts/contracts/interfaces/v0.8.x/IDelegateRegistry.sol/IDelegateRegistry.json +820 -0
- package/artifacts/contracts/interfaces/v0.8.x/IDependencyRegistryV0.sol/IDependencyRegistryV0.json +13 -0
- package/artifacts/contracts/interfaces/v0.8.x/IPMPAugmentHook.sol/IPMPAugmentHook.json +83 -0
- package/artifacts/contracts/interfaces/v0.8.x/IPMPConfigureHook.sol/IPMPConfigureHook.json +80 -0
- package/artifacts/contracts/interfaces/v0.8.x/IPMPV0.sol/IPMPV0.json +402 -0
- package/artifacts/contracts/interfaces/v0.8.x/IUniversalBytecodeStorageReader.sol/IUniversalBytecodeStorageReader.json +13 -0
- package/artifacts/contracts/interfaces/v0.8.x/IWeb3Call.sol/IWeb3Call.json +47 -0
- package/artifacts/contracts/libs/integration-refs/delegation-registry/DelegateRegistry.sol/DelegateRegistry.json +846 -0
- package/artifacts/contracts/libs/integration-refs/delegation-registry/libraries/RegistryHashes.sol/RegistryHashes.json +10 -0
- package/artifacts/contracts/libs/integration-refs/delegation-registry/libraries/RegistryOps.sol/RegistryOps.json +10 -0
- package/artifacts/contracts/libs/integration-refs/delegation-registry/libraries/RegistryStorage.sol/RegistryStorage.json +10 -0
- package/artifacts/contracts/libs/v0.8.x/DependencyRegistryStorageLib.sol/DependencyRegistryStorageLib.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/ImmutableStringArray.sol/ImmutableStringArray.json +10 -0
- package/artifacts/contracts/libs/v0.8.x/V3FlexLib.sol/V3FlexLib.json +2 -2
- package/artifacts/contracts/mock/ImmutableStringArrayMock.sol/ImmutableStringArrayMock.json +69 -0
- package/artifacts/contracts/mock/MockPMPAugmentHook.sol/MockPMPAugmentHook.json +214 -0
- package/artifacts/contracts/mock/MockPMPConfigureHook.sol/MockPMPConfigureHook.json +236 -0
- package/artifacts/contracts/web3call/PMPV0.sol/PMPV0.json +629 -0
- package/artifacts/contracts/web3call/Web3Call.sol/Web3Call.json +66 -0
- package/artifacts/contracts/web3call/augment-hooks/AbstractPMPAugmentHook.sol/AbstractPMPAugmentHook.json +83 -0
- package/artifacts/contracts/web3call/augment-hooks/InjectBaseGasFee.sol/InjectBaseGasFee.json +83 -0
- package/artifacts/contracts/web3call/augment-hooks/InjectChromieSquiggleFloorPrice.sol/IUniswapV2Pair.json +60 -0
- package/artifacts/contracts/web3call/augment-hooks/InjectChromieSquiggleFloorPrice.sol/InjectChromieSquiggleFloorPrice.json +107 -0
- package/artifacts/contracts/web3call/augment-hooks/InjectIsNounsDaoMember.sol/InjectIsNounsDaoMember.json +96 -0
- package/artifacts/contracts/web3call/augment-hooks/InjectIsProjectFullyMinted.sol/InjectIsProjectFullyMinted.json +83 -0
- package/artifacts/contracts/web3call/augment-hooks/InjectPolyptychTokenHash.sol/InjectPolyptychTokenHash.json +141 -0
- package/artifacts/contracts/web3call/augment-hooks/InjectTokenHashSeed.sol/InjectTokenHashSeed.json +99 -0
- package/artifacts/contracts/web3call/augment-hooks/InjectTokenOwner.sol/InjectTokenOwner.json +99 -0
- package/artifacts/contracts/web3call/augment-hooks/InjectTokenOwnerEthBalance.sol/InjectTokenOwnerEthBalance.json +83 -0
- package/artifacts/contracts/web3call/augment-hooks/InjectUSDCTotalSupply.sol/InjectUSDCTotalSupply.json +107 -0
- package/artifacts/contracts/web3call/configure-hooks/abstractPMPConfigureHook.sol/AbstractPMPConfigureHook.json +80 -0
- package/contracts/BytecodeStorageReaders/BytecodeStorageReaderContractV2_Web3Call.sol +128 -0
- package/contracts/DependencyRegistryV0.sol +67 -28
- package/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol +7 -1
- package/contracts/generator/GenArt721GeneratorV0.sol +77 -8
- package/contracts/interfaces/v0.8.x/IDelegateRegistry.sol +318 -0
- package/contracts/interfaces/v0.8.x/IDependencyRegistryV0.sol +2 -0
- package/contracts/interfaces/v0.8.x/IPMPAugmentHook.sol +31 -0
- package/contracts/interfaces/v0.8.x/IPMPConfigureHook.sol +25 -0
- package/contracts/interfaces/v0.8.x/IPMPV0.sol +224 -0
- package/contracts/interfaces/v0.8.x/IUniversalBytecodeStorageReader.sol +5 -0
- package/contracts/interfaces/v0.8.x/IWeb3Call.sol +28 -0
- package/contracts/libs/integration-refs/delegation-registry/DelegateRegistry.sol +753 -0
- package/contracts/libs/integration-refs/delegation-registry/libraries/RegistryHashes.sol +359 -0
- package/contracts/libs/integration-refs/delegation-registry/libraries/RegistryOps.sol +31 -0
- package/contracts/libs/integration-refs/delegation-registry/libraries/RegistryStorage.sol +87 -0
- package/contracts/libs/v0.8.x/DependencyRegistryStorageLib.sol +3 -0
- package/contracts/libs/v0.8.x/ImmutableStringArray.sol +289 -0
- package/contracts/libs/v0.8.x/V3FlexLib.sol +7 -1
- package/contracts/mock/ImmutableStringArrayMock.sol +47 -0
- package/contracts/mock/MockPMPAugmentHook.sol +170 -0
- package/contracts/mock/MockPMPConfigureHook.sol +78 -0
- package/contracts/web3call/PMPV0.sol +1125 -0
- package/contracts/web3call/Web3Call.sol +25 -0
- package/contracts/web3call/augment-hooks/AbstractPMPAugmentHook.sol +46 -0
- package/contracts/web3call/augment-hooks/InjectBaseGasFee.sol +57 -0
- package/contracts/web3call/augment-hooks/InjectChromieSquiggleFloorPrice.sol +103 -0
- package/contracts/web3call/augment-hooks/InjectIsNounsDaoMember.sol +66 -0
- package/contracts/web3call/augment-hooks/InjectIsProjectFullyMinted.sol +73 -0
- package/contracts/web3call/augment-hooks/InjectPolyptychTokenHash.sol +88 -0
- package/contracts/web3call/augment-hooks/InjectTokenHashSeed.sol +62 -0
- package/contracts/web3call/augment-hooks/InjectTokenOwner.sol +60 -0
- package/contracts/web3call/augment-hooks/InjectTokenOwnerEthBalance.sol +61 -0
- package/contracts/web3call/augment-hooks/InjectUSDCTotalSupply.sol +69 -0
- package/contracts/web3call/configure-hooks/abstractPMPConfigureHook.sol +41 -0
- package/package.json +5 -5
|
@@ -0,0 +1,629 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_format": "hh-sol-artifact-1",
|
|
3
|
+
"contractName": "PMPV0",
|
|
4
|
+
"sourceName": "contracts/web3call/PMPV0.sol",
|
|
5
|
+
"abi": [
|
|
6
|
+
{
|
|
7
|
+
"inputs": [
|
|
8
|
+
{
|
|
9
|
+
"internalType": "contract IDelegateRegistry",
|
|
10
|
+
"name": "delegateRegistry_",
|
|
11
|
+
"type": "address"
|
|
12
|
+
}
|
|
13
|
+
],
|
|
14
|
+
"stateMutability": "nonpayable",
|
|
15
|
+
"type": "constructor"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"inputs": [],
|
|
19
|
+
"name": "ReentrancyGuardReentrantCall",
|
|
20
|
+
"type": "error"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"anonymous": false,
|
|
24
|
+
"inputs": [
|
|
25
|
+
{
|
|
26
|
+
"indexed": false,
|
|
27
|
+
"internalType": "address",
|
|
28
|
+
"name": "delegationRegistry",
|
|
29
|
+
"type": "address"
|
|
30
|
+
}
|
|
31
|
+
],
|
|
32
|
+
"name": "DelegationRegistryUpdated",
|
|
33
|
+
"type": "event"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"anonymous": false,
|
|
37
|
+
"inputs": [
|
|
38
|
+
{
|
|
39
|
+
"indexed": false,
|
|
40
|
+
"internalType": "address",
|
|
41
|
+
"name": "coreContract",
|
|
42
|
+
"type": "address"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"indexed": false,
|
|
46
|
+
"internalType": "uint256",
|
|
47
|
+
"name": "projectId",
|
|
48
|
+
"type": "uint256"
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"components": [
|
|
52
|
+
{
|
|
53
|
+
"internalType": "string",
|
|
54
|
+
"name": "key",
|
|
55
|
+
"type": "string"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"components": [
|
|
59
|
+
{
|
|
60
|
+
"internalType": "enum IPMPV0.AuthOption",
|
|
61
|
+
"name": "authOption",
|
|
62
|
+
"type": "uint8"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"internalType": "enum IPMPV0.ParamType",
|
|
66
|
+
"name": "paramType",
|
|
67
|
+
"type": "uint8"
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"internalType": "uint48",
|
|
71
|
+
"name": "pmpLockedAfterTimestamp",
|
|
72
|
+
"type": "uint48"
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"internalType": "address",
|
|
76
|
+
"name": "authAddress",
|
|
77
|
+
"type": "address"
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"internalType": "string[]",
|
|
81
|
+
"name": "selectOptions",
|
|
82
|
+
"type": "string[]"
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"internalType": "bytes32",
|
|
86
|
+
"name": "minRange",
|
|
87
|
+
"type": "bytes32"
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"internalType": "bytes32",
|
|
91
|
+
"name": "maxRange",
|
|
92
|
+
"type": "bytes32"
|
|
93
|
+
}
|
|
94
|
+
],
|
|
95
|
+
"internalType": "struct IPMPV0.PMPConfig",
|
|
96
|
+
"name": "pmpConfig",
|
|
97
|
+
"type": "tuple"
|
|
98
|
+
}
|
|
99
|
+
],
|
|
100
|
+
"indexed": false,
|
|
101
|
+
"internalType": "struct IPMPV0.PMPInputConfig[]",
|
|
102
|
+
"name": "pmpInputConfigs",
|
|
103
|
+
"type": "tuple[]"
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"indexed": false,
|
|
107
|
+
"internalType": "uint8",
|
|
108
|
+
"name": "projectConfigNonce",
|
|
109
|
+
"type": "uint8"
|
|
110
|
+
}
|
|
111
|
+
],
|
|
112
|
+
"name": "ProjectConfigured",
|
|
113
|
+
"type": "event"
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"anonymous": false,
|
|
117
|
+
"inputs": [
|
|
118
|
+
{
|
|
119
|
+
"indexed": false,
|
|
120
|
+
"internalType": "address",
|
|
121
|
+
"name": "coreContract",
|
|
122
|
+
"type": "address"
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
"indexed": false,
|
|
126
|
+
"internalType": "uint256",
|
|
127
|
+
"name": "projectId",
|
|
128
|
+
"type": "uint256"
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
"indexed": false,
|
|
132
|
+
"internalType": "contract IPMPConfigureHook",
|
|
133
|
+
"name": "tokenPMPPostConfigHook",
|
|
134
|
+
"type": "address"
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"indexed": false,
|
|
138
|
+
"internalType": "contract IPMPAugmentHook",
|
|
139
|
+
"name": "tokenPMPReadAugmentationHook",
|
|
140
|
+
"type": "address"
|
|
141
|
+
}
|
|
142
|
+
],
|
|
143
|
+
"name": "ProjectHooksConfigured",
|
|
144
|
+
"type": "event"
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
"anonymous": false,
|
|
148
|
+
"inputs": [
|
|
149
|
+
{
|
|
150
|
+
"indexed": false,
|
|
151
|
+
"internalType": "address",
|
|
152
|
+
"name": "coreContract",
|
|
153
|
+
"type": "address"
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
"indexed": false,
|
|
157
|
+
"internalType": "uint256",
|
|
158
|
+
"name": "tokenId",
|
|
159
|
+
"type": "uint256"
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
"components": [
|
|
163
|
+
{
|
|
164
|
+
"internalType": "string",
|
|
165
|
+
"name": "key",
|
|
166
|
+
"type": "string"
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
"internalType": "enum IPMPV0.ParamType",
|
|
170
|
+
"name": "configuredParamType",
|
|
171
|
+
"type": "uint8"
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
"internalType": "bytes32",
|
|
175
|
+
"name": "configuredValue",
|
|
176
|
+
"type": "bytes32"
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
"internalType": "bool",
|
|
180
|
+
"name": "configuringArtistString",
|
|
181
|
+
"type": "bool"
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
"internalType": "string",
|
|
185
|
+
"name": "configuredValueString",
|
|
186
|
+
"type": "string"
|
|
187
|
+
}
|
|
188
|
+
],
|
|
189
|
+
"indexed": false,
|
|
190
|
+
"internalType": "struct IPMPV0.PMPInput[]",
|
|
191
|
+
"name": "pmpInputs",
|
|
192
|
+
"type": "tuple[]"
|
|
193
|
+
}
|
|
194
|
+
],
|
|
195
|
+
"name": "TokenParamsConfigured",
|
|
196
|
+
"type": "event"
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
"inputs": [],
|
|
200
|
+
"name": "DELEGATION_REGISTRY_TOKEN_OWNER_RIGHTS",
|
|
201
|
+
"outputs": [
|
|
202
|
+
{
|
|
203
|
+
"internalType": "bytes32",
|
|
204
|
+
"name": "",
|
|
205
|
+
"type": "bytes32"
|
|
206
|
+
}
|
|
207
|
+
],
|
|
208
|
+
"stateMutability": "view",
|
|
209
|
+
"type": "function"
|
|
210
|
+
},
|
|
211
|
+
{
|
|
212
|
+
"inputs": [
|
|
213
|
+
{
|
|
214
|
+
"internalType": "address",
|
|
215
|
+
"name": "coreContract",
|
|
216
|
+
"type": "address"
|
|
217
|
+
},
|
|
218
|
+
{
|
|
219
|
+
"internalType": "uint256",
|
|
220
|
+
"name": "projectId",
|
|
221
|
+
"type": "uint256"
|
|
222
|
+
},
|
|
223
|
+
{
|
|
224
|
+
"components": [
|
|
225
|
+
{
|
|
226
|
+
"internalType": "string",
|
|
227
|
+
"name": "key",
|
|
228
|
+
"type": "string"
|
|
229
|
+
},
|
|
230
|
+
{
|
|
231
|
+
"components": [
|
|
232
|
+
{
|
|
233
|
+
"internalType": "enum IPMPV0.AuthOption",
|
|
234
|
+
"name": "authOption",
|
|
235
|
+
"type": "uint8"
|
|
236
|
+
},
|
|
237
|
+
{
|
|
238
|
+
"internalType": "enum IPMPV0.ParamType",
|
|
239
|
+
"name": "paramType",
|
|
240
|
+
"type": "uint8"
|
|
241
|
+
},
|
|
242
|
+
{
|
|
243
|
+
"internalType": "uint48",
|
|
244
|
+
"name": "pmpLockedAfterTimestamp",
|
|
245
|
+
"type": "uint48"
|
|
246
|
+
},
|
|
247
|
+
{
|
|
248
|
+
"internalType": "address",
|
|
249
|
+
"name": "authAddress",
|
|
250
|
+
"type": "address"
|
|
251
|
+
},
|
|
252
|
+
{
|
|
253
|
+
"internalType": "string[]",
|
|
254
|
+
"name": "selectOptions",
|
|
255
|
+
"type": "string[]"
|
|
256
|
+
},
|
|
257
|
+
{
|
|
258
|
+
"internalType": "bytes32",
|
|
259
|
+
"name": "minRange",
|
|
260
|
+
"type": "bytes32"
|
|
261
|
+
},
|
|
262
|
+
{
|
|
263
|
+
"internalType": "bytes32",
|
|
264
|
+
"name": "maxRange",
|
|
265
|
+
"type": "bytes32"
|
|
266
|
+
}
|
|
267
|
+
],
|
|
268
|
+
"internalType": "struct IPMPV0.PMPConfig",
|
|
269
|
+
"name": "pmpConfig",
|
|
270
|
+
"type": "tuple"
|
|
271
|
+
}
|
|
272
|
+
],
|
|
273
|
+
"internalType": "struct IPMPV0.PMPInputConfig[]",
|
|
274
|
+
"name": "pmpInputConfigs",
|
|
275
|
+
"type": "tuple[]"
|
|
276
|
+
}
|
|
277
|
+
],
|
|
278
|
+
"name": "configureProject",
|
|
279
|
+
"outputs": [],
|
|
280
|
+
"stateMutability": "nonpayable",
|
|
281
|
+
"type": "function"
|
|
282
|
+
},
|
|
283
|
+
{
|
|
284
|
+
"inputs": [
|
|
285
|
+
{
|
|
286
|
+
"internalType": "address",
|
|
287
|
+
"name": "coreContract",
|
|
288
|
+
"type": "address"
|
|
289
|
+
},
|
|
290
|
+
{
|
|
291
|
+
"internalType": "uint256",
|
|
292
|
+
"name": "projectId",
|
|
293
|
+
"type": "uint256"
|
|
294
|
+
},
|
|
295
|
+
{
|
|
296
|
+
"internalType": "contract IPMPConfigureHook",
|
|
297
|
+
"name": "tokenPMPPostConfigHook",
|
|
298
|
+
"type": "address"
|
|
299
|
+
},
|
|
300
|
+
{
|
|
301
|
+
"internalType": "contract IPMPAugmentHook",
|
|
302
|
+
"name": "tokenPMPReadAugmentationHook",
|
|
303
|
+
"type": "address"
|
|
304
|
+
}
|
|
305
|
+
],
|
|
306
|
+
"name": "configureProjectHooks",
|
|
307
|
+
"outputs": [],
|
|
308
|
+
"stateMutability": "nonpayable",
|
|
309
|
+
"type": "function"
|
|
310
|
+
},
|
|
311
|
+
{
|
|
312
|
+
"inputs": [
|
|
313
|
+
{
|
|
314
|
+
"internalType": "address",
|
|
315
|
+
"name": "coreContract",
|
|
316
|
+
"type": "address"
|
|
317
|
+
},
|
|
318
|
+
{
|
|
319
|
+
"internalType": "uint256",
|
|
320
|
+
"name": "tokenId",
|
|
321
|
+
"type": "uint256"
|
|
322
|
+
},
|
|
323
|
+
{
|
|
324
|
+
"components": [
|
|
325
|
+
{
|
|
326
|
+
"internalType": "string",
|
|
327
|
+
"name": "key",
|
|
328
|
+
"type": "string"
|
|
329
|
+
},
|
|
330
|
+
{
|
|
331
|
+
"internalType": "enum IPMPV0.ParamType",
|
|
332
|
+
"name": "configuredParamType",
|
|
333
|
+
"type": "uint8"
|
|
334
|
+
},
|
|
335
|
+
{
|
|
336
|
+
"internalType": "bytes32",
|
|
337
|
+
"name": "configuredValue",
|
|
338
|
+
"type": "bytes32"
|
|
339
|
+
},
|
|
340
|
+
{
|
|
341
|
+
"internalType": "bool",
|
|
342
|
+
"name": "configuringArtistString",
|
|
343
|
+
"type": "bool"
|
|
344
|
+
},
|
|
345
|
+
{
|
|
346
|
+
"internalType": "string",
|
|
347
|
+
"name": "configuredValueString",
|
|
348
|
+
"type": "string"
|
|
349
|
+
}
|
|
350
|
+
],
|
|
351
|
+
"internalType": "struct IPMPV0.PMPInput[]",
|
|
352
|
+
"name": "pmpInputs",
|
|
353
|
+
"type": "tuple[]"
|
|
354
|
+
}
|
|
355
|
+
],
|
|
356
|
+
"name": "configureTokenParams",
|
|
357
|
+
"outputs": [],
|
|
358
|
+
"stateMutability": "nonpayable",
|
|
359
|
+
"type": "function"
|
|
360
|
+
},
|
|
361
|
+
{
|
|
362
|
+
"inputs": [],
|
|
363
|
+
"name": "delegateRegistry",
|
|
364
|
+
"outputs": [
|
|
365
|
+
{
|
|
366
|
+
"internalType": "contract IDelegateRegistry",
|
|
367
|
+
"name": "",
|
|
368
|
+
"type": "address"
|
|
369
|
+
}
|
|
370
|
+
],
|
|
371
|
+
"stateMutability": "view",
|
|
372
|
+
"type": "function"
|
|
373
|
+
},
|
|
374
|
+
{
|
|
375
|
+
"inputs": [
|
|
376
|
+
{
|
|
377
|
+
"internalType": "address",
|
|
378
|
+
"name": "coreContract",
|
|
379
|
+
"type": "address"
|
|
380
|
+
},
|
|
381
|
+
{
|
|
382
|
+
"internalType": "uint256",
|
|
383
|
+
"name": "projectId",
|
|
384
|
+
"type": "uint256"
|
|
385
|
+
}
|
|
386
|
+
],
|
|
387
|
+
"name": "getProjectConfig",
|
|
388
|
+
"outputs": [
|
|
389
|
+
{
|
|
390
|
+
"internalType": "string[]",
|
|
391
|
+
"name": "pmpKeys",
|
|
392
|
+
"type": "string[]"
|
|
393
|
+
},
|
|
394
|
+
{
|
|
395
|
+
"internalType": "uint8",
|
|
396
|
+
"name": "configNonce",
|
|
397
|
+
"type": "uint8"
|
|
398
|
+
},
|
|
399
|
+
{
|
|
400
|
+
"internalType": "contract IPMPConfigureHook",
|
|
401
|
+
"name": "tokenPMPPostConfigHook",
|
|
402
|
+
"type": "address"
|
|
403
|
+
},
|
|
404
|
+
{
|
|
405
|
+
"internalType": "contract IPMPAugmentHook",
|
|
406
|
+
"name": "tokenPMPReadAugmentationHook",
|
|
407
|
+
"type": "address"
|
|
408
|
+
}
|
|
409
|
+
],
|
|
410
|
+
"stateMutability": "view",
|
|
411
|
+
"type": "function"
|
|
412
|
+
},
|
|
413
|
+
{
|
|
414
|
+
"inputs": [
|
|
415
|
+
{
|
|
416
|
+
"internalType": "address",
|
|
417
|
+
"name": "coreContract",
|
|
418
|
+
"type": "address"
|
|
419
|
+
},
|
|
420
|
+
{
|
|
421
|
+
"internalType": "uint256",
|
|
422
|
+
"name": "projectId",
|
|
423
|
+
"type": "uint256"
|
|
424
|
+
},
|
|
425
|
+
{
|
|
426
|
+
"internalType": "string",
|
|
427
|
+
"name": "pmpKey",
|
|
428
|
+
"type": "string"
|
|
429
|
+
}
|
|
430
|
+
],
|
|
431
|
+
"name": "getProjectPMPConfig",
|
|
432
|
+
"outputs": [
|
|
433
|
+
{
|
|
434
|
+
"components": [
|
|
435
|
+
{
|
|
436
|
+
"internalType": "uint8",
|
|
437
|
+
"name": "highestConfigNonce",
|
|
438
|
+
"type": "uint8"
|
|
439
|
+
},
|
|
440
|
+
{
|
|
441
|
+
"internalType": "enum IPMPV0.AuthOption",
|
|
442
|
+
"name": "authOption",
|
|
443
|
+
"type": "uint8"
|
|
444
|
+
},
|
|
445
|
+
{
|
|
446
|
+
"internalType": "enum IPMPV0.ParamType",
|
|
447
|
+
"name": "paramType",
|
|
448
|
+
"type": "uint8"
|
|
449
|
+
},
|
|
450
|
+
{
|
|
451
|
+
"internalType": "uint48",
|
|
452
|
+
"name": "pmpLockedAfterTimestamp",
|
|
453
|
+
"type": "uint48"
|
|
454
|
+
},
|
|
455
|
+
{
|
|
456
|
+
"internalType": "address",
|
|
457
|
+
"name": "authAddress",
|
|
458
|
+
"type": "address"
|
|
459
|
+
},
|
|
460
|
+
{
|
|
461
|
+
"internalType": "uint8",
|
|
462
|
+
"name": "selectOptionsLength",
|
|
463
|
+
"type": "uint8"
|
|
464
|
+
},
|
|
465
|
+
{
|
|
466
|
+
"internalType": "string[]",
|
|
467
|
+
"name": "selectOptions",
|
|
468
|
+
"type": "string[]"
|
|
469
|
+
},
|
|
470
|
+
{
|
|
471
|
+
"internalType": "bytes32",
|
|
472
|
+
"name": "minRange",
|
|
473
|
+
"type": "bytes32"
|
|
474
|
+
},
|
|
475
|
+
{
|
|
476
|
+
"internalType": "bytes32",
|
|
477
|
+
"name": "maxRange",
|
|
478
|
+
"type": "bytes32"
|
|
479
|
+
}
|
|
480
|
+
],
|
|
481
|
+
"internalType": "struct IPMPV0.PMPConfigView",
|
|
482
|
+
"name": "pmpConfigView",
|
|
483
|
+
"type": "tuple"
|
|
484
|
+
}
|
|
485
|
+
],
|
|
486
|
+
"stateMutability": "view",
|
|
487
|
+
"type": "function"
|
|
488
|
+
},
|
|
489
|
+
{
|
|
490
|
+
"inputs": [
|
|
491
|
+
{
|
|
492
|
+
"internalType": "address",
|
|
493
|
+
"name": "coreContract",
|
|
494
|
+
"type": "address"
|
|
495
|
+
},
|
|
496
|
+
{
|
|
497
|
+
"internalType": "uint256",
|
|
498
|
+
"name": "tokenId",
|
|
499
|
+
"type": "uint256"
|
|
500
|
+
},
|
|
501
|
+
{
|
|
502
|
+
"internalType": "string",
|
|
503
|
+
"name": "pmpKey",
|
|
504
|
+
"type": "string"
|
|
505
|
+
}
|
|
506
|
+
],
|
|
507
|
+
"name": "getTokenPMPStorage",
|
|
508
|
+
"outputs": [
|
|
509
|
+
{
|
|
510
|
+
"components": [
|
|
511
|
+
{
|
|
512
|
+
"internalType": "enum IPMPV0.ParamType",
|
|
513
|
+
"name": "configuredParamType",
|
|
514
|
+
"type": "uint8"
|
|
515
|
+
},
|
|
516
|
+
{
|
|
517
|
+
"internalType": "bytes32",
|
|
518
|
+
"name": "configuredValue",
|
|
519
|
+
"type": "bytes32"
|
|
520
|
+
},
|
|
521
|
+
{
|
|
522
|
+
"internalType": "string",
|
|
523
|
+
"name": "artistConfiguredValueString",
|
|
524
|
+
"type": "string"
|
|
525
|
+
},
|
|
526
|
+
{
|
|
527
|
+
"internalType": "string",
|
|
528
|
+
"name": "nonArtistConfiguredValueString",
|
|
529
|
+
"type": "string"
|
|
530
|
+
}
|
|
531
|
+
],
|
|
532
|
+
"internalType": "struct IPMPV0.PMPStorage",
|
|
533
|
+
"name": "pmp",
|
|
534
|
+
"type": "tuple"
|
|
535
|
+
}
|
|
536
|
+
],
|
|
537
|
+
"stateMutability": "view",
|
|
538
|
+
"type": "function"
|
|
539
|
+
},
|
|
540
|
+
{
|
|
541
|
+
"inputs": [
|
|
542
|
+
{
|
|
543
|
+
"internalType": "address",
|
|
544
|
+
"name": "coreContract",
|
|
545
|
+
"type": "address"
|
|
546
|
+
},
|
|
547
|
+
{
|
|
548
|
+
"internalType": "uint256",
|
|
549
|
+
"name": "tokenId",
|
|
550
|
+
"type": "uint256"
|
|
551
|
+
}
|
|
552
|
+
],
|
|
553
|
+
"name": "getTokenParams",
|
|
554
|
+
"outputs": [
|
|
555
|
+
{
|
|
556
|
+
"components": [
|
|
557
|
+
{
|
|
558
|
+
"internalType": "string",
|
|
559
|
+
"name": "key",
|
|
560
|
+
"type": "string"
|
|
561
|
+
},
|
|
562
|
+
{
|
|
563
|
+
"internalType": "string",
|
|
564
|
+
"name": "value",
|
|
565
|
+
"type": "string"
|
|
566
|
+
}
|
|
567
|
+
],
|
|
568
|
+
"internalType": "struct IWeb3Call.TokenParam[]",
|
|
569
|
+
"name": "tokenParams",
|
|
570
|
+
"type": "tuple[]"
|
|
571
|
+
}
|
|
572
|
+
],
|
|
573
|
+
"stateMutability": "view",
|
|
574
|
+
"type": "function"
|
|
575
|
+
},
|
|
576
|
+
{
|
|
577
|
+
"inputs": [
|
|
578
|
+
{
|
|
579
|
+
"internalType": "address",
|
|
580
|
+
"name": "wallet",
|
|
581
|
+
"type": "address"
|
|
582
|
+
},
|
|
583
|
+
{
|
|
584
|
+
"internalType": "address",
|
|
585
|
+
"name": "coreContract",
|
|
586
|
+
"type": "address"
|
|
587
|
+
},
|
|
588
|
+
{
|
|
589
|
+
"internalType": "uint256",
|
|
590
|
+
"name": "tokenId",
|
|
591
|
+
"type": "uint256"
|
|
592
|
+
}
|
|
593
|
+
],
|
|
594
|
+
"name": "isTokenOwnerOrDelegate",
|
|
595
|
+
"outputs": [
|
|
596
|
+
{
|
|
597
|
+
"internalType": "bool",
|
|
598
|
+
"name": "",
|
|
599
|
+
"type": "bool"
|
|
600
|
+
}
|
|
601
|
+
],
|
|
602
|
+
"stateMutability": "view",
|
|
603
|
+
"type": "function"
|
|
604
|
+
},
|
|
605
|
+
{
|
|
606
|
+
"inputs": [
|
|
607
|
+
{
|
|
608
|
+
"internalType": "bytes4",
|
|
609
|
+
"name": "interfaceId",
|
|
610
|
+
"type": "bytes4"
|
|
611
|
+
}
|
|
612
|
+
],
|
|
613
|
+
"name": "supportsInterface",
|
|
614
|
+
"outputs": [
|
|
615
|
+
{
|
|
616
|
+
"internalType": "bool",
|
|
617
|
+
"name": "",
|
|
618
|
+
"type": "bool"
|
|
619
|
+
}
|
|
620
|
+
],
|
|
621
|
+
"stateMutability": "view",
|
|
622
|
+
"type": "function"
|
|
623
|
+
}
|
|
624
|
+
],
|
|
625
|
+
"bytecode": "0x60a06040523480156200001157600080fd5b5060405162004cc938038062004cc9833981016040819052620000349162000082565b60016000556001600160a01b03811660808190526040519081527f836360d1b094a7de3c3eab3d1185f3a5939467c23d4a12709dbdbf8c8d7e2f3b9060200160405180910390a150620000b4565b6000602082840312156200009557600080fd5b81516001600160a01b0381168114620000ad57600080fd5b9392505050565b608051614bf3620000d66000396000818160cb0152612a9d0152614bf36000f3fe608060405234801561001057600080fd5b50600436106100995760003560e01c806301ffc9a71461009e57806313bfffac146100c65780633c303afb1461010557806354ca22371461011a5780636f8637a01461013d57806398a6e11814610150578063af544a611461017a578063b69c984d1461018d578063ba8dba48146101a0578063c2b4f411146101c0578063dc809b1a146101e0575b600080fd5b6100b16100ac366004613736565b610200565b60405190151581526020015b60405180910390f35b6100ed7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100bd565b6101186101133660046137cc565b610237565b005b61012d610128366004613827565b610719565b6040516100bd94939291906138a3565b61011861014b3660046137cc565b61077c565b61016c71706f73746d696e74706172616d657465727360701b81565b6040519081526020016100bd565b6100b161018836600461392a565b610a23565b61011861019b36600461396b565b610a3a565b6101b36101ae366004613acb565b610c20565b6040516100bd9190613bb7565b6101d36101ce366004613827565b610d88565b6040516100bd9190613cd8565b6101f36101ee366004613acb565b610fa8565b6040516100bd9190613ceb565b60006001600160e01b0319821663c2b4f41160e01b148061023157506301ffc9a760e01b6001600160e01b03198316145b92915050565b61023f61117e565b61024a8484336111a8565b8061010081111561029d5760405162461bcd60e51b8152602060048201526018602482015277504d503a204f6e6c79203c3d2032353620636f6e6669677360401b60448201526064015b60405180910390fd5b60005b818110156103925760008484838181106102bc576102bc613d3f565b90506020028101906102ce9190613d55565b6102d89080613d75565b91505080158015906102eb575061010081105b61034f5760405162461bcd60e51b815260206004820152602f60248201527f504d503a20706d704b65792063616e6e6f7420626520656d707479206f72206560448201526e78636565642032353520627974657360881b6064820152608401610294565b61038985858481811061036457610364613d3f565b90506020028101906103769190613d55565b610384906020810190613dbb565b611264565b506001016102a0565b506001600160a01b0385166000908152600160208181526040808420888552909152822060028101549092916103cb9160ff1690613de7565b60028301805460ff191660ff831617905590506000836001600160401b038111156103f8576103f86139be565b60405190808252806020026020018201604052801561042b57816020015b60608152602001906001900390816104165790505b50905060005b848110156104c25786868281811061044b5761044b613d3f565b905060200281019061045d9190613d55565b6104679080613d75565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050845185925084915081106104af576104af613d3f565b6020908102919091010152600101610431565b506104cd81846119dd565b60005b848110156106c55760008460010160006105028585815181106104f5576104f5613d3f565b6020026020010151611a75565b8152602081019190915260400160002080549091506301000000900465ffffffffffff1680158061053257504281115b61058f5760405162461bcd60e51b815260206004820152602860248201527f504d503a20706d70206973206c6f636b656420616e642063616e6e6f74206265604482015267081d5c19185d195960c21b6064820152608401610294565b50805460ff191660ff851617815560008888848181106105b1576105b1613d3f565b90506020028101906105c39190613d55565b6105d1906020810190613dbb565b6105da90613ee1565b8051835491925090839061ff0019166101008360068111156105fe576105fe613b23565b021790555060208101518254839062ff000019166201000083600881111561062857610628613b23565b02179055506040810151825460608301516080840151805160ff16600160e81b0260ff60e81b196001600160a01b03909316600160481b02600160481b600160e81b031965ffffffffffff909616630100000002959095166301000000600160e81b03199094169390931793909317161783556106a9906001840190611aa5565b60a0810151600283015560c001516003909101556001016104d0565b507f935e8b8dc0c19500cc0d4c29698f1af13be297f62b71eda8dd0e1a0bc6927fca88888888866040516106fd959493929190614043565b60405180910390a1505050506107136001600055565b50505050565b6001600160a01b03821660009081526001602090815260408083208484529091528120606091908190819061074d81611d4c565b6002820154600390920154909860ff831698506001600160a01b03610100909304831697509116945092505050565b61078461117e565b6001600160a01b0384166000908152600160205260408120816107a686611f76565b8152602001908152602001600020905060005b828110156109da57600061082e8585848181106107d8576107d8613d3f565b90506020028101906107ea91906141e2565b6107f49080613d75565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a7592505050565b9050600085858481811061084457610844613d3f565b905060200281019061085691906141e2565b61085f90614206565b6001600160a01b03891660009081526002602081815260408084208c85528252808420878552825280842060018a019092529092209087015492935090916108b1908a908c908690859060ff16611f85565b805482546201000090910460ff1690839060ff191660018360088111156108da576108da613b23565b02179055506008815462010000900460ff1660088111156108fd576108fd613b23565b0361093a578260600151156109265760808301516002830190610920908261433e565b50610945565b60808301516003830190610920908261433e565b604083015160018301555b600286015461010090046001600160a01b0316156109ca57600286015460405163677e713560e01b81526101009091046001600160a01b03169063677e713590610997908d908d9088906004016143fd565b600060405180830381600087803b1580156109b157600080fd5b505af11580156109c5573d6000803e3d6000fd5b505050505b5050600190920191506107b99050565b507f8ab4d1a907cb32efca4abfcd8bfebaffdae90518a8e48d380e85ad5083fdc13185858585604051610a109493929190614474565b60405180910390a1506107136001600055565b6000610a308284866129b9565b90505b9392505050565b610a4261117e565b610a4d8484336111a8565b6001600160a01b03821615610ae157610a6d8263677e713560e01b612b11565b610ae1576040805162461bcd60e51b81526020600482015260248101919091527f504d503a20746f6b656e504d50506f7374436f6e666967486f6f6b20646f657360448201527f206e6f7420696d706c656d656e742049504d50436f6e666967757265486f6f6b6064820152608401610294565b6001600160a01b03811615610b8157610b01816358f8699f60e01b612b11565b610b815760405162461bcd60e51b8152602060048201526044602482018190527f504d503a20746f6b656e504d50526561644175676d656e746174696f6e486f6f908201527f6b20646f6573206e6f7420696d706c656d656e742049504d504175676d656e74606482015263486f6f6b60e01b608482015260a401610294565b6001600160a01b038481166000818152600160209081526040808320888452825291829020600281018054610100600160a81b031916610100898816908102919091179091556003820180546001600160a01b031916968816968717905583519485529184018890529183015260608201929092527fd7a93580965b5dbb5c8a723af5a48167de5f41dc65e456be819bf739da05ce3890608001610a10565b610c6f60408051610120810190915260008082526020820190815260200160008152600060208201819052604082018190526060808301829052608083015260a0820181905260c09091015290565b6001600160a01b038416600090815260016020818152604080842087855290915282200181610c9d85611a75565b8152602080820192909252604001600020805460ff8082168652919350918401916101009004166006811115610cd557610cd5613b23565b90816006811115610ce857610ce8613b23565b9052508054604083019062010000900460ff166008811115610d0c57610d0c613b23565b90816008811115610d1f57610d1f613b23565b90525080546301000000810465ffffffffffff166060840152600160481b81046001600160a01b03166080840152600160e81b900460ff1660a0830152610d6860018201611d4c565b60c0830152600281015460e0830152600301546101008201529392505050565b60606000610d9583611f76565b6001600160a01b03851660009081526001602090815260408083208484529091528120919250610dc482611d4c565b8051909150806001600160401b03811115610de157610de16139be565b604051908082528060200260200182016040528015610e2657816020015b6040805180820190915260608082526020820152815260200190600190039081610dff5790505b5094506000805b82811015610f08576000610e4c8583815181106104f5576104f5613d3f565b600081815260018801602090815260408083206001600160a01b038f168452600283528184208e85528352818420858552909252822092935090918291610e9291612b2d565b9150915081610ea357505050610f00565b6040518060400160405280888681518110610ec057610ec0613d3f565b60200260200101518152602001828152508a8681518110610ee357610ee3613d3f565b60200260200101819052508480610ef990614570565b9550505050505b600101610e2d565b5080865260038401546001600160a01b031615610f9d5760038401546040516358f8699f60e01b81526001600160a01b03909116906358f8699f90610f55908b908b908b90600401614589565b600060405180830381865afa158015610f72573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f9a91908101906145fd565b95505b505050505092915050565b610fd260408051608081019091528060008152600060208201526060604082018190529081015290565b6001600160a01b0384166000908152600260209081526040808320868452909152812090610fff84611a75565b8152602081019190915260409081016000208151608081019092528054829060ff16600881111561103257611032613b23565b600881111561104357611043613b23565b815260200160018201548152602001600282018054611061906142bc565b80601f016020809104026020016040519081016040528092919081815260200182805461108d906142bc565b80156110da5780601f106110af576101008083540402835291602001916110da565b820191906000526020600020905b8154815290600101906020018083116110bd57829003601f168201915b505050505081526020016003820180546110f3906142bc565b80601f016020809104026020016040519081016040528092919081815260200182805461111f906142bc565b801561116c5780601f106111415761010080835404028352916020019161116c565b820191906000526020600020905b81548152906001019060200180831161114f57829003601f168201915b50505050508152505090509392505050565b6002600054036111a157604051633ee5aeb560e01b815260040160405180910390fd5b6002600055565b60405163a47d29cb60e01b8152600481018390526001600160a01b03808316919085169063a47d29cb90602401602060405180830381865afa1580156111f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112169190614708565b6001600160a01b03161461125f5760405162461bcd60e51b815260206004820152601060248201526f1413540e881bdb9b1e48185c9d1a5cdd60821b6044820152606401610294565b505050565b60006112766040830160208401614725565b905060006112876020840184614740565b9050600082600881111561129d5761129d613b23565b036112ea5760405162461bcd60e51b815260206004820152601e60248201527f504d503a20706172616d5479706520697320756e636f6e6669677572656400006044820152606401610294565b6112fa606084016040850161475b565b65ffffffffffff16158061132457504261131a606085016040860161475b565b65ffffffffffff16115b6113a45760405162461bcd60e51b8152602060048201526044602482018190527f504d503a20706d704c6f636b6564416674657254696d657374616d7020697320908201527f696e20746865207061737420616e64206e6f7420756e6c696d6974656420287a60648201526365726f2960e01b608482015260a401610294565b60068160068111156113b8576113b8613b23565b11156114005760405162461bcd60e51b81526020600482015260176024820152762826a81d1024b73b30b634b21030baba3427b83a34b7b760491b6044820152606401610294565b600882600881111561141457611414613b23565b11156114325760405162461bcd60e51b815260040161029490614776565b600882600881111561144657611446613b23565b0361151c57600081600681111561145f5761145f613b23565b148061147c5750600381600681111561147a5761147a613b23565b145b806114985750600681600681111561149657611496613b23565b145b806114b4575060048160068111156114b2576114b2613b23565b145b61151c5760405162461bcd60e51b815260206004820152603360248201527f504d503a20537472696e6720706172616d73206d75737420686176652061727460448201527234b9ba159030baba3432b73a34b1b0ba34b7b760691b6064820152608401610294565b600281600681111561153057611530613b23565b148061154d5750600581600681111561154b5761154b613b23565b145b806115695750600481600681111561156757611567613b23565b145b806115855750600681600681111561158357611583613b23565b145b156115f257600061159c60808501606086016147a6565b6001600160a01b0316036115ed5760405162461bcd60e51b8152602060048201526018602482015277504d503a206175746841646472657373206973207a65726f60401b6044820152606401610294565b611659565b600061160460808501606086016147a6565b6001600160a01b0316146116595760405162461bcd60e51b815260206004820152601c60248201527b504d503a206175746841646472657373206973206e6f74207a65726f60201b6044820152606401610294565b600282600881111561166d5761166d613b23565b148061168a5750600882600881111561168857611688613b23565b145b806116a6575060068260088111156116a4576116a4613b23565b145b15611775576116b860808401846147c3565b1590506116d75760405162461bcd60e51b81526004016102949061480c565b60a0830135156117265760405162461bcd60e51b815260206004820152601a602482015279504d503a206d696e52616e6765206973206e6f7420656d70747960301b6044820152606401610294565b60c08301351561125f5760405162461bcd60e51b815260206004820152601a602482015279504d503a206d617852616e6765206973206e6f7420656d70747960301b6044820152606401610294565b600182600881111561178957611789613b23565b0361184957600061179d60808501856147c3565b9050116117ea5760405162461bcd60e51b815260206004820152601b60248201527a504d503a2073656c6563744f7074696f6e7320697320656d70747960281b6044820152606401610294565b6101006117fa60808501856147c3565b9050106116d75760405162461bcd60e51b815260206004820152601f60248201527f504d503a2073656c6563744f7074696f6e73206c656e677468203e20323535006044820152606401610294565b600382600881111561185d5761185d613b23565b148061187a5750600482600881111561187857611878613b23565b145b806118965750600582600881111561189457611894613b23565b145b806118b2575060078260088111156118b0576118b0613b23565b145b156119c5576118c460808401846147c3565b1590506118e35760405162461bcd60e51b81526004016102949061480c565b60048260088111156118f7576118f7613b23565b0361192c5760a083013560c08401358082126119255760405162461bcd60e51b815260040161029490614843565b5050505050565b60a083013560c08401358082106119555760405162461bcd60e51b815260040161029490614843565b600784600881111561196957611969613b23565b03611925576001600160401b038111156119255760405162461bcd60e51b815260206004820152601e60248201527f504d503a206d617852616e6765203e205f54494d455354414d505f4d415800006044820152606401610294565b60405162461bcd60e51b815260040161029490614776565b60006119e882611d4c565b9050600081518451146119fd57506001611a65565b60005b8451811015611a6357611a4e838281518110611a1e57611a1e613d3f565b6020026020010151868381518110611a3857611a38613d3f565b6020026020010151612fa090919063ffffffff16565b611a5b5760019150611a63565b600101611a00565b505b8015610713576107138385611aa5565b600081604051602001611a889190614876565b604051602081830303815290604052805190602001209050919050565b80516000816001600160401b03811115611ac157611ac16139be565b604051908082528060200260200182016040528015611aea578160200160208202803683370190505b5090506000805b83811015611b5c5781838281518110611b0c57611b0c613d3f565b60200260200101906001600160401b031690816001600160401b031681525050848181518110611b3e57611b3e613d3f565b60200260200101515182611b529190614889565b9150600101611af1565b506001600160401b03811115611bb25760405162461bcd60e51b815260206004820152601b60248201527a13d9999cd95d08195e18d959591cc81d5a5b9d0d8d081b1a5b5a5d602a1b6044820152606401610294565b600081611bc085600861489c565b611bcb906008614889565b611bd59190614889565b90506000611be4826020614889565b6001600160401b03811115611bfb57611bfb6139be565b6040519080825280601f01601f191660200182016040528015611c25576020820181803683370190505b5060c086901b602082015290506028810160005b86811015611c7e576000868281518110611c5557611c55613d3f565b602090810291909101015160c01b6001600160c01b031916835250600890910190600101611c39565b5060005b86811015611d18576000888281518110611c9e57611c9e613d3f565b6020026020010151905060008151905060006020830190506000602083611cc591906148c9565b90506000611cd46020856148dd565b905060005b82811015611cf7578351885260209788019790930192600101611cd9565b508015611d075782518752958601955b505060019093019250611c82915050565b505081815280611d2781612fc5565b88546001600160a01b0319166001600160a01b03919091161790975550505050505050565b80546060906001600160a01b0316611d90576040805160008082526020820190925290611d89565b6060815260200190600190039081611d745790505b5092915050565b8154600090611da7906001600160a01b031661306a565b602081015190915060c01c806001600160401b03811115611dca57611dca6139be565b604051908082528060200260200182016040528015611dfd57816020015b6060815260200190600190039081611de85790505b50925060005b81811015611f6e576000808084611e1b856001614889565b03611e49576000865190506028870193506008850284015160c01c9250600886026008018103915050611e6b565b6028860192506008840283015160c01c91506008600185010283015160c01c90505b6000611e7783836148f1565b6001600160401b031690506000611e8f826020614889565b6001600160401b03811115611ea657611ea66139be565b6040519080825280601f01601f191660200182016040528015611ed0576020820181803683370190505b5090506020810160005b83811015611f36576000816001600160401b038816611efa8c600861489c565b611f05906028614889565b611f0f9190614889565b611f199190614889565b8b0151835250602091820191611f2f9082614889565b9050611eda565b50819050828152818a8881518110611f5057611f50613d3f565b60200260200101819052505050505050508080600101915050611e03565b505050919050565b6000610231620f4240836148c9565b815460ff828116911614611ffe5760405162461bcd60e51b815260206004820152603a60248201527f504d503a20706172616d206e6f742070617274206f66206d6f737420726563656044820152796e746c7920636f6e6669677572656420504d5020706172616d7360301b6064820152608401610294565b815462010000900460ff16600881111561201a5761201a613b23565b8360200151600881111561203057612030613b23565b146120775760405162461bcd60e51b81526020600482015260176024820152760a09aa07440e0c2e4c2daa8f2e0ca40dad2e6dac2e8c6d604b1b6044820152606401610294565b60008360200151600881111561208f5761208f613b23565b036120e85760405162461bcd60e51b8152602060048201526024808201527f504d503a20696e70757420706172616d5479706520697320756e636f6e6669676044820152631d5c995960e21b6064820152608401610294565b8154610100900460ff16600081600681111561210657612106613b23565b036121635761211686863361308b565b61215e5760405162461bcd60e51b81526020600482015260196024820152781413540e88185c9d1a5cdd08185d5d1a081c995c5d5a5c9959603a1b6044820152606401610294565b61250e565b600181600681111561217757612177613b23565b036121d3576121878686336129b9565b61215e5760405162461bcd60e51b815260206004820152601e60248201527f504d503a20746f6b656e206f776e6572206175746820726571756972656400006044820152606401610294565b60038160068111156121e7576121e7613b23565b03612266576121f786863361308b565b8061220857506122088686336129b9565b61215e5760405162461bcd60e51b815260206004820152602960248201527f504d503a2061727469737420616e6420746f6b656e206f776e65722061757468604482015268081c995c5d5a5c995960ba1b6064820152608401610294565b600281600681111561227a5761227a613b23565b036122dc578254600160481b90046001600160a01b0316331461215e5760405162461bcd60e51b815260206004820152601a6024820152791413540e881859191c995cdcc8185d5d1a081c995c5d5a5c995960321b6044820152606401610294565b60068160068111156122f0576122f0613b23565b036123965761230086863361308b565b8061231b57508254600160481b90046001600160a01b031633145b8061232c575061232c8686336129b9565b61215e5760405162461bcd60e51b815260206004820152603560248201527f504d503a2061727469737420616e6420746f6b656e206f776e657220616e64206044820152741859191c995cdcc8185d5d1a081c995c5d5a5c9959605a1b6064820152608401610294565b60048160068111156123aa576123aa613b23565b0361242f576123ba86863361308b565b806123d557508254600160481b90046001600160a01b031633145b61215e5760405162461bcd60e51b815260206004820152602560248201527f504d503a2061727469737420616e6420616464726573732061757468207265716044820152641d5a5c995960da1b6064820152608401610294565b600581600681111561244357612443613b23565b036124cc578254600160481b90046001600160a01b031633148061246d575061246d8686336129b9565b61215e5760405162461bcd60e51b815260206004820152602a60248201527f504d503a20746f6b656e206f776e657220616e642061646472657373206175746044820152691a081c995c5d5a5c995960b21b6064820152608401610294565b60405162461bcd60e51b81526020600482015260176024820152762826a81d1034b73b30b634b21030baba3427b83a34b7b760491b6044820152606401610294565b50815462010000900460ff16600881600881111561252e5761252e613b23565b146127c057600181600881111561254757612547613b23565b036125bf5782546040850151600160e81b90910460ff16116125ba5760405162461bcd60e51b815260206004820152602660248201527f504d503a2073656c6563744f7074696f6e7320696e646578206f7574206f6620604482015265626f756e647360d01b6064820152608401610294565b6127c0565b60028160088111156125d3576125d3613b23565b0361264557604084015115806125ed575060408401516001145b6125ba5760405162461bcd60e51b8152602060048201526024808201527f504d503a20626f6f6c20706172616d2076616c7565206d7573742062652030206044820152636f72203160e01b6064820152608401610294565b600381600881111561265957612659613b23565b14806126765750600581600881111561267457612674613b23565b145b156126b757826002015484604001511015801561269b57508260030154846040015111155b6125ba5760405162461bcd60e51b815260040161029490614911565b60048160088111156126cb576126cb613b23565b0361270b57600283015460408501511280159061269b57506003830154604085015113156125ba5760405162461bcd60e51b815260040161029490614911565b600781600881111561271f5761271f613b23565b0361273f5760408401516001600160401b031080159061269b57506127c0565b600681600881111561275357612753613b23565b0361277f57604084015162ffffff10156125ba5760405162461bcd60e51b815260040161029490614948565b60405162461bcd60e51b8152602060048201526016602482015275504d503a20696e76616c696420706172616d5479706560501b6044820152606401610294565b6008835462010000900460ff1660088111156127de576127de613b23565b036128cb576040840151156128485760405162461bcd60e51b815260206004820152602a60248201527f504d503a2076616c7565206d75737420626520656d70747920666f7220737472604482015269696e6720706172616d7360b01b6064820152608401610294565b8360600151156128c65761285d86863361308b565b6128c65760405162461bcd60e51b815260206004820152603460248201527f504d503a20617274697374206175746820726571756972656420746f20636f6e6044820152736669677572652061727469737420737472696e6760601b6064820152608401610294565b6129b1565b608084015151156129395760405162461bcd60e51b815260206004820152603260248201527f504d503a206e6f6e2d737472696e6720706172616d206d757374206861766520604482015271656d70747920737472696e672076616c756560701b6064820152608401610294565b8360600151156129b15760405162461bcd60e51b815260206004820152603d60248201527f504d503a2061727469737420737472696e672063616e6e6f7420626520636f6e60448201527f6669677572656420666f72206e6f6e2d737472696e6720706172616d730000006064820152608401610294565b505050505050565b6040516331a9108f60e11b81526004810184905260009081906001600160a01b03851690636352211e90602401602060405180830381865afa158015612a03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a279190614708565b9050826001600160a01b0316816001600160a01b031603612a4c576001915050610a33565b604051632e7cda1d60e21b81526001600160a01b038481166004830152828116602483015285811660448301526064820187905271706f73746d696e74706172616d657465727360701b60848301527f0000000000000000000000000000000000000000000000000000000000000000169063b9f368749060a401602060405180830381865afa158015612ae4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b089190614978565b95945050505050565b6000612b1c83613125565b8015610a335750610a338383613158565b805460009060609060ff1682816008811115612b4b57612b4b613b23565b1480612b835750845462010000900460ff166008811115612b6e57612b6e613b23565b816008811115612b8057612b80613b23565b14155b15612ba1575050604080516020810190915260008082529150612f99565b6008855462010000900460ff166008811115612bbf57612bbf613b23565b03612cbd576000846002018054612bd5906142bc565b90501115612c7957600184600201808054612bef906142bc565b80601f0160208091040260200160405190810160405280929190818152602001828054612c1b906142bc565b8015612c685780601f10612c3d57610100808354040283529160200191612c68565b820191906000526020600020905b815481529060010190602001808311612c4b57829003601f168201915b505050505090509250925050612f99565b6000846003018054612c8a906142bc565b90501115612ca457600184600301808054612bef906142bc565b5050604080516020810190915260008082529150612f99565b6001816008811115612cd157612cd1613b23565b03612d235784546001850154600160e81b90910460ff1611612d06575050604080516020810190915260008082529150612f99565b600184810154612d1990878301906131e2565b9250925050612f99565b6002816008811115612d3757612d37613b23565b03612d915760018481015415612d6957604051806040016040528060048152602001637472756560e01b815250612d19565b6040518060400160405280600581526020016466616c736560d81b8152509250925050612f99565b6003816008811115612da557612da5613b23565b1480612dc257506006816008811115612dc057612dc0613b23565b145b80612dde57506007816008811115612ddc57612ddc613b23565b145b80612dfa57506005816008811115612df857612df8613b23565b145b15612eeb57600184015460006006836008811115612e1a57612e1a613b23565b14612e29576003870154612e2e565b62ffffff5b905060006006846008811115612e4657612e46613b23565b14612e55576002880154612e58565b60005b905080831080612e6757508183115b15612e8b576000604051806020016040528060008152509550955050505050612f99565b6005846008811115612e9f57612e9f613b23565b03612ebc576001612eaf8461338c565b9550955050505050612f99565b6006846008811115612ed057612ed0613b23565b03612ee0576001612eaf84613439565b6001612eaf84613522565b6004816008811115612eff57612eff613b23565b03612f565760018401546002860154811280612f1e5750600386015481135b15612f4057600060405180602001604052806000815250935093505050612f99565b6001612f4b826135b4565b935093505050612f99565b60405162461bcd60e51b8152602060048201526018602482015277504d503a20556e68616e646c656420506172616d5479706560401b6044820152606401610294565b9250929050565b600081518351148015610a335750508051602091820120825192909101919091201490565b60008082604051602001612fd99190614995565b6040516020818303038152906040529050600081604051602001612ffd91906149bb565b60405160208183030381529060405290508051602082016000f092506001600160a01b0383166130635760405162461bcd60e51b81526020600482015260116024820152701111541313d65351539517d19052531151607a1b6044820152606401610294565b5050919050565b6060610231826001613086816001600160a01b0384163b6149ef565b613626565b60008061309785611f76565b9050826001600160a01b0316846001600160a01b031663a47d29cb836040518263ffffffff1660e01b81526004016130d191815260200190565b602060405180830381865afa1580156130ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131129190614708565b6001600160a01b03161495945050505050565b6000613138826301ffc9a760e01b613158565b80156102315750613151826001600160e01b0319613158565b1592915050565b6040516001600160e01b031982166024820152600090819060440160408051601f19818403018152919052602080820180516001600160e01b03166301ffc9a760e01b178152825192935060009283928392909183918a617530fa92503d915060005190508280156131cb575060208210155b80156131d75750600081115b979650505050505050565b81546060906001600160a01b031661320c5760405162461bcd60e51b815260040161029490614a02565b8254600090613223906001600160a01b031661306a565b9050600080600080602085015160c01c90508087106132545760405162461bcd60e51b815260040161029490614a02565b80613260886001614889565b0361328e576000855190506028860194506008880285015160c01c93506008820260080181039250506132b0565b6028850193506008870284015160c01c92506008600188010284015160c01c91505b60006132bc84846148f1565b6001600160401b0316905060006132d4826020614889565b6001600160401b038111156132eb576132eb6139be565b6040519080825280601f01601f191660200182016040528015613315576020820181803683370190505b5090506020810160005b8381101561337b576000816001600160401b03891661333f88600861489c565b61334a906028614889565b6133549190614889565b61335e9190614889565b8a01518352506020918201916133749082614889565b905061331f565b505090815298975050505050505050565b6060600061339b600a80614b13565b6133a590846148c9565b905060006133b4600a80614b13565b6133be90856148dd565b905060006133cb83613522565b905060006133d883613522565b90505b600a8151101561340c57806040516020016133f69190614b1f565b60405160208183030381529060405290506133db565b818160405160200161341f929190614b3b565b604051602081830303815290604052945050505050919050565b6040805160078082528183019092526060918391600091602082018180368337019050509050602360f81b8160008151811061347757613477613d3f565b60200101906001600160f81b031916908160001a90535060065b8015613503576f181899199a1a9b1b9c1cb0b131b232b360811b83600f16601081106134bf576134bf613d3f565b1a60f81b8282815181106134d5576134d5613d3f565b60200101906001600160f81b031916908160001a90535060049290921c916134fc81614b77565b9050613491565b508115610a335760405162461bcd60e51b815260040161029490614948565b6060600061352f83613649565b60010190506000816001600160401b0381111561354e5761354e6139be565b6040519080825280601f01601f191660200182016040528015613578576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461358257509392505050565b6060600082126135d357604051806020016040528060008152506135ee565b604051806040016040528060018152602001602d60f81b8152505b6135ff6135fa8461371f565b613522565b604051602001613610929190614b8e565b6040516020818303038152906040529050919050565b60408051603f8301601f19168101909152818152818360208301863c9392505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106136885772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6904ee2d6d415b85acef8160201b83106136b2576904ee2d6d415b85acef8160201b830492506020015b662386f26fc1000083106136d057662386f26fc10000830492506010015b6305f5e10083106136e8576305f5e100830492506008015b61271083106136fc57612710830492506004015b6064831061370e576064830492506002015b600a83106102315760010192915050565b6000808212156137325781600003610231565b5090565b60006020828403121561374857600080fd5b81356001600160e01b031981168114610a3357600080fd5b6001600160a01b038116811461377557600080fd5b50565b803561378381613760565b919050565b60008083601f84011261379a57600080fd5b5081356001600160401b038111156137b157600080fd5b6020830191508360208260051b8501011115612f9957600080fd5b600080600080606085870312156137e257600080fd5b84356137ed81613760565b93506020850135925060408501356001600160401b0381111561380f57600080fd5b61381b87828801613788565b95989497509550505050565b6000806040838503121561383a57600080fd5b823561384581613760565b946020939093013593505050565b60005b8381101561386e578181015183820152602001613856565b50506000910152565b6000815180845261388f816020860160208601613853565b601f01601f19169290920160200192915050565b6000608082016080835280875180835260a08501915060a08160051b86010192506020808a0160005b838110156138fa57609f198887030185526138e8868351613877565b955093820193908201906001016138cc565b5050505060ff9690961660208401526001600160a01b039485166040840152929093166060909101529392505050565b60008060006060848603121561393f57600080fd5b833561394a81613760565b9250602084013561395a81613760565b929592945050506040919091013590565b6000806000806080858703121561398157600080fd5b843561398c81613760565b93506020850135925060408501356139a381613760565b915060608501356139b381613760565b939692955090935050565b634e487b7160e01b600052604160045260246000fd5b60405160e081016001600160401b03811182821017156139f6576139f66139be565b60405290565b604080519081016001600160401b03811182821017156139f6576139f66139be565b604051601f8201601f191681016001600160401b0381118282101715613a4657613a466139be565b604052919050565b60006001600160401b03821115613a6757613a676139be565b50601f01601f191660200190565b600082601f830112613a8657600080fd5b8135613a99613a9482613a4e565b613a1e565b818152846020838601011115613aae57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215613ae057600080fd5b8335613aeb81613760565b92506020840135915060408401356001600160401b03811115613b0d57600080fd5b613b1986828701613a75565b9150509250925092565b634e487b7160e01b600052602160045260246000fd5b60078110613b4957613b49613b23565b9052565b60098110613b4957613b49613b23565b60008282518085526020808601955060208260051b8401016020860160005b84811015613baa57601f19868403018952613b98838351613877565b98840198925090830190600101613b7c565b5090979650505050505050565b60208152613bcb60208201835160ff169052565b60006020830151613bdf6040840182613b39565b506040830151613bf26060840182613b4d565b50606083015165ffffffffffff811660808401525060808301516001600160a01b03811660a08401525060a083015160ff811660c08401525060c08301516101208060e0850152613c47610140850183613b5d565b60e086015161010086810191909152909501519301929092525090919050565b600082825180855260208086019550808260051b84010181860160005b84811015613baa57601f19868403018952815160408151818652613caa82870182613877565b91505085820151915084810386860152613cc48183613877565b9a86019a9450505090830190600101613c84565b602081526000610a336020830184613c67565b60208152613cfd602082018351613b4d565b602082015160408201526000604083015160806060840152613d2260a0840182613877565b90506060840151601f19848303016080850152612b088282613877565b634e487b7160e01b600052603260045260246000fd5b60008235603e19833603018112613d6b57600080fd5b9190910192915050565b6000808335601e19843603018112613d8c57600080fd5b8301803591506001600160401b03821115613da657600080fd5b602001915036819003821315612f9957600080fd5b6000823560de19833603018112613d6b57600080fd5b634e487b7160e01b600052601160045260246000fd5b60ff818116838216019081111561023157610231613dd1565b80356007811061378357600080fd5b80356009811061378357600080fd5b803565ffffffffffff8116811461378357600080fd5b60006001600160401b03821115613e4d57613e4d6139be565b5060051b60200190565b600082601f830112613e6857600080fd5b81356020613e78613a9483613e34565b82815260059290921b84018101918181019086841115613e9757600080fd5b8286015b84811015613ed65780356001600160401b03811115613eba5760008081fd5b613ec88986838b0101613a75565b845250918301918301613e9b565b509695505050505050565b600060e08236031215613ef357600080fd5b613efb6139d4565b613f0483613e00565b8152613f1260208401613e0f565b6020820152613f2360408401613e1e565b6040820152613f3460608401613778565b606082015260808301356001600160401b03811115613f5257600080fd5b613f5e36828601613e57565b60808301525060a083013560a082015260c083013560c082015280915050919050565b6000808335601e19843603018112613f9857600080fd5b83016020810192503590506001600160401b03811115613fb757600080fd5b803603821315612f9957600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6000838385526020808601955060208560051b8301018460005b87811015613baa57848303601f190189526140248288613f81565b61402f858284613fc6565b9a86019a9450505090830190600101614009565b6001600160a01b038681168252602080830187905260806040808501829052848201879052600093919260a0929183870160058a901b880185018b885b8c8110156141bf578a8303609f190184528135368f9003603e190181126140a657600080fd5b8e016140b28180613f81565b8786526140c28887018284613fc6565b9150508782013560de198336030181126140db57600080fd5b858203898701529091019060e06140fa826140f585613e00565b613b39565b614105898401613e0f565b6141118a840182613b4d565b5065ffffffffffff614124898501613e1e565b168883015260608084013561413881613760565b8b1690830152828c013536849003601e1901811261415557600080fd5b830189810190356001600160401b0381111561417057600080fd5b8060051b360382131561418257600080fd5b828e8501526141948385018284613fef565b858e0135858f015260c095860135959094019490945250509487019493505090850190600101614080565b505060ff8a1660608a015296506141d895505050505050565b9695505050505050565b60008235609e19833603018112613d6b57600080fd5b801515811461377557600080fd5b600060a0823603121561421857600080fd5b60405160a081016001600160401b03808211838310171561423b5761423b6139be565b81604052843591508082111561425057600080fd5b61425c36838701613a75565b835261426a60208601613e0f565b60208401526040850135604084015260608501359150614289826141f8565b81606084015260808501359150808211156142a357600080fd5b506142b036828601613a75565b60808301525092915050565b600181811c908216806142d057607f821691505b6020821081036142f057634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561125f576000816000526020600020601f850160051c8101602086101561431f5750805b601f850160051c820191505b818110156129b15782815560010161432b565b81516001600160401b03811115614357576143576139be565b61436b8161436584546142bc565b846142f6565b602080601f8311600181146143a057600084156143885750858301515b600019600386901b1c1916600185901b1785556129b1565b600085815260208120601f198616915b828110156143cf578886015182559484019460019091019084016143b0565b50858210156143ed5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60018060a01b0384168152826020820152606060408201526000825160a0606084015261442e610100840182613877565b905060208401516144426080850182613b4d565b50604084015160a08401526060840151151560c08401526080840151838203605f190160e08501526131d78282613877565b6001600160a01b0385168152602080820185905260606040808401829052838201859052600092608091828601600588901b870184018987805b8b81101561455d578a8403607f190185528235368e9003609e190181126144d3578283fd5b8d0160a06144e18280613f81565b8288526144f18389018284613fc6565b92505050614500898301613e0f565b61450c8a880182613b4d565b5087820135888701528a820135614522816141f8565b1515868c0152614534828b0183613f81565b92508682038b880152614548828483613fc6565b978a01979650505092870192506001016144ae565b50919d9c50505050505050505050505050565b60006001820161458257614582613dd1565b5060010190565b60018060a01b0384168152826020820152606060408201526000612b086060830184613c67565b600082601f8301126145c157600080fd5b81516145cf613a9482613a4e565b8181528460208386010111156145e457600080fd5b6145f5826020830160208701613853565b949350505050565b6000602080838503121561461057600080fd5b82516001600160401b038082111561462757600080fd5b818501915085601f83011261463b57600080fd5b8151614649613a9482613e34565b81815260059190911b8301840190848101908883111561466857600080fd5b8585015b838110156146fb578051858111156146845760008081fd5b86016040818c03601f190181131561469c5760008081fd5b6146a46139fc565b89830151888111156146b65760008081fd5b6146c48e8c838701016145b0565b8252509082015190878211156146da5760008081fd5b6146e88d8b848601016145b0565b818b01528552505091860191860161466c565b5098975050505050505050565b60006020828403121561471a57600080fd5b8151610a3381613760565b60006020828403121561473757600080fd5b610a3382613e0f565b60006020828403121561475257600080fd5b610a3382613e00565b60006020828403121561476d57600080fd5b610a3382613e1e565b602080825260169082015275504d503a20496e76616c696420706172616d5479706560501b604082015260600190565b6000602082840312156147b857600080fd5b8135610a3381613760565b6000808335601e198436030181126147da57600080fd5b8301803591506001600160401b038211156147f457600080fd5b6020019150600581901b3603821315612f9957600080fd5b6020808252601f908201527f504d503a2073656c6563744f7074696f6e73206973206e6f7420656d70747900604082015260600190565b602080825260199082015278504d503a206d696e52616e6765203e3d206d617852616e676560381b604082015260600190565b602081526000610a336020830184613877565b8082018082111561023157610231613dd1565b808202811582820484141761023157610231613dd1565b634e487b7160e01b600052601260045260246000fd5b6000826148d8576148d86148b3565b500490565b6000826148ec576148ec6148b3565b500690565b6001600160401b03828116828216039080821115611d8957611d89613dd1565b6020808252601e908201527f504d503a20706172616d2076616c7565206f7574206f6620626f756e64730000604082015260600190565b6020808252601690820152752826a81d1034b73b30b634b2103432bc1031b7b637b960511b604082015260600190565b60006020828403121561498a57600080fd5b8151610a33816141f8565b60008152600082516149ae816001850160208701613853565b9190910160010192915050565b6a600b5981380380925939f360a81b815281516000906149e281600b850160208701613853565b91909101600b0192915050565b8181038181111561023157610231613dd1565b602080825260139082015272496e646578206f7574206f6620626f756e647360681b604082015260600190565b600181815b80851115614a6a578160001904821115614a5057614a50613dd1565b80851615614a5d57918102915b93841c9390800290614a34565b509250929050565b600082614a8157506001610231565b81614a8e57506000610231565b8160018114614aa45760028114614aae57614aca565b6001915050610231565b60ff841115614abf57614abf613dd1565b50506001821b610231565b5060208310610133831016604e8410600b8410161715614aed575081810a610231565b614af78383614a2f565b8060001904821115614b0b57614b0b613dd1565b029392505050565b6000610a338383614a72565b600360fc1b8152600082516149ae816001850160208701613853565b60008351614b4d818460208801613853565b601760f91b9083019081528351614b6b816001840160208801613853565b01600101949350505050565b600081614b8657614b86613dd1565b506000190190565b60008351614ba0818460208801613853565b835190830190614bb4818360208801613853565b0194935050505056fea2646970667358221220e459e5671d26a3458b94f15461f1eb1122ece45eb79752b9b995a5f330c07c8c64736f6c63430008160033",
|
|
626
|
+
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100995760003560e01c806301ffc9a71461009e57806313bfffac146100c65780633c303afb1461010557806354ca22371461011a5780636f8637a01461013d57806398a6e11814610150578063af544a611461017a578063b69c984d1461018d578063ba8dba48146101a0578063c2b4f411146101c0578063dc809b1a146101e0575b600080fd5b6100b16100ac366004613736565b610200565b60405190151581526020015b60405180910390f35b6100ed7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100bd565b6101186101133660046137cc565b610237565b005b61012d610128366004613827565b610719565b6040516100bd94939291906138a3565b61011861014b3660046137cc565b61077c565b61016c71706f73746d696e74706172616d657465727360701b81565b6040519081526020016100bd565b6100b161018836600461392a565b610a23565b61011861019b36600461396b565b610a3a565b6101b36101ae366004613acb565b610c20565b6040516100bd9190613bb7565b6101d36101ce366004613827565b610d88565b6040516100bd9190613cd8565b6101f36101ee366004613acb565b610fa8565b6040516100bd9190613ceb565b60006001600160e01b0319821663c2b4f41160e01b148061023157506301ffc9a760e01b6001600160e01b03198316145b92915050565b61023f61117e565b61024a8484336111a8565b8061010081111561029d5760405162461bcd60e51b8152602060048201526018602482015277504d503a204f6e6c79203c3d2032353620636f6e6669677360401b60448201526064015b60405180910390fd5b60005b818110156103925760008484838181106102bc576102bc613d3f565b90506020028101906102ce9190613d55565b6102d89080613d75565b91505080158015906102eb575061010081105b61034f5760405162461bcd60e51b815260206004820152602f60248201527f504d503a20706d704b65792063616e6e6f7420626520656d707479206f72206560448201526e78636565642032353520627974657360881b6064820152608401610294565b61038985858481811061036457610364613d3f565b90506020028101906103769190613d55565b610384906020810190613dbb565b611264565b506001016102a0565b506001600160a01b0385166000908152600160208181526040808420888552909152822060028101549092916103cb9160ff1690613de7565b60028301805460ff191660ff831617905590506000836001600160401b038111156103f8576103f86139be565b60405190808252806020026020018201604052801561042b57816020015b60608152602001906001900390816104165790505b50905060005b848110156104c25786868281811061044b5761044b613d3f565b905060200281019061045d9190613d55565b6104679080613d75565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050845185925084915081106104af576104af613d3f565b6020908102919091010152600101610431565b506104cd81846119dd565b60005b848110156106c55760008460010160006105028585815181106104f5576104f5613d3f565b6020026020010151611a75565b8152602081019190915260400160002080549091506301000000900465ffffffffffff1680158061053257504281115b61058f5760405162461bcd60e51b815260206004820152602860248201527f504d503a20706d70206973206c6f636b656420616e642063616e6e6f74206265604482015267081d5c19185d195960c21b6064820152608401610294565b50805460ff191660ff851617815560008888848181106105b1576105b1613d3f565b90506020028101906105c39190613d55565b6105d1906020810190613dbb565b6105da90613ee1565b8051835491925090839061ff0019166101008360068111156105fe576105fe613b23565b021790555060208101518254839062ff000019166201000083600881111561062857610628613b23565b02179055506040810151825460608301516080840151805160ff16600160e81b0260ff60e81b196001600160a01b03909316600160481b02600160481b600160e81b031965ffffffffffff909616630100000002959095166301000000600160e81b03199094169390931793909317161783556106a9906001840190611aa5565b60a0810151600283015560c001516003909101556001016104d0565b507f935e8b8dc0c19500cc0d4c29698f1af13be297f62b71eda8dd0e1a0bc6927fca88888888866040516106fd959493929190614043565b60405180910390a1505050506107136001600055565b50505050565b6001600160a01b03821660009081526001602090815260408083208484529091528120606091908190819061074d81611d4c565b6002820154600390920154909860ff831698506001600160a01b03610100909304831697509116945092505050565b61078461117e565b6001600160a01b0384166000908152600160205260408120816107a686611f76565b8152602001908152602001600020905060005b828110156109da57600061082e8585848181106107d8576107d8613d3f565b90506020028101906107ea91906141e2565b6107f49080613d75565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a7592505050565b9050600085858481811061084457610844613d3f565b905060200281019061085691906141e2565b61085f90614206565b6001600160a01b03891660009081526002602081815260408084208c85528252808420878552825280842060018a019092529092209087015492935090916108b1908a908c908690859060ff16611f85565b805482546201000090910460ff1690839060ff191660018360088111156108da576108da613b23565b02179055506008815462010000900460ff1660088111156108fd576108fd613b23565b0361093a578260600151156109265760808301516002830190610920908261433e565b50610945565b60808301516003830190610920908261433e565b604083015160018301555b600286015461010090046001600160a01b0316156109ca57600286015460405163677e713560e01b81526101009091046001600160a01b03169063677e713590610997908d908d9088906004016143fd565b600060405180830381600087803b1580156109b157600080fd5b505af11580156109c5573d6000803e3d6000fd5b505050505b5050600190920191506107b99050565b507f8ab4d1a907cb32efca4abfcd8bfebaffdae90518a8e48d380e85ad5083fdc13185858585604051610a109493929190614474565b60405180910390a1506107136001600055565b6000610a308284866129b9565b90505b9392505050565b610a4261117e565b610a4d8484336111a8565b6001600160a01b03821615610ae157610a6d8263677e713560e01b612b11565b610ae1576040805162461bcd60e51b81526020600482015260248101919091527f504d503a20746f6b656e504d50506f7374436f6e666967486f6f6b20646f657360448201527f206e6f7420696d706c656d656e742049504d50436f6e666967757265486f6f6b6064820152608401610294565b6001600160a01b03811615610b8157610b01816358f8699f60e01b612b11565b610b815760405162461bcd60e51b8152602060048201526044602482018190527f504d503a20746f6b656e504d50526561644175676d656e746174696f6e486f6f908201527f6b20646f6573206e6f7420696d706c656d656e742049504d504175676d656e74606482015263486f6f6b60e01b608482015260a401610294565b6001600160a01b038481166000818152600160209081526040808320888452825291829020600281018054610100600160a81b031916610100898816908102919091179091556003820180546001600160a01b031916968816968717905583519485529184018890529183015260608201929092527fd7a93580965b5dbb5c8a723af5a48167de5f41dc65e456be819bf739da05ce3890608001610a10565b610c6f60408051610120810190915260008082526020820190815260200160008152600060208201819052604082018190526060808301829052608083015260a0820181905260c09091015290565b6001600160a01b038416600090815260016020818152604080842087855290915282200181610c9d85611a75565b8152602080820192909252604001600020805460ff8082168652919350918401916101009004166006811115610cd557610cd5613b23565b90816006811115610ce857610ce8613b23565b9052508054604083019062010000900460ff166008811115610d0c57610d0c613b23565b90816008811115610d1f57610d1f613b23565b90525080546301000000810465ffffffffffff166060840152600160481b81046001600160a01b03166080840152600160e81b900460ff1660a0830152610d6860018201611d4c565b60c0830152600281015460e0830152600301546101008201529392505050565b60606000610d9583611f76565b6001600160a01b03851660009081526001602090815260408083208484529091528120919250610dc482611d4c565b8051909150806001600160401b03811115610de157610de16139be565b604051908082528060200260200182016040528015610e2657816020015b6040805180820190915260608082526020820152815260200190600190039081610dff5790505b5094506000805b82811015610f08576000610e4c8583815181106104f5576104f5613d3f565b600081815260018801602090815260408083206001600160a01b038f168452600283528184208e85528352818420858552909252822092935090918291610e9291612b2d565b9150915081610ea357505050610f00565b6040518060400160405280888681518110610ec057610ec0613d3f565b60200260200101518152602001828152508a8681518110610ee357610ee3613d3f565b60200260200101819052508480610ef990614570565b9550505050505b600101610e2d565b5080865260038401546001600160a01b031615610f9d5760038401546040516358f8699f60e01b81526001600160a01b03909116906358f8699f90610f55908b908b908b90600401614589565b600060405180830381865afa158015610f72573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f9a91908101906145fd565b95505b505050505092915050565b610fd260408051608081019091528060008152600060208201526060604082018190529081015290565b6001600160a01b0384166000908152600260209081526040808320868452909152812090610fff84611a75565b8152602081019190915260409081016000208151608081019092528054829060ff16600881111561103257611032613b23565b600881111561104357611043613b23565b815260200160018201548152602001600282018054611061906142bc565b80601f016020809104026020016040519081016040528092919081815260200182805461108d906142bc565b80156110da5780601f106110af576101008083540402835291602001916110da565b820191906000526020600020905b8154815290600101906020018083116110bd57829003601f168201915b505050505081526020016003820180546110f3906142bc565b80601f016020809104026020016040519081016040528092919081815260200182805461111f906142bc565b801561116c5780601f106111415761010080835404028352916020019161116c565b820191906000526020600020905b81548152906001019060200180831161114f57829003601f168201915b50505050508152505090509392505050565b6002600054036111a157604051633ee5aeb560e01b815260040160405180910390fd5b6002600055565b60405163a47d29cb60e01b8152600481018390526001600160a01b03808316919085169063a47d29cb90602401602060405180830381865afa1580156111f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112169190614708565b6001600160a01b03161461125f5760405162461bcd60e51b815260206004820152601060248201526f1413540e881bdb9b1e48185c9d1a5cdd60821b6044820152606401610294565b505050565b60006112766040830160208401614725565b905060006112876020840184614740565b9050600082600881111561129d5761129d613b23565b036112ea5760405162461bcd60e51b815260206004820152601e60248201527f504d503a20706172616d5479706520697320756e636f6e6669677572656400006044820152606401610294565b6112fa606084016040850161475b565b65ffffffffffff16158061132457504261131a606085016040860161475b565b65ffffffffffff16115b6113a45760405162461bcd60e51b8152602060048201526044602482018190527f504d503a20706d704c6f636b6564416674657254696d657374616d7020697320908201527f696e20746865207061737420616e64206e6f7420756e6c696d6974656420287a60648201526365726f2960e01b608482015260a401610294565b60068160068111156113b8576113b8613b23565b11156114005760405162461bcd60e51b81526020600482015260176024820152762826a81d1024b73b30b634b21030baba3427b83a34b7b760491b6044820152606401610294565b600882600881111561141457611414613b23565b11156114325760405162461bcd60e51b815260040161029490614776565b600882600881111561144657611446613b23565b0361151c57600081600681111561145f5761145f613b23565b148061147c5750600381600681111561147a5761147a613b23565b145b806114985750600681600681111561149657611496613b23565b145b806114b4575060048160068111156114b2576114b2613b23565b145b61151c5760405162461bcd60e51b815260206004820152603360248201527f504d503a20537472696e6720706172616d73206d75737420686176652061727460448201527234b9ba159030baba3432b73a34b1b0ba34b7b760691b6064820152608401610294565b600281600681111561153057611530613b23565b148061154d5750600581600681111561154b5761154b613b23565b145b806115695750600481600681111561156757611567613b23565b145b806115855750600681600681111561158357611583613b23565b145b156115f257600061159c60808501606086016147a6565b6001600160a01b0316036115ed5760405162461bcd60e51b8152602060048201526018602482015277504d503a206175746841646472657373206973207a65726f60401b6044820152606401610294565b611659565b600061160460808501606086016147a6565b6001600160a01b0316146116595760405162461bcd60e51b815260206004820152601c60248201527b504d503a206175746841646472657373206973206e6f74207a65726f60201b6044820152606401610294565b600282600881111561166d5761166d613b23565b148061168a5750600882600881111561168857611688613b23565b145b806116a6575060068260088111156116a4576116a4613b23565b145b15611775576116b860808401846147c3565b1590506116d75760405162461bcd60e51b81526004016102949061480c565b60a0830135156117265760405162461bcd60e51b815260206004820152601a602482015279504d503a206d696e52616e6765206973206e6f7420656d70747960301b6044820152606401610294565b60c08301351561125f5760405162461bcd60e51b815260206004820152601a602482015279504d503a206d617852616e6765206973206e6f7420656d70747960301b6044820152606401610294565b600182600881111561178957611789613b23565b0361184957600061179d60808501856147c3565b9050116117ea5760405162461bcd60e51b815260206004820152601b60248201527a504d503a2073656c6563744f7074696f6e7320697320656d70747960281b6044820152606401610294565b6101006117fa60808501856147c3565b9050106116d75760405162461bcd60e51b815260206004820152601f60248201527f504d503a2073656c6563744f7074696f6e73206c656e677468203e20323535006044820152606401610294565b600382600881111561185d5761185d613b23565b148061187a5750600482600881111561187857611878613b23565b145b806118965750600582600881111561189457611894613b23565b145b806118b2575060078260088111156118b0576118b0613b23565b145b156119c5576118c460808401846147c3565b1590506118e35760405162461bcd60e51b81526004016102949061480c565b60048260088111156118f7576118f7613b23565b0361192c5760a083013560c08401358082126119255760405162461bcd60e51b815260040161029490614843565b5050505050565b60a083013560c08401358082106119555760405162461bcd60e51b815260040161029490614843565b600784600881111561196957611969613b23565b03611925576001600160401b038111156119255760405162461bcd60e51b815260206004820152601e60248201527f504d503a206d617852616e6765203e205f54494d455354414d505f4d415800006044820152606401610294565b60405162461bcd60e51b815260040161029490614776565b60006119e882611d4c565b9050600081518451146119fd57506001611a65565b60005b8451811015611a6357611a4e838281518110611a1e57611a1e613d3f565b6020026020010151868381518110611a3857611a38613d3f565b6020026020010151612fa090919063ffffffff16565b611a5b5760019150611a63565b600101611a00565b505b8015610713576107138385611aa5565b600081604051602001611a889190614876565b604051602081830303815290604052805190602001209050919050565b80516000816001600160401b03811115611ac157611ac16139be565b604051908082528060200260200182016040528015611aea578160200160208202803683370190505b5090506000805b83811015611b5c5781838281518110611b0c57611b0c613d3f565b60200260200101906001600160401b031690816001600160401b031681525050848181518110611b3e57611b3e613d3f565b60200260200101515182611b529190614889565b9150600101611af1565b506001600160401b03811115611bb25760405162461bcd60e51b815260206004820152601b60248201527a13d9999cd95d08195e18d959591cc81d5a5b9d0d8d081b1a5b5a5d602a1b6044820152606401610294565b600081611bc085600861489c565b611bcb906008614889565b611bd59190614889565b90506000611be4826020614889565b6001600160401b03811115611bfb57611bfb6139be565b6040519080825280601f01601f191660200182016040528015611c25576020820181803683370190505b5060c086901b602082015290506028810160005b86811015611c7e576000868281518110611c5557611c55613d3f565b602090810291909101015160c01b6001600160c01b031916835250600890910190600101611c39565b5060005b86811015611d18576000888281518110611c9e57611c9e613d3f565b6020026020010151905060008151905060006020830190506000602083611cc591906148c9565b90506000611cd46020856148dd565b905060005b82811015611cf7578351885260209788019790930192600101611cd9565b508015611d075782518752958601955b505060019093019250611c82915050565b505081815280611d2781612fc5565b88546001600160a01b0319166001600160a01b03919091161790975550505050505050565b80546060906001600160a01b0316611d90576040805160008082526020820190925290611d89565b6060815260200190600190039081611d745790505b5092915050565b8154600090611da7906001600160a01b031661306a565b602081015190915060c01c806001600160401b03811115611dca57611dca6139be565b604051908082528060200260200182016040528015611dfd57816020015b6060815260200190600190039081611de85790505b50925060005b81811015611f6e576000808084611e1b856001614889565b03611e49576000865190506028870193506008850284015160c01c9250600886026008018103915050611e6b565b6028860192506008840283015160c01c91506008600185010283015160c01c90505b6000611e7783836148f1565b6001600160401b031690506000611e8f826020614889565b6001600160401b03811115611ea657611ea66139be565b6040519080825280601f01601f191660200182016040528015611ed0576020820181803683370190505b5090506020810160005b83811015611f36576000816001600160401b038816611efa8c600861489c565b611f05906028614889565b611f0f9190614889565b611f199190614889565b8b0151835250602091820191611f2f9082614889565b9050611eda565b50819050828152818a8881518110611f5057611f50613d3f565b60200260200101819052505050505050508080600101915050611e03565b505050919050565b6000610231620f4240836148c9565b815460ff828116911614611ffe5760405162461bcd60e51b815260206004820152603a60248201527f504d503a20706172616d206e6f742070617274206f66206d6f737420726563656044820152796e746c7920636f6e6669677572656420504d5020706172616d7360301b6064820152608401610294565b815462010000900460ff16600881111561201a5761201a613b23565b8360200151600881111561203057612030613b23565b146120775760405162461bcd60e51b81526020600482015260176024820152760a09aa07440e0c2e4c2daa8f2e0ca40dad2e6dac2e8c6d604b1b6044820152606401610294565b60008360200151600881111561208f5761208f613b23565b036120e85760405162461bcd60e51b8152602060048201526024808201527f504d503a20696e70757420706172616d5479706520697320756e636f6e6669676044820152631d5c995960e21b6064820152608401610294565b8154610100900460ff16600081600681111561210657612106613b23565b036121635761211686863361308b565b61215e5760405162461bcd60e51b81526020600482015260196024820152781413540e88185c9d1a5cdd08185d5d1a081c995c5d5a5c9959603a1b6044820152606401610294565b61250e565b600181600681111561217757612177613b23565b036121d3576121878686336129b9565b61215e5760405162461bcd60e51b815260206004820152601e60248201527f504d503a20746f6b656e206f776e6572206175746820726571756972656400006044820152606401610294565b60038160068111156121e7576121e7613b23565b03612266576121f786863361308b565b8061220857506122088686336129b9565b61215e5760405162461bcd60e51b815260206004820152602960248201527f504d503a2061727469737420616e6420746f6b656e206f776e65722061757468604482015268081c995c5d5a5c995960ba1b6064820152608401610294565b600281600681111561227a5761227a613b23565b036122dc578254600160481b90046001600160a01b0316331461215e5760405162461bcd60e51b815260206004820152601a6024820152791413540e881859191c995cdcc8185d5d1a081c995c5d5a5c995960321b6044820152606401610294565b60068160068111156122f0576122f0613b23565b036123965761230086863361308b565b8061231b57508254600160481b90046001600160a01b031633145b8061232c575061232c8686336129b9565b61215e5760405162461bcd60e51b815260206004820152603560248201527f504d503a2061727469737420616e6420746f6b656e206f776e657220616e64206044820152741859191c995cdcc8185d5d1a081c995c5d5a5c9959605a1b6064820152608401610294565b60048160068111156123aa576123aa613b23565b0361242f576123ba86863361308b565b806123d557508254600160481b90046001600160a01b031633145b61215e5760405162461bcd60e51b815260206004820152602560248201527f504d503a2061727469737420616e6420616464726573732061757468207265716044820152641d5a5c995960da1b6064820152608401610294565b600581600681111561244357612443613b23565b036124cc578254600160481b90046001600160a01b031633148061246d575061246d8686336129b9565b61215e5760405162461bcd60e51b815260206004820152602a60248201527f504d503a20746f6b656e206f776e657220616e642061646472657373206175746044820152691a081c995c5d5a5c995960b21b6064820152608401610294565b60405162461bcd60e51b81526020600482015260176024820152762826a81d1034b73b30b634b21030baba3427b83a34b7b760491b6044820152606401610294565b50815462010000900460ff16600881600881111561252e5761252e613b23565b146127c057600181600881111561254757612547613b23565b036125bf5782546040850151600160e81b90910460ff16116125ba5760405162461bcd60e51b815260206004820152602660248201527f504d503a2073656c6563744f7074696f6e7320696e646578206f7574206f6620604482015265626f756e647360d01b6064820152608401610294565b6127c0565b60028160088111156125d3576125d3613b23565b0361264557604084015115806125ed575060408401516001145b6125ba5760405162461bcd60e51b8152602060048201526024808201527f504d503a20626f6f6c20706172616d2076616c7565206d7573742062652030206044820152636f72203160e01b6064820152608401610294565b600381600881111561265957612659613b23565b14806126765750600581600881111561267457612674613b23565b145b156126b757826002015484604001511015801561269b57508260030154846040015111155b6125ba5760405162461bcd60e51b815260040161029490614911565b60048160088111156126cb576126cb613b23565b0361270b57600283015460408501511280159061269b57506003830154604085015113156125ba5760405162461bcd60e51b815260040161029490614911565b600781600881111561271f5761271f613b23565b0361273f5760408401516001600160401b031080159061269b57506127c0565b600681600881111561275357612753613b23565b0361277f57604084015162ffffff10156125ba5760405162461bcd60e51b815260040161029490614948565b60405162461bcd60e51b8152602060048201526016602482015275504d503a20696e76616c696420706172616d5479706560501b6044820152606401610294565b6008835462010000900460ff1660088111156127de576127de613b23565b036128cb576040840151156128485760405162461bcd60e51b815260206004820152602a60248201527f504d503a2076616c7565206d75737420626520656d70747920666f7220737472604482015269696e6720706172616d7360b01b6064820152608401610294565b8360600151156128c65761285d86863361308b565b6128c65760405162461bcd60e51b815260206004820152603460248201527f504d503a20617274697374206175746820726571756972656420746f20636f6e6044820152736669677572652061727469737420737472696e6760601b6064820152608401610294565b6129b1565b608084015151156129395760405162461bcd60e51b815260206004820152603260248201527f504d503a206e6f6e2d737472696e6720706172616d206d757374206861766520604482015271656d70747920737472696e672076616c756560701b6064820152608401610294565b8360600151156129b15760405162461bcd60e51b815260206004820152603d60248201527f504d503a2061727469737420737472696e672063616e6e6f7420626520636f6e60448201527f6669677572656420666f72206e6f6e2d737472696e6720706172616d730000006064820152608401610294565b505050505050565b6040516331a9108f60e11b81526004810184905260009081906001600160a01b03851690636352211e90602401602060405180830381865afa158015612a03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a279190614708565b9050826001600160a01b0316816001600160a01b031603612a4c576001915050610a33565b604051632e7cda1d60e21b81526001600160a01b038481166004830152828116602483015285811660448301526064820187905271706f73746d696e74706172616d657465727360701b60848301527f0000000000000000000000000000000000000000000000000000000000000000169063b9f368749060a401602060405180830381865afa158015612ae4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b089190614978565b95945050505050565b6000612b1c83613125565b8015610a335750610a338383613158565b805460009060609060ff1682816008811115612b4b57612b4b613b23565b1480612b835750845462010000900460ff166008811115612b6e57612b6e613b23565b816008811115612b8057612b80613b23565b14155b15612ba1575050604080516020810190915260008082529150612f99565b6008855462010000900460ff166008811115612bbf57612bbf613b23565b03612cbd576000846002018054612bd5906142bc565b90501115612c7957600184600201808054612bef906142bc565b80601f0160208091040260200160405190810160405280929190818152602001828054612c1b906142bc565b8015612c685780601f10612c3d57610100808354040283529160200191612c68565b820191906000526020600020905b815481529060010190602001808311612c4b57829003601f168201915b505050505090509250925050612f99565b6000846003018054612c8a906142bc565b90501115612ca457600184600301808054612bef906142bc565b5050604080516020810190915260008082529150612f99565b6001816008811115612cd157612cd1613b23565b03612d235784546001850154600160e81b90910460ff1611612d06575050604080516020810190915260008082529150612f99565b600184810154612d1990878301906131e2565b9250925050612f99565b6002816008811115612d3757612d37613b23565b03612d915760018481015415612d6957604051806040016040528060048152602001637472756560e01b815250612d19565b6040518060400160405280600581526020016466616c736560d81b8152509250925050612f99565b6003816008811115612da557612da5613b23565b1480612dc257506006816008811115612dc057612dc0613b23565b145b80612dde57506007816008811115612ddc57612ddc613b23565b145b80612dfa57506005816008811115612df857612df8613b23565b145b15612eeb57600184015460006006836008811115612e1a57612e1a613b23565b14612e29576003870154612e2e565b62ffffff5b905060006006846008811115612e4657612e46613b23565b14612e55576002880154612e58565b60005b905080831080612e6757508183115b15612e8b576000604051806020016040528060008152509550955050505050612f99565b6005846008811115612e9f57612e9f613b23565b03612ebc576001612eaf8461338c565b9550955050505050612f99565b6006846008811115612ed057612ed0613b23565b03612ee0576001612eaf84613439565b6001612eaf84613522565b6004816008811115612eff57612eff613b23565b03612f565760018401546002860154811280612f1e5750600386015481135b15612f4057600060405180602001604052806000815250935093505050612f99565b6001612f4b826135b4565b935093505050612f99565b60405162461bcd60e51b8152602060048201526018602482015277504d503a20556e68616e646c656420506172616d5479706560401b6044820152606401610294565b9250929050565b600081518351148015610a335750508051602091820120825192909101919091201490565b60008082604051602001612fd99190614995565b6040516020818303038152906040529050600081604051602001612ffd91906149bb565b60405160208183030381529060405290508051602082016000f092506001600160a01b0383166130635760405162461bcd60e51b81526020600482015260116024820152701111541313d65351539517d19052531151607a1b6044820152606401610294565b5050919050565b6060610231826001613086816001600160a01b0384163b6149ef565b613626565b60008061309785611f76565b9050826001600160a01b0316846001600160a01b031663a47d29cb836040518263ffffffff1660e01b81526004016130d191815260200190565b602060405180830381865afa1580156130ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131129190614708565b6001600160a01b03161495945050505050565b6000613138826301ffc9a760e01b613158565b80156102315750613151826001600160e01b0319613158565b1592915050565b6040516001600160e01b031982166024820152600090819060440160408051601f19818403018152919052602080820180516001600160e01b03166301ffc9a760e01b178152825192935060009283928392909183918a617530fa92503d915060005190508280156131cb575060208210155b80156131d75750600081115b979650505050505050565b81546060906001600160a01b031661320c5760405162461bcd60e51b815260040161029490614a02565b8254600090613223906001600160a01b031661306a565b9050600080600080602085015160c01c90508087106132545760405162461bcd60e51b815260040161029490614a02565b80613260886001614889565b0361328e576000855190506028860194506008880285015160c01c93506008820260080181039250506132b0565b6028850193506008870284015160c01c92506008600188010284015160c01c91505b60006132bc84846148f1565b6001600160401b0316905060006132d4826020614889565b6001600160401b038111156132eb576132eb6139be565b6040519080825280601f01601f191660200182016040528015613315576020820181803683370190505b5090506020810160005b8381101561337b576000816001600160401b03891661333f88600861489c565b61334a906028614889565b6133549190614889565b61335e9190614889565b8a01518352506020918201916133749082614889565b905061331f565b505090815298975050505050505050565b6060600061339b600a80614b13565b6133a590846148c9565b905060006133b4600a80614b13565b6133be90856148dd565b905060006133cb83613522565b905060006133d883613522565b90505b600a8151101561340c57806040516020016133f69190614b1f565b60405160208183030381529060405290506133db565b818160405160200161341f929190614b3b565b604051602081830303815290604052945050505050919050565b6040805160078082528183019092526060918391600091602082018180368337019050509050602360f81b8160008151811061347757613477613d3f565b60200101906001600160f81b031916908160001a90535060065b8015613503576f181899199a1a9b1b9c1cb0b131b232b360811b83600f16601081106134bf576134bf613d3f565b1a60f81b8282815181106134d5576134d5613d3f565b60200101906001600160f81b031916908160001a90535060049290921c916134fc81614b77565b9050613491565b508115610a335760405162461bcd60e51b815260040161029490614948565b6060600061352f83613649565b60010190506000816001600160401b0381111561354e5761354e6139be565b6040519080825280601f01601f191660200182016040528015613578576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461358257509392505050565b6060600082126135d357604051806020016040528060008152506135ee565b604051806040016040528060018152602001602d60f81b8152505b6135ff6135fa8461371f565b613522565b604051602001613610929190614b8e565b6040516020818303038152906040529050919050565b60408051603f8301601f19168101909152818152818360208301863c9392505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106136885772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6904ee2d6d415b85acef8160201b83106136b2576904ee2d6d415b85acef8160201b830492506020015b662386f26fc1000083106136d057662386f26fc10000830492506010015b6305f5e10083106136e8576305f5e100830492506008015b61271083106136fc57612710830492506004015b6064831061370e576064830492506002015b600a83106102315760010192915050565b6000808212156137325781600003610231565b5090565b60006020828403121561374857600080fd5b81356001600160e01b031981168114610a3357600080fd5b6001600160a01b038116811461377557600080fd5b50565b803561378381613760565b919050565b60008083601f84011261379a57600080fd5b5081356001600160401b038111156137b157600080fd5b6020830191508360208260051b8501011115612f9957600080fd5b600080600080606085870312156137e257600080fd5b84356137ed81613760565b93506020850135925060408501356001600160401b0381111561380f57600080fd5b61381b87828801613788565b95989497509550505050565b6000806040838503121561383a57600080fd5b823561384581613760565b946020939093013593505050565b60005b8381101561386e578181015183820152602001613856565b50506000910152565b6000815180845261388f816020860160208601613853565b601f01601f19169290920160200192915050565b6000608082016080835280875180835260a08501915060a08160051b86010192506020808a0160005b838110156138fa57609f198887030185526138e8868351613877565b955093820193908201906001016138cc565b5050505060ff9690961660208401526001600160a01b039485166040840152929093166060909101529392505050565b60008060006060848603121561393f57600080fd5b833561394a81613760565b9250602084013561395a81613760565b929592945050506040919091013590565b6000806000806080858703121561398157600080fd5b843561398c81613760565b93506020850135925060408501356139a381613760565b915060608501356139b381613760565b939692955090935050565b634e487b7160e01b600052604160045260246000fd5b60405160e081016001600160401b03811182821017156139f6576139f66139be565b60405290565b604080519081016001600160401b03811182821017156139f6576139f66139be565b604051601f8201601f191681016001600160401b0381118282101715613a4657613a466139be565b604052919050565b60006001600160401b03821115613a6757613a676139be565b50601f01601f191660200190565b600082601f830112613a8657600080fd5b8135613a99613a9482613a4e565b613a1e565b818152846020838601011115613aae57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215613ae057600080fd5b8335613aeb81613760565b92506020840135915060408401356001600160401b03811115613b0d57600080fd5b613b1986828701613a75565b9150509250925092565b634e487b7160e01b600052602160045260246000fd5b60078110613b4957613b49613b23565b9052565b60098110613b4957613b49613b23565b60008282518085526020808601955060208260051b8401016020860160005b84811015613baa57601f19868403018952613b98838351613877565b98840198925090830190600101613b7c565b5090979650505050505050565b60208152613bcb60208201835160ff169052565b60006020830151613bdf6040840182613b39565b506040830151613bf26060840182613b4d565b50606083015165ffffffffffff811660808401525060808301516001600160a01b03811660a08401525060a083015160ff811660c08401525060c08301516101208060e0850152613c47610140850183613b5d565b60e086015161010086810191909152909501519301929092525090919050565b600082825180855260208086019550808260051b84010181860160005b84811015613baa57601f19868403018952815160408151818652613caa82870182613877565b91505085820151915084810386860152613cc48183613877565b9a86019a9450505090830190600101613c84565b602081526000610a336020830184613c67565b60208152613cfd602082018351613b4d565b602082015160408201526000604083015160806060840152613d2260a0840182613877565b90506060840151601f19848303016080850152612b088282613877565b634e487b7160e01b600052603260045260246000fd5b60008235603e19833603018112613d6b57600080fd5b9190910192915050565b6000808335601e19843603018112613d8c57600080fd5b8301803591506001600160401b03821115613da657600080fd5b602001915036819003821315612f9957600080fd5b6000823560de19833603018112613d6b57600080fd5b634e487b7160e01b600052601160045260246000fd5b60ff818116838216019081111561023157610231613dd1565b80356007811061378357600080fd5b80356009811061378357600080fd5b803565ffffffffffff8116811461378357600080fd5b60006001600160401b03821115613e4d57613e4d6139be565b5060051b60200190565b600082601f830112613e6857600080fd5b81356020613e78613a9483613e34565b82815260059290921b84018101918181019086841115613e9757600080fd5b8286015b84811015613ed65780356001600160401b03811115613eba5760008081fd5b613ec88986838b0101613a75565b845250918301918301613e9b565b509695505050505050565b600060e08236031215613ef357600080fd5b613efb6139d4565b613f0483613e00565b8152613f1260208401613e0f565b6020820152613f2360408401613e1e565b6040820152613f3460608401613778565b606082015260808301356001600160401b03811115613f5257600080fd5b613f5e36828601613e57565b60808301525060a083013560a082015260c083013560c082015280915050919050565b6000808335601e19843603018112613f9857600080fd5b83016020810192503590506001600160401b03811115613fb757600080fd5b803603821315612f9957600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6000838385526020808601955060208560051b8301018460005b87811015613baa57848303601f190189526140248288613f81565b61402f858284613fc6565b9a86019a9450505090830190600101614009565b6001600160a01b038681168252602080830187905260806040808501829052848201879052600093919260a0929183870160058a901b880185018b885b8c8110156141bf578a8303609f190184528135368f9003603e190181126140a657600080fd5b8e016140b28180613f81565b8786526140c28887018284613fc6565b9150508782013560de198336030181126140db57600080fd5b858203898701529091019060e06140fa826140f585613e00565b613b39565b614105898401613e0f565b6141118a840182613b4d565b5065ffffffffffff614124898501613e1e565b168883015260608084013561413881613760565b8b1690830152828c013536849003601e1901811261415557600080fd5b830189810190356001600160401b0381111561417057600080fd5b8060051b360382131561418257600080fd5b828e8501526141948385018284613fef565b858e0135858f015260c095860135959094019490945250509487019493505090850190600101614080565b505060ff8a1660608a015296506141d895505050505050565b9695505050505050565b60008235609e19833603018112613d6b57600080fd5b801515811461377557600080fd5b600060a0823603121561421857600080fd5b60405160a081016001600160401b03808211838310171561423b5761423b6139be565b81604052843591508082111561425057600080fd5b61425c36838701613a75565b835261426a60208601613e0f565b60208401526040850135604084015260608501359150614289826141f8565b81606084015260808501359150808211156142a357600080fd5b506142b036828601613a75565b60808301525092915050565b600181811c908216806142d057607f821691505b6020821081036142f057634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561125f576000816000526020600020601f850160051c8101602086101561431f5750805b601f850160051c820191505b818110156129b15782815560010161432b565b81516001600160401b03811115614357576143576139be565b61436b8161436584546142bc565b846142f6565b602080601f8311600181146143a057600084156143885750858301515b600019600386901b1c1916600185901b1785556129b1565b600085815260208120601f198616915b828110156143cf578886015182559484019460019091019084016143b0565b50858210156143ed5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60018060a01b0384168152826020820152606060408201526000825160a0606084015261442e610100840182613877565b905060208401516144426080850182613b4d565b50604084015160a08401526060840151151560c08401526080840151838203605f190160e08501526131d78282613877565b6001600160a01b0385168152602080820185905260606040808401829052838201859052600092608091828601600588901b870184018987805b8b81101561455d578a8403607f190185528235368e9003609e190181126144d3578283fd5b8d0160a06144e18280613f81565b8288526144f18389018284613fc6565b92505050614500898301613e0f565b61450c8a880182613b4d565b5087820135888701528a820135614522816141f8565b1515868c0152614534828b0183613f81565b92508682038b880152614548828483613fc6565b978a01979650505092870192506001016144ae565b50919d9c50505050505050505050505050565b60006001820161458257614582613dd1565b5060010190565b60018060a01b0384168152826020820152606060408201526000612b086060830184613c67565b600082601f8301126145c157600080fd5b81516145cf613a9482613a4e565b8181528460208386010111156145e457600080fd5b6145f5826020830160208701613853565b949350505050565b6000602080838503121561461057600080fd5b82516001600160401b038082111561462757600080fd5b818501915085601f83011261463b57600080fd5b8151614649613a9482613e34565b81815260059190911b8301840190848101908883111561466857600080fd5b8585015b838110156146fb578051858111156146845760008081fd5b86016040818c03601f190181131561469c5760008081fd5b6146a46139fc565b89830151888111156146b65760008081fd5b6146c48e8c838701016145b0565b8252509082015190878211156146da5760008081fd5b6146e88d8b848601016145b0565b818b01528552505091860191860161466c565b5098975050505050505050565b60006020828403121561471a57600080fd5b8151610a3381613760565b60006020828403121561473757600080fd5b610a3382613e0f565b60006020828403121561475257600080fd5b610a3382613e00565b60006020828403121561476d57600080fd5b610a3382613e1e565b602080825260169082015275504d503a20496e76616c696420706172616d5479706560501b604082015260600190565b6000602082840312156147b857600080fd5b8135610a3381613760565b6000808335601e198436030181126147da57600080fd5b8301803591506001600160401b038211156147f457600080fd5b6020019150600581901b3603821315612f9957600080fd5b6020808252601f908201527f504d503a2073656c6563744f7074696f6e73206973206e6f7420656d70747900604082015260600190565b602080825260199082015278504d503a206d696e52616e6765203e3d206d617852616e676560381b604082015260600190565b602081526000610a336020830184613877565b8082018082111561023157610231613dd1565b808202811582820484141761023157610231613dd1565b634e487b7160e01b600052601260045260246000fd5b6000826148d8576148d86148b3565b500490565b6000826148ec576148ec6148b3565b500690565b6001600160401b03828116828216039080821115611d8957611d89613dd1565b6020808252601e908201527f504d503a20706172616d2076616c7565206f7574206f6620626f756e64730000604082015260600190565b6020808252601690820152752826a81d1034b73b30b634b2103432bc1031b7b637b960511b604082015260600190565b60006020828403121561498a57600080fd5b8151610a33816141f8565b60008152600082516149ae816001850160208701613853565b9190910160010192915050565b6a600b5981380380925939f360a81b815281516000906149e281600b850160208701613853565b91909101600b0192915050565b8181038181111561023157610231613dd1565b602080825260139082015272496e646578206f7574206f6620626f756e647360681b604082015260600190565b600181815b80851115614a6a578160001904821115614a5057614a50613dd1565b80851615614a5d57918102915b93841c9390800290614a34565b509250929050565b600082614a8157506001610231565b81614a8e57506000610231565b8160018114614aa45760028114614aae57614aca565b6001915050610231565b60ff841115614abf57614abf613dd1565b50506001821b610231565b5060208310610133831016604e8410600b8410161715614aed575081810a610231565b614af78383614a2f565b8060001904821115614b0b57614b0b613dd1565b029392505050565b6000610a338383614a72565b600360fc1b8152600082516149ae816001850160208701613853565b60008351614b4d818460208801613853565b601760f91b9083019081528351614b6b816001840160208801613853565b01600101949350505050565b600081614b8657614b86613dd1565b506000190190565b60008351614ba0818460208801613853565b835190830190614bb4818360208801613853565b0194935050505056fea2646970667358221220e459e5671d26a3458b94f15461f1eb1122ece45eb79752b9b995a5f330c07c8c64736f6c63430008160033",
|
|
627
|
+
"linkReferences": {},
|
|
628
|
+
"deployedLinkReferences": {}
|
|
629
|
+
}
|