@layerzerolabs/lz-evm-sdk-v1 2.3.8 → 2.3.10
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/CHANGELOG.md +16 -0
- package/artifacts-tron/contracts/Endpoint.sol/Endpoint.json +958 -0
- package/artifacts-tron/contracts/NonceContract.sol/NonceContract.json +88 -0
- package/artifacts-tron/contracts/PriceFeed.sol/PriceFeed.json +531 -0
- package/artifacts-tron/contracts/RelayerV2.sol/RelayerV2.json +1170 -0
- package/artifacts-tron/contracts/UltraLightNode.sol/UltraLightNode.json +1475 -0
- package/artifacts-tron/contracts/UltraLightNodeV2.sol/UltraLightNodeV2.json +1423 -0
- package/artifacts-tron/contracts/interfaces/IContractOne.sol/IContractOne.json +24 -0
- package/artifacts-tron/contracts/interfaces/ILayerZeroEndpoint.sol/ILayerZeroEndpoint.json +447 -0
- package/artifacts-tron/contracts/interfaces/ILayerZeroMessagingLibrary.sol/ILayerZeroMessagingLibrary.json +160 -0
- package/artifacts-tron/contracts/interfaces/ILayerZeroMessagingLibraryV2.sol/ILayerZeroMessagingLibraryV2.json +184 -0
- package/artifacts-tron/contracts/interfaces/ILayerZeroOracle.sol/ILayerZeroOracle.json +77 -0
- package/artifacts-tron/contracts/interfaces/ILayerZeroOracleV2.sol/ILayerZeroOracleV2.json +97 -0
- package/artifacts-tron/contracts/interfaces/ILayerZeroPriceFeed.sol/ILayerZeroPriceFeed.json +107 -0
- package/artifacts-tron/contracts/interfaces/ILayerZeroPriceFeedV2.sol/ILayerZeroPriceFeedV2.json +104 -0
- package/artifacts-tron/contracts/interfaces/ILayerZeroReceiver.sol/ILayerZeroReceiver.json +39 -0
- package/artifacts-tron/contracts/interfaces/ILayerZeroRelayer.sol/ILayerZeroRelayer.json +92 -0
- package/artifacts-tron/contracts/interfaces/ILayerZeroRelayerV2.sol/ILayerZeroRelayerV2.json +107 -0
- package/artifacts-tron/contracts/interfaces/ILayerZeroRelayerV2PriceData.sol/ILayerZeroRelayerV2PriceData.json +83 -0
- package/artifacts-tron/contracts/interfaces/ILayerZeroTreasury.sol/ILayerZeroTreasury.json +40 -0
- package/artifacts-tron/contracts/interfaces/ILayerZeroUltraLightNodeV1.sol/ILayerZeroUltraLightNodeV1.json +156 -0
- package/artifacts-tron/contracts/interfaces/ILayerZeroUltraLightNodeV2.sol/ILayerZeroUltraLightNodeV2.json +582 -0
- package/artifacts-tron/contracts/interfaces/ILayerZeroUserApplicationConfig.sol/ILayerZeroUserApplicationConfig.json +83 -0
- package/artifacts-tron/contracts/interfaces/ILayerZeroValidationLibrary.sol/ILayerZeroValidationLibrary.json +77 -0
- package/artifacts-tron/contracts/interfaces/IValidationLibraryHelper.sol/IValidationLibraryHelper.json +146 -0
- package/artifacts-tron/contracts/interfaces/IValidationLibraryHelperV2.sol/IValidationLibraryHelperV2.json +154 -0
- package/artifacts-tron/contracts/precrime/PreCrime.sol/PreCrime.json +353 -0
- package/artifacts-tron/contracts/precrime/PreCrimeBase.sol/PreCrimeBase.json +259 -0
- package/artifacts-tron/contracts/precrime/PreCrimeView.sol/PreCrimeView.json +318 -0
- package/artifacts-tron/contracts/precrime/interfaces/IPreCrime.sol/IPreCrime.json +162 -0
- package/artifacts-tron/contracts/precrime/interfaces/IPreCrimeBase.sol/IPreCrimeBase.json +116 -0
- package/artifacts-tron/contracts/precrime/interfaces/IPreCrimeView.sol/IPreCrimeView.json +162 -0
- package/artifacts-tron/contracts/proof/FPValidator.sol/FPValidator.json +326 -0
- package/artifacts-tron/contracts/proof/FPValidator.sol/IStargate.json +10 -0
- package/artifacts-tron/contracts/proof/MPTValidator.sol/MPTValidator.json +146 -0
- package/artifacts-tron/contracts/proof/MPTValidator01.sol/IStargate.json +10 -0
- package/artifacts-tron/contracts/proof/MPTValidator01.sol/MPTValidator01.json +339 -0
- package/artifacts-tron/contracts/proof/MPTValidatorStgV3.sol/MPTValidatorStgV3.json +310 -0
- package/artifacts-tron/contracts/proof/MPTValidatorV2.sol/MPTValidatorV2.json +212 -0
- package/artifacts-tron/contracts/proof/MPTValidatorV4.sol/IStargate.json +10 -0
- package/artifacts-tron/contracts/proof/MPTValidatorV4.sol/IUltraLightNode.json +108 -0
- package/artifacts-tron/contracts/proof/MPTValidatorV4.sol/MPTValidatorV4.json +414 -0
- package/artifacts-tron/contracts/proof/MPTValidatorV5.sol/IStargate.json +10 -0
- package/artifacts-tron/contracts/proof/MPTValidatorV5.sol/IUltraLightNode.json +108 -0
- package/artifacts-tron/contracts/proof/MPTValidatorV5.sol/MPTValidatorV5.json +432 -0
- package/artifacts-tron/contracts/proof/utility/Buffer.sol/Buffer.json +10 -0
- package/artifacts-tron/contracts/proof/utility/LayerZeroPacket.sol/LayerZeroPacket.json +10 -0
- package/artifacts-tron/contracts/proof/utility/RLPDecode.sol/RLPDecode.json +10 -0
- package/artifacts-tron/contracts/proof/utility/UltraLightNodeEVMDecoder.sol/UltraLightNodeEVMDecoder.json +10 -0
- package/artifacts-zk/contracts/Endpoint.sol/Endpoint.json +959 -0
- package/artifacts-zk/contracts/NonceContract.sol/NonceContract.json +89 -0
- package/artifacts-zk/contracts/PriceFeed.sol/PriceFeed.json +545 -0
- package/artifacts-zk/contracts/RelayerV2.sol/RelayerV2.json +1020 -0
- package/artifacts-zk/contracts/TreasuryV2.sol/TreasuryV2.json +309 -0
- package/artifacts-zk/contracts/UltraLightNodeV2.sol/UltraLightNodeV2.json +1424 -0
- package/artifacts-zk/contracts/interfaces/IContractOne.sol/IContractOne.json +25 -0
- package/artifacts-zk/contracts/interfaces/ILayerZeroEndpoint.sol/ILayerZeroEndpoint.json +448 -0
- package/artifacts-zk/contracts/interfaces/ILayerZeroMessagingLibrary.sol/ILayerZeroMessagingLibrary.json +161 -0
- package/artifacts-zk/contracts/interfaces/ILayerZeroMessagingLibraryV2.sol/ILayerZeroMessagingLibraryV2.json +185 -0
- package/artifacts-zk/contracts/interfaces/ILayerZeroOracleV2.sol/ILayerZeroOracleV2.json +98 -0
- package/artifacts-zk/contracts/interfaces/ILayerZeroPriceFeed.sol/ILayerZeroPriceFeed.json +108 -0
- package/artifacts-zk/contracts/interfaces/ILayerZeroPriceFeedV2.sol/ILayerZeroPriceFeedV2.json +105 -0
- package/artifacts-zk/contracts/interfaces/ILayerZeroReceiver.sol/ILayerZeroReceiver.json +40 -0
- package/artifacts-zk/contracts/interfaces/ILayerZeroRelayerV2.sol/ILayerZeroRelayerV2.json +108 -0
- package/artifacts-zk/contracts/interfaces/ILayerZeroTreasury.sol/ILayerZeroTreasury.json +41 -0
- package/artifacts-zk/contracts/interfaces/ILayerZeroUltraLightNodeV2.sol/ILayerZeroUltraLightNodeV2.json +583 -0
- package/artifacts-zk/contracts/interfaces/ILayerZeroUserApplicationConfig.sol/ILayerZeroUserApplicationConfig.json +84 -0
- package/artifacts-zk/contracts/interfaces/ILayerZeroValidationLibrary.sol/ILayerZeroValidationLibrary.json +78 -0
- package/artifacts-zk/contracts/interfaces/IValidationLibraryHelper.sol/IValidationLibraryHelper.json +147 -0
- package/artifacts-zk/contracts/interfaces/IValidationLibraryHelperV2.sol/IValidationLibraryHelperV2.json +155 -0
- package/artifacts-zk/contracts/oracle/OracleV2.sol/OracleV2.json +1527 -0
- package/artifacts-zk/contracts/precrime/PreCrime.sol/PreCrime.json +354 -0
- package/artifacts-zk/contracts/precrime/PreCrimeBase.sol/PreCrimeBase.json +260 -0
- package/artifacts-zk/contracts/precrime/PreCrimeView.sol/PreCrimeView.json +319 -0
- package/artifacts-zk/contracts/precrime/example/inherit/CounterI.sol/CounterI.json +624 -0
- package/artifacts-zk/contracts/precrime/example/inherit/CounterPrecrime.sol/CounterPrecrime.json +458 -0
- package/artifacts-zk/contracts/precrime/example/view/CounterPrecrimeView.sol/CounterPrecrimeView.json +417 -0
- package/artifacts-zk/contracts/precrime/example/view/CounterV.sol/CounterV.json +178 -0
- package/artifacts-zk/contracts/precrime/example/view/CounterView.sol/CounterView.json +166 -0
- package/artifacts-zk/contracts/precrime/interfaces/IPreCrime.sol/IPreCrime.json +163 -0
- package/artifacts-zk/contracts/precrime/interfaces/IPreCrimeBase.sol/IPreCrimeBase.json +117 -0
- package/artifacts-zk/contracts/precrime/interfaces/IPreCrimeView.sol/IPreCrimeView.json +163 -0
- package/artifacts-zk/contracts/proof/FPValidator.sol/FPValidator.json +327 -0
- package/artifacts-zk/contracts/proof/FPValidator.sol/IStargate.json +11 -0
- package/artifacts-zk/contracts/proof/utility/Buffer.sol/Buffer.json +11 -0
- package/artifacts-zk/contracts/proof/utility/LayerZeroPacket.sol/LayerZeroPacket.json +11 -0
- package/artifacts-zk/contracts/proof/utility/RLPDecode.sol/RLPDecode.json +11 -0
- package/artifacts-zk/contracts/proof/utility/UltraLightNodeEVMDecoder.sol/UltraLightNodeEVMDecoder.json +11 -0
- package/artifacts-zk/contracts/proxy/ProxyAdmin.sol/ProxyAdmin.json +172 -0
- package/artifacts-zk/contracts/proxy/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.json +156 -0
- package/deployments/arbitrum-sandbox-local/DefaultProxyAdmin.json +10 -10
- package/deployments/arbitrum-sandbox-local/Endpoint.json +7 -7
- package/deployments/arbitrum-sandbox-local/FPValidator.json +4 -4
- package/deployments/arbitrum-sandbox-local/MPTValidator01.json +4 -4
- package/deployments/arbitrum-sandbox-local/NonceContract.json +4 -4
- package/deployments/arbitrum-sandbox-local/RelayerV2.json +16 -16
- package/deployments/arbitrum-sandbox-local/RelayerV2_Implementation.json +4 -4
- package/deployments/arbitrum-sandbox-local/RelayerV2_Proxy.json +16 -16
- package/deployments/arbitrum-sandbox-local/TreasuryV2.json +7 -7
- package/deployments/arbitrum-sandbox-local/UltraLightNode.json +7 -7
- package/deployments/arbitrum-sandbox-local/UltraLightNodeV2.json +7 -7
- package/deployments/bsc-sandbox-local/DefaultProxyAdmin.json +10 -10
- package/deployments/bsc-sandbox-local/Endpoint.json +7 -7
- package/deployments/bsc-sandbox-local/FPValidator.json +4 -4
- package/deployments/bsc-sandbox-local/MPTValidator01.json +4 -4
- package/deployments/bsc-sandbox-local/NonceContract.json +4 -4
- package/deployments/bsc-sandbox-local/RelayerV2.json +16 -16
- package/deployments/bsc-sandbox-local/RelayerV2_Implementation.json +4 -4
- package/deployments/bsc-sandbox-local/RelayerV2_Proxy.json +16 -16
- package/deployments/bsc-sandbox-local/TreasuryV2.json +7 -7
- package/deployments/bsc-sandbox-local/UltraLightNode.json +7 -7
- package/deployments/bsc-sandbox-local/UltraLightNodeV2.json +7 -7
- package/deployments/ethereum-sandbox-local/DefaultProxyAdmin.json +10 -10
- package/deployments/ethereum-sandbox-local/Endpoint.json +7 -7
- package/deployments/ethereum-sandbox-local/FPValidator.json +4 -4
- package/deployments/ethereum-sandbox-local/MPTValidator01.json +4 -4
- package/deployments/ethereum-sandbox-local/NonceContract.json +4 -4
- package/deployments/ethereum-sandbox-local/RelayerV2.json +16 -16
- package/deployments/ethereum-sandbox-local/RelayerV2_Implementation.json +4 -4
- package/deployments/ethereum-sandbox-local/RelayerV2_Proxy.json +16 -16
- package/deployments/ethereum-sandbox-local/TreasuryV2.json +7 -7
- package/deployments/ethereum-sandbox-local/UltraLightNode.json +7 -7
- package/deployments/ethereum-sandbox-local/UltraLightNodeV2.json +7 -7
- package/deployments/polygon-sandbox-local/DefaultProxyAdmin.json +10 -10
- package/deployments/polygon-sandbox-local/Endpoint.json +7 -7
- package/deployments/polygon-sandbox-local/FPValidator.json +4 -4
- package/deployments/polygon-sandbox-local/MPTValidator01.json +4 -4
- package/deployments/polygon-sandbox-local/NonceContract.json +4 -4
- package/deployments/polygon-sandbox-local/RelayerV2.json +16 -16
- package/deployments/polygon-sandbox-local/RelayerV2_Implementation.json +4 -4
- package/deployments/polygon-sandbox-local/RelayerV2_Proxy.json +16 -16
- package/deployments/polygon-sandbox-local/TreasuryV2.json +7 -7
- package/deployments/polygon-sandbox-local/UltraLightNode.json +7 -7
- package/deployments/polygon-sandbox-local/UltraLightNodeV2.json +7 -7
- package/deployments/tron-sandbox-local/DefaultProxyAdmin.json +14 -14
- package/deployments/tron-sandbox-local/Endpoint.json +10 -10
- package/deployments/tron-sandbox-local/FPValidator.json +6 -6
- package/deployments/tron-sandbox-local/MPTValidator01.json +6 -6
- package/deployments/tron-sandbox-local/NonceContract.json +7 -7
- package/deployments/tron-sandbox-local/RelayerV2.json +31 -31
- package/deployments/tron-sandbox-local/RelayerV2_Implementation.json +6 -6
- package/deployments/tron-sandbox-local/RelayerV2_Proxy.json +28 -28
- package/deployments/tron-sandbox-local/TreasuryV2.json +11 -11
- package/deployments/tron-sandbox-local/UltraLightNode.json +11 -11
- package/deployments/tron-sandbox-local/UltraLightNodeV2.json +12 -12
- package/package.json +23 -7
|
@@ -0,0 +1,1423 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_format": "hh-sol-artifact-1",
|
|
3
|
+
"contractName": "UltraLightNodeV2",
|
|
4
|
+
"sourceName": "contracts/UltraLightNodeV2.sol",
|
|
5
|
+
"abi": [
|
|
6
|
+
{
|
|
7
|
+
"inputs": [
|
|
8
|
+
{
|
|
9
|
+
"internalType": "address",
|
|
10
|
+
"name": "_endpoint",
|
|
11
|
+
"type": "address"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"internalType": "address",
|
|
15
|
+
"name": "_nonceContract",
|
|
16
|
+
"type": "address"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"internalType": "uint16",
|
|
20
|
+
"name": "_localChainId",
|
|
21
|
+
"type": "uint16"
|
|
22
|
+
}
|
|
23
|
+
],
|
|
24
|
+
"stateMutability": "nonpayable",
|
|
25
|
+
"type": "constructor"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"anonymous": false,
|
|
29
|
+
"inputs": [
|
|
30
|
+
{
|
|
31
|
+
"indexed": true,
|
|
32
|
+
"internalType": "uint16",
|
|
33
|
+
"name": "chainId",
|
|
34
|
+
"type": "uint16"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"indexed": false,
|
|
38
|
+
"internalType": "address",
|
|
39
|
+
"name": "lib",
|
|
40
|
+
"type": "address"
|
|
41
|
+
}
|
|
42
|
+
],
|
|
43
|
+
"name": "AddInboundProofLibraryForChain",
|
|
44
|
+
"type": "event"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"anonymous": false,
|
|
48
|
+
"inputs": [
|
|
49
|
+
{
|
|
50
|
+
"indexed": true,
|
|
51
|
+
"internalType": "address",
|
|
52
|
+
"name": "userApplication",
|
|
53
|
+
"type": "address"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"indexed": true,
|
|
57
|
+
"internalType": "uint256",
|
|
58
|
+
"name": "configType",
|
|
59
|
+
"type": "uint256"
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"indexed": false,
|
|
63
|
+
"internalType": "bytes",
|
|
64
|
+
"name": "newConfig",
|
|
65
|
+
"type": "bytes"
|
|
66
|
+
}
|
|
67
|
+
],
|
|
68
|
+
"name": "AppConfigUpdated",
|
|
69
|
+
"type": "event"
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"anonymous": false,
|
|
73
|
+
"inputs": [
|
|
74
|
+
{
|
|
75
|
+
"indexed": true,
|
|
76
|
+
"internalType": "uint16",
|
|
77
|
+
"name": "chainId",
|
|
78
|
+
"type": "uint16"
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"indexed": false,
|
|
82
|
+
"internalType": "uint16",
|
|
83
|
+
"name": "proofType",
|
|
84
|
+
"type": "uint16"
|
|
85
|
+
}
|
|
86
|
+
],
|
|
87
|
+
"name": "EnableSupportedOutboundProof",
|
|
88
|
+
"type": "event"
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"anonymous": false,
|
|
92
|
+
"inputs": [
|
|
93
|
+
{
|
|
94
|
+
"indexed": true,
|
|
95
|
+
"internalType": "uint16",
|
|
96
|
+
"name": "srcChainId",
|
|
97
|
+
"type": "uint16"
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"indexed": true,
|
|
101
|
+
"internalType": "address",
|
|
102
|
+
"name": "oracle",
|
|
103
|
+
"type": "address"
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"indexed": false,
|
|
107
|
+
"internalType": "bytes32",
|
|
108
|
+
"name": "lookupHash",
|
|
109
|
+
"type": "bytes32"
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
"indexed": false,
|
|
113
|
+
"internalType": "bytes32",
|
|
114
|
+
"name": "blockData",
|
|
115
|
+
"type": "bytes32"
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
"indexed": false,
|
|
119
|
+
"internalType": "uint256",
|
|
120
|
+
"name": "confirmations",
|
|
121
|
+
"type": "uint256"
|
|
122
|
+
}
|
|
123
|
+
],
|
|
124
|
+
"name": "HashReceived",
|
|
125
|
+
"type": "event"
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"anonymous": false,
|
|
129
|
+
"inputs": [
|
|
130
|
+
{
|
|
131
|
+
"indexed": true,
|
|
132
|
+
"internalType": "uint16",
|
|
133
|
+
"name": "srcChainId",
|
|
134
|
+
"type": "uint16"
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"indexed": false,
|
|
138
|
+
"internalType": "bytes",
|
|
139
|
+
"name": "srcAddress",
|
|
140
|
+
"type": "bytes"
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
"indexed": true,
|
|
144
|
+
"internalType": "address",
|
|
145
|
+
"name": "dstAddress",
|
|
146
|
+
"type": "address"
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"indexed": false,
|
|
150
|
+
"internalType": "uint64",
|
|
151
|
+
"name": "nonce",
|
|
152
|
+
"type": "uint64"
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
"indexed": false,
|
|
156
|
+
"internalType": "bytes32",
|
|
157
|
+
"name": "payloadHash",
|
|
158
|
+
"type": "bytes32"
|
|
159
|
+
}
|
|
160
|
+
],
|
|
161
|
+
"name": "InvalidDst",
|
|
162
|
+
"type": "event"
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
"anonymous": false,
|
|
166
|
+
"inputs": [
|
|
167
|
+
{
|
|
168
|
+
"indexed": true,
|
|
169
|
+
"internalType": "address",
|
|
170
|
+
"name": "previousOwner",
|
|
171
|
+
"type": "address"
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
"indexed": true,
|
|
175
|
+
"internalType": "address",
|
|
176
|
+
"name": "newOwner",
|
|
177
|
+
"type": "address"
|
|
178
|
+
}
|
|
179
|
+
],
|
|
180
|
+
"name": "OwnershipTransferred",
|
|
181
|
+
"type": "event"
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
"anonymous": false,
|
|
185
|
+
"inputs": [
|
|
186
|
+
{
|
|
187
|
+
"indexed": false,
|
|
188
|
+
"internalType": "bytes",
|
|
189
|
+
"name": "payload",
|
|
190
|
+
"type": "bytes"
|
|
191
|
+
}
|
|
192
|
+
],
|
|
193
|
+
"name": "Packet",
|
|
194
|
+
"type": "event"
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
"anonymous": false,
|
|
198
|
+
"inputs": [
|
|
199
|
+
{
|
|
200
|
+
"indexed": true,
|
|
201
|
+
"internalType": "uint16",
|
|
202
|
+
"name": "srcChainId",
|
|
203
|
+
"type": "uint16"
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
"indexed": false,
|
|
207
|
+
"internalType": "bytes",
|
|
208
|
+
"name": "srcAddress",
|
|
209
|
+
"type": "bytes"
|
|
210
|
+
},
|
|
211
|
+
{
|
|
212
|
+
"indexed": true,
|
|
213
|
+
"internalType": "address",
|
|
214
|
+
"name": "dstAddress",
|
|
215
|
+
"type": "address"
|
|
216
|
+
},
|
|
217
|
+
{
|
|
218
|
+
"indexed": false,
|
|
219
|
+
"internalType": "uint64",
|
|
220
|
+
"name": "nonce",
|
|
221
|
+
"type": "uint64"
|
|
222
|
+
},
|
|
223
|
+
{
|
|
224
|
+
"indexed": false,
|
|
225
|
+
"internalType": "bytes32",
|
|
226
|
+
"name": "payloadHash",
|
|
227
|
+
"type": "bytes32"
|
|
228
|
+
}
|
|
229
|
+
],
|
|
230
|
+
"name": "PacketReceived",
|
|
231
|
+
"type": "event"
|
|
232
|
+
},
|
|
233
|
+
{
|
|
234
|
+
"anonymous": false,
|
|
235
|
+
"inputs": [
|
|
236
|
+
{
|
|
237
|
+
"indexed": false,
|
|
238
|
+
"internalType": "bytes",
|
|
239
|
+
"name": "adapterParams",
|
|
240
|
+
"type": "bytes"
|
|
241
|
+
},
|
|
242
|
+
{
|
|
243
|
+
"indexed": false,
|
|
244
|
+
"internalType": "uint16",
|
|
245
|
+
"name": "outboundProofType",
|
|
246
|
+
"type": "uint16"
|
|
247
|
+
}
|
|
248
|
+
],
|
|
249
|
+
"name": "RelayerParams",
|
|
250
|
+
"type": "event"
|
|
251
|
+
},
|
|
252
|
+
{
|
|
253
|
+
"anonymous": false,
|
|
254
|
+
"inputs": [
|
|
255
|
+
{
|
|
256
|
+
"indexed": true,
|
|
257
|
+
"internalType": "uint16",
|
|
258
|
+
"name": "chainId",
|
|
259
|
+
"type": "uint16"
|
|
260
|
+
},
|
|
261
|
+
{
|
|
262
|
+
"indexed": false,
|
|
263
|
+
"internalType": "uint256",
|
|
264
|
+
"name": "size",
|
|
265
|
+
"type": "uint256"
|
|
266
|
+
}
|
|
267
|
+
],
|
|
268
|
+
"name": "SetChainAddressSize",
|
|
269
|
+
"type": "event"
|
|
270
|
+
},
|
|
271
|
+
{
|
|
272
|
+
"anonymous": false,
|
|
273
|
+
"inputs": [
|
|
274
|
+
{
|
|
275
|
+
"indexed": true,
|
|
276
|
+
"internalType": "uint16",
|
|
277
|
+
"name": "chainId",
|
|
278
|
+
"type": "uint16"
|
|
279
|
+
},
|
|
280
|
+
{
|
|
281
|
+
"indexed": true,
|
|
282
|
+
"internalType": "uint16",
|
|
283
|
+
"name": "proofType",
|
|
284
|
+
"type": "uint16"
|
|
285
|
+
},
|
|
286
|
+
{
|
|
287
|
+
"indexed": false,
|
|
288
|
+
"internalType": "bytes",
|
|
289
|
+
"name": "adapterParams",
|
|
290
|
+
"type": "bytes"
|
|
291
|
+
}
|
|
292
|
+
],
|
|
293
|
+
"name": "SetDefaultAdapterParamsForChainId",
|
|
294
|
+
"type": "event"
|
|
295
|
+
},
|
|
296
|
+
{
|
|
297
|
+
"anonymous": false,
|
|
298
|
+
"inputs": [
|
|
299
|
+
{
|
|
300
|
+
"indexed": true,
|
|
301
|
+
"internalType": "uint16",
|
|
302
|
+
"name": "chainId",
|
|
303
|
+
"type": "uint16"
|
|
304
|
+
},
|
|
305
|
+
{
|
|
306
|
+
"indexed": false,
|
|
307
|
+
"internalType": "uint16",
|
|
308
|
+
"name": "inboundProofLib",
|
|
309
|
+
"type": "uint16"
|
|
310
|
+
},
|
|
311
|
+
{
|
|
312
|
+
"indexed": false,
|
|
313
|
+
"internalType": "uint64",
|
|
314
|
+
"name": "inboundBlockConfirm",
|
|
315
|
+
"type": "uint64"
|
|
316
|
+
},
|
|
317
|
+
{
|
|
318
|
+
"indexed": false,
|
|
319
|
+
"internalType": "address",
|
|
320
|
+
"name": "relayer",
|
|
321
|
+
"type": "address"
|
|
322
|
+
},
|
|
323
|
+
{
|
|
324
|
+
"indexed": false,
|
|
325
|
+
"internalType": "uint16",
|
|
326
|
+
"name": "outboundProofType",
|
|
327
|
+
"type": "uint16"
|
|
328
|
+
},
|
|
329
|
+
{
|
|
330
|
+
"indexed": false,
|
|
331
|
+
"internalType": "uint64",
|
|
332
|
+
"name": "outboundBlockConfirm",
|
|
333
|
+
"type": "uint64"
|
|
334
|
+
},
|
|
335
|
+
{
|
|
336
|
+
"indexed": false,
|
|
337
|
+
"internalType": "address",
|
|
338
|
+
"name": "oracle",
|
|
339
|
+
"type": "address"
|
|
340
|
+
}
|
|
341
|
+
],
|
|
342
|
+
"name": "SetDefaultConfigForChainId",
|
|
343
|
+
"type": "event"
|
|
344
|
+
},
|
|
345
|
+
{
|
|
346
|
+
"anonymous": false,
|
|
347
|
+
"inputs": [
|
|
348
|
+
{
|
|
349
|
+
"indexed": true,
|
|
350
|
+
"internalType": "address",
|
|
351
|
+
"name": "tokenAddress",
|
|
352
|
+
"type": "address"
|
|
353
|
+
}
|
|
354
|
+
],
|
|
355
|
+
"name": "SetLayerZeroToken",
|
|
356
|
+
"type": "event"
|
|
357
|
+
},
|
|
358
|
+
{
|
|
359
|
+
"anonymous": false,
|
|
360
|
+
"inputs": [
|
|
361
|
+
{
|
|
362
|
+
"indexed": true,
|
|
363
|
+
"internalType": "uint16",
|
|
364
|
+
"name": "chainId",
|
|
365
|
+
"type": "uint16"
|
|
366
|
+
},
|
|
367
|
+
{
|
|
368
|
+
"indexed": false,
|
|
369
|
+
"internalType": "bytes32",
|
|
370
|
+
"name": "uln",
|
|
371
|
+
"type": "bytes32"
|
|
372
|
+
}
|
|
373
|
+
],
|
|
374
|
+
"name": "SetRemoteUln",
|
|
375
|
+
"type": "event"
|
|
376
|
+
},
|
|
377
|
+
{
|
|
378
|
+
"anonymous": false,
|
|
379
|
+
"inputs": [
|
|
380
|
+
{
|
|
381
|
+
"indexed": true,
|
|
382
|
+
"internalType": "address",
|
|
383
|
+
"name": "treasuryAddress",
|
|
384
|
+
"type": "address"
|
|
385
|
+
}
|
|
386
|
+
],
|
|
387
|
+
"name": "SetTreasury",
|
|
388
|
+
"type": "event"
|
|
389
|
+
},
|
|
390
|
+
{
|
|
391
|
+
"anonymous": false,
|
|
392
|
+
"inputs": [
|
|
393
|
+
{
|
|
394
|
+
"indexed": true,
|
|
395
|
+
"internalType": "address",
|
|
396
|
+
"name": "msgSender",
|
|
397
|
+
"type": "address"
|
|
398
|
+
},
|
|
399
|
+
{
|
|
400
|
+
"indexed": true,
|
|
401
|
+
"internalType": "address",
|
|
402
|
+
"name": "to",
|
|
403
|
+
"type": "address"
|
|
404
|
+
},
|
|
405
|
+
{
|
|
406
|
+
"indexed": false,
|
|
407
|
+
"internalType": "uint256",
|
|
408
|
+
"name": "amount",
|
|
409
|
+
"type": "uint256"
|
|
410
|
+
}
|
|
411
|
+
],
|
|
412
|
+
"name": "WithdrawNative",
|
|
413
|
+
"type": "event"
|
|
414
|
+
},
|
|
415
|
+
{
|
|
416
|
+
"anonymous": false,
|
|
417
|
+
"inputs": [
|
|
418
|
+
{
|
|
419
|
+
"indexed": true,
|
|
420
|
+
"internalType": "address",
|
|
421
|
+
"name": "msgSender",
|
|
422
|
+
"type": "address"
|
|
423
|
+
},
|
|
424
|
+
{
|
|
425
|
+
"indexed": true,
|
|
426
|
+
"internalType": "address",
|
|
427
|
+
"name": "to",
|
|
428
|
+
"type": "address"
|
|
429
|
+
},
|
|
430
|
+
{
|
|
431
|
+
"indexed": false,
|
|
432
|
+
"internalType": "uint256",
|
|
433
|
+
"name": "amount",
|
|
434
|
+
"type": "uint256"
|
|
435
|
+
}
|
|
436
|
+
],
|
|
437
|
+
"name": "WithdrawZRO",
|
|
438
|
+
"type": "event"
|
|
439
|
+
},
|
|
440
|
+
{
|
|
441
|
+
"inputs": [],
|
|
442
|
+
"name": "CONFIG_TYPE_INBOUND_BLOCK_CONFIRMATIONS",
|
|
443
|
+
"outputs": [
|
|
444
|
+
{
|
|
445
|
+
"internalType": "uint256",
|
|
446
|
+
"name": "",
|
|
447
|
+
"type": "uint256"
|
|
448
|
+
}
|
|
449
|
+
],
|
|
450
|
+
"stateMutability": "view",
|
|
451
|
+
"type": "function"
|
|
452
|
+
},
|
|
453
|
+
{
|
|
454
|
+
"inputs": [],
|
|
455
|
+
"name": "CONFIG_TYPE_INBOUND_PROOF_LIBRARY_VERSION",
|
|
456
|
+
"outputs": [
|
|
457
|
+
{
|
|
458
|
+
"internalType": "uint256",
|
|
459
|
+
"name": "",
|
|
460
|
+
"type": "uint256"
|
|
461
|
+
}
|
|
462
|
+
],
|
|
463
|
+
"stateMutability": "view",
|
|
464
|
+
"type": "function"
|
|
465
|
+
},
|
|
466
|
+
{
|
|
467
|
+
"inputs": [],
|
|
468
|
+
"name": "CONFIG_TYPE_ORACLE",
|
|
469
|
+
"outputs": [
|
|
470
|
+
{
|
|
471
|
+
"internalType": "uint256",
|
|
472
|
+
"name": "",
|
|
473
|
+
"type": "uint256"
|
|
474
|
+
}
|
|
475
|
+
],
|
|
476
|
+
"stateMutability": "view",
|
|
477
|
+
"type": "function"
|
|
478
|
+
},
|
|
479
|
+
{
|
|
480
|
+
"inputs": [],
|
|
481
|
+
"name": "CONFIG_TYPE_OUTBOUND_BLOCK_CONFIRMATIONS",
|
|
482
|
+
"outputs": [
|
|
483
|
+
{
|
|
484
|
+
"internalType": "uint256",
|
|
485
|
+
"name": "",
|
|
486
|
+
"type": "uint256"
|
|
487
|
+
}
|
|
488
|
+
],
|
|
489
|
+
"stateMutability": "view",
|
|
490
|
+
"type": "function"
|
|
491
|
+
},
|
|
492
|
+
{
|
|
493
|
+
"inputs": [],
|
|
494
|
+
"name": "CONFIG_TYPE_OUTBOUND_PROOF_TYPE",
|
|
495
|
+
"outputs": [
|
|
496
|
+
{
|
|
497
|
+
"internalType": "uint256",
|
|
498
|
+
"name": "",
|
|
499
|
+
"type": "uint256"
|
|
500
|
+
}
|
|
501
|
+
],
|
|
502
|
+
"stateMutability": "view",
|
|
503
|
+
"type": "function"
|
|
504
|
+
},
|
|
505
|
+
{
|
|
506
|
+
"inputs": [],
|
|
507
|
+
"name": "CONFIG_TYPE_RELAYER",
|
|
508
|
+
"outputs": [
|
|
509
|
+
{
|
|
510
|
+
"internalType": "uint256",
|
|
511
|
+
"name": "",
|
|
512
|
+
"type": "uint256"
|
|
513
|
+
}
|
|
514
|
+
],
|
|
515
|
+
"stateMutability": "view",
|
|
516
|
+
"type": "function"
|
|
517
|
+
},
|
|
518
|
+
{
|
|
519
|
+
"inputs": [
|
|
520
|
+
{
|
|
521
|
+
"internalType": "address",
|
|
522
|
+
"name": "_address",
|
|
523
|
+
"type": "address"
|
|
524
|
+
}
|
|
525
|
+
],
|
|
526
|
+
"name": "accruedNativeFee",
|
|
527
|
+
"outputs": [
|
|
528
|
+
{
|
|
529
|
+
"internalType": "uint256",
|
|
530
|
+
"name": "",
|
|
531
|
+
"type": "uint256"
|
|
532
|
+
}
|
|
533
|
+
],
|
|
534
|
+
"stateMutability": "view",
|
|
535
|
+
"type": "function"
|
|
536
|
+
},
|
|
537
|
+
{
|
|
538
|
+
"inputs": [
|
|
539
|
+
{
|
|
540
|
+
"internalType": "uint16",
|
|
541
|
+
"name": "_chainId",
|
|
542
|
+
"type": "uint16"
|
|
543
|
+
},
|
|
544
|
+
{
|
|
545
|
+
"internalType": "address",
|
|
546
|
+
"name": "_library",
|
|
547
|
+
"type": "address"
|
|
548
|
+
}
|
|
549
|
+
],
|
|
550
|
+
"name": "addInboundProofLibraryForChain",
|
|
551
|
+
"outputs": [],
|
|
552
|
+
"stateMutability": "nonpayable",
|
|
553
|
+
"type": "function"
|
|
554
|
+
},
|
|
555
|
+
{
|
|
556
|
+
"inputs": [
|
|
557
|
+
{
|
|
558
|
+
"internalType": "address",
|
|
559
|
+
"name": "",
|
|
560
|
+
"type": "address"
|
|
561
|
+
},
|
|
562
|
+
{
|
|
563
|
+
"internalType": "uint16",
|
|
564
|
+
"name": "",
|
|
565
|
+
"type": "uint16"
|
|
566
|
+
}
|
|
567
|
+
],
|
|
568
|
+
"name": "appConfig",
|
|
569
|
+
"outputs": [
|
|
570
|
+
{
|
|
571
|
+
"internalType": "uint16",
|
|
572
|
+
"name": "inboundProofLibraryVersion",
|
|
573
|
+
"type": "uint16"
|
|
574
|
+
},
|
|
575
|
+
{
|
|
576
|
+
"internalType": "uint64",
|
|
577
|
+
"name": "inboundBlockConfirmations",
|
|
578
|
+
"type": "uint64"
|
|
579
|
+
},
|
|
580
|
+
{
|
|
581
|
+
"internalType": "address",
|
|
582
|
+
"name": "relayer",
|
|
583
|
+
"type": "address"
|
|
584
|
+
},
|
|
585
|
+
{
|
|
586
|
+
"internalType": "uint16",
|
|
587
|
+
"name": "outboundProofType",
|
|
588
|
+
"type": "uint16"
|
|
589
|
+
},
|
|
590
|
+
{
|
|
591
|
+
"internalType": "uint64",
|
|
592
|
+
"name": "outboundBlockConfirmations",
|
|
593
|
+
"type": "uint64"
|
|
594
|
+
},
|
|
595
|
+
{
|
|
596
|
+
"internalType": "address",
|
|
597
|
+
"name": "oracle",
|
|
598
|
+
"type": "address"
|
|
599
|
+
}
|
|
600
|
+
],
|
|
601
|
+
"stateMutability": "view",
|
|
602
|
+
"type": "function"
|
|
603
|
+
},
|
|
604
|
+
{
|
|
605
|
+
"inputs": [
|
|
606
|
+
{
|
|
607
|
+
"internalType": "uint16",
|
|
608
|
+
"name": "",
|
|
609
|
+
"type": "uint16"
|
|
610
|
+
}
|
|
611
|
+
],
|
|
612
|
+
"name": "chainAddressSizeMap",
|
|
613
|
+
"outputs": [
|
|
614
|
+
{
|
|
615
|
+
"internalType": "uint256",
|
|
616
|
+
"name": "",
|
|
617
|
+
"type": "uint256"
|
|
618
|
+
}
|
|
619
|
+
],
|
|
620
|
+
"stateMutability": "view",
|
|
621
|
+
"type": "function"
|
|
622
|
+
},
|
|
623
|
+
{
|
|
624
|
+
"inputs": [
|
|
625
|
+
{
|
|
626
|
+
"internalType": "uint16",
|
|
627
|
+
"name": "",
|
|
628
|
+
"type": "uint16"
|
|
629
|
+
},
|
|
630
|
+
{
|
|
631
|
+
"internalType": "uint16",
|
|
632
|
+
"name": "",
|
|
633
|
+
"type": "uint16"
|
|
634
|
+
}
|
|
635
|
+
],
|
|
636
|
+
"name": "defaultAdapterParams",
|
|
637
|
+
"outputs": [
|
|
638
|
+
{
|
|
639
|
+
"internalType": "bytes",
|
|
640
|
+
"name": "",
|
|
641
|
+
"type": "bytes"
|
|
642
|
+
}
|
|
643
|
+
],
|
|
644
|
+
"stateMutability": "view",
|
|
645
|
+
"type": "function"
|
|
646
|
+
},
|
|
647
|
+
{
|
|
648
|
+
"inputs": [
|
|
649
|
+
{
|
|
650
|
+
"internalType": "uint16",
|
|
651
|
+
"name": "",
|
|
652
|
+
"type": "uint16"
|
|
653
|
+
}
|
|
654
|
+
],
|
|
655
|
+
"name": "defaultAppConfig",
|
|
656
|
+
"outputs": [
|
|
657
|
+
{
|
|
658
|
+
"internalType": "uint16",
|
|
659
|
+
"name": "inboundProofLibraryVersion",
|
|
660
|
+
"type": "uint16"
|
|
661
|
+
},
|
|
662
|
+
{
|
|
663
|
+
"internalType": "uint64",
|
|
664
|
+
"name": "inboundBlockConfirmations",
|
|
665
|
+
"type": "uint64"
|
|
666
|
+
},
|
|
667
|
+
{
|
|
668
|
+
"internalType": "address",
|
|
669
|
+
"name": "relayer",
|
|
670
|
+
"type": "address"
|
|
671
|
+
},
|
|
672
|
+
{
|
|
673
|
+
"internalType": "uint16",
|
|
674
|
+
"name": "outboundProofType",
|
|
675
|
+
"type": "uint16"
|
|
676
|
+
},
|
|
677
|
+
{
|
|
678
|
+
"internalType": "uint64",
|
|
679
|
+
"name": "outboundBlockConfirmations",
|
|
680
|
+
"type": "uint64"
|
|
681
|
+
},
|
|
682
|
+
{
|
|
683
|
+
"internalType": "address",
|
|
684
|
+
"name": "oracle",
|
|
685
|
+
"type": "address"
|
|
686
|
+
}
|
|
687
|
+
],
|
|
688
|
+
"stateMutability": "view",
|
|
689
|
+
"type": "function"
|
|
690
|
+
},
|
|
691
|
+
{
|
|
692
|
+
"inputs": [
|
|
693
|
+
{
|
|
694
|
+
"internalType": "uint16",
|
|
695
|
+
"name": "_chainId",
|
|
696
|
+
"type": "uint16"
|
|
697
|
+
},
|
|
698
|
+
{
|
|
699
|
+
"internalType": "uint16",
|
|
700
|
+
"name": "_proofType",
|
|
701
|
+
"type": "uint16"
|
|
702
|
+
}
|
|
703
|
+
],
|
|
704
|
+
"name": "enableSupportedOutboundProof",
|
|
705
|
+
"outputs": [],
|
|
706
|
+
"stateMutability": "nonpayable",
|
|
707
|
+
"type": "function"
|
|
708
|
+
},
|
|
709
|
+
{
|
|
710
|
+
"inputs": [],
|
|
711
|
+
"name": "endpoint",
|
|
712
|
+
"outputs": [
|
|
713
|
+
{
|
|
714
|
+
"internalType": "contract ILayerZeroEndpoint",
|
|
715
|
+
"name": "",
|
|
716
|
+
"type": "address"
|
|
717
|
+
}
|
|
718
|
+
],
|
|
719
|
+
"stateMutability": "view",
|
|
720
|
+
"type": "function"
|
|
721
|
+
},
|
|
722
|
+
{
|
|
723
|
+
"inputs": [
|
|
724
|
+
{
|
|
725
|
+
"internalType": "uint16",
|
|
726
|
+
"name": "_dstChainId",
|
|
727
|
+
"type": "uint16"
|
|
728
|
+
},
|
|
729
|
+
{
|
|
730
|
+
"internalType": "address",
|
|
731
|
+
"name": "_ua",
|
|
732
|
+
"type": "address"
|
|
733
|
+
},
|
|
734
|
+
{
|
|
735
|
+
"internalType": "bytes",
|
|
736
|
+
"name": "_payload",
|
|
737
|
+
"type": "bytes"
|
|
738
|
+
},
|
|
739
|
+
{
|
|
740
|
+
"internalType": "bool",
|
|
741
|
+
"name": "_payInZRO",
|
|
742
|
+
"type": "bool"
|
|
743
|
+
},
|
|
744
|
+
{
|
|
745
|
+
"internalType": "bytes",
|
|
746
|
+
"name": "_adapterParams",
|
|
747
|
+
"type": "bytes"
|
|
748
|
+
}
|
|
749
|
+
],
|
|
750
|
+
"name": "estimateFees",
|
|
751
|
+
"outputs": [
|
|
752
|
+
{
|
|
753
|
+
"internalType": "uint256",
|
|
754
|
+
"name": "nativeFee",
|
|
755
|
+
"type": "uint256"
|
|
756
|
+
},
|
|
757
|
+
{
|
|
758
|
+
"internalType": "uint256",
|
|
759
|
+
"name": "zroFee",
|
|
760
|
+
"type": "uint256"
|
|
761
|
+
}
|
|
762
|
+
],
|
|
763
|
+
"stateMutability": "view",
|
|
764
|
+
"type": "function"
|
|
765
|
+
},
|
|
766
|
+
{
|
|
767
|
+
"inputs": [
|
|
768
|
+
{
|
|
769
|
+
"internalType": "uint16",
|
|
770
|
+
"name": "_remoteChainId",
|
|
771
|
+
"type": "uint16"
|
|
772
|
+
},
|
|
773
|
+
{
|
|
774
|
+
"internalType": "address",
|
|
775
|
+
"name": "_ua",
|
|
776
|
+
"type": "address"
|
|
777
|
+
}
|
|
778
|
+
],
|
|
779
|
+
"name": "getAppConfig",
|
|
780
|
+
"outputs": [
|
|
781
|
+
{
|
|
782
|
+
"components": [
|
|
783
|
+
{
|
|
784
|
+
"internalType": "uint16",
|
|
785
|
+
"name": "inboundProofLibraryVersion",
|
|
786
|
+
"type": "uint16"
|
|
787
|
+
},
|
|
788
|
+
{
|
|
789
|
+
"internalType": "uint64",
|
|
790
|
+
"name": "inboundBlockConfirmations",
|
|
791
|
+
"type": "uint64"
|
|
792
|
+
},
|
|
793
|
+
{
|
|
794
|
+
"internalType": "address",
|
|
795
|
+
"name": "relayer",
|
|
796
|
+
"type": "address"
|
|
797
|
+
},
|
|
798
|
+
{
|
|
799
|
+
"internalType": "uint16",
|
|
800
|
+
"name": "outboundProofType",
|
|
801
|
+
"type": "uint16"
|
|
802
|
+
},
|
|
803
|
+
{
|
|
804
|
+
"internalType": "uint64",
|
|
805
|
+
"name": "outboundBlockConfirmations",
|
|
806
|
+
"type": "uint64"
|
|
807
|
+
},
|
|
808
|
+
{
|
|
809
|
+
"internalType": "address",
|
|
810
|
+
"name": "oracle",
|
|
811
|
+
"type": "address"
|
|
812
|
+
}
|
|
813
|
+
],
|
|
814
|
+
"internalType": "struct ILayerZeroUltraLightNodeV2.ApplicationConfiguration",
|
|
815
|
+
"name": "",
|
|
816
|
+
"type": "tuple"
|
|
817
|
+
}
|
|
818
|
+
],
|
|
819
|
+
"stateMutability": "view",
|
|
820
|
+
"type": "function"
|
|
821
|
+
},
|
|
822
|
+
{
|
|
823
|
+
"inputs": [
|
|
824
|
+
{
|
|
825
|
+
"internalType": "uint16",
|
|
826
|
+
"name": "_remoteChainId",
|
|
827
|
+
"type": "uint16"
|
|
828
|
+
},
|
|
829
|
+
{
|
|
830
|
+
"internalType": "address",
|
|
831
|
+
"name": "_ua",
|
|
832
|
+
"type": "address"
|
|
833
|
+
},
|
|
834
|
+
{
|
|
835
|
+
"internalType": "uint256",
|
|
836
|
+
"name": "_configType",
|
|
837
|
+
"type": "uint256"
|
|
838
|
+
}
|
|
839
|
+
],
|
|
840
|
+
"name": "getConfig",
|
|
841
|
+
"outputs": [
|
|
842
|
+
{
|
|
843
|
+
"internalType": "bytes",
|
|
844
|
+
"name": "",
|
|
845
|
+
"type": "bytes"
|
|
846
|
+
}
|
|
847
|
+
],
|
|
848
|
+
"stateMutability": "view",
|
|
849
|
+
"type": "function"
|
|
850
|
+
},
|
|
851
|
+
{
|
|
852
|
+
"inputs": [
|
|
853
|
+
{
|
|
854
|
+
"internalType": "uint16",
|
|
855
|
+
"name": "_chainId",
|
|
856
|
+
"type": "uint16"
|
|
857
|
+
},
|
|
858
|
+
{
|
|
859
|
+
"internalType": "bytes",
|
|
860
|
+
"name": "_path",
|
|
861
|
+
"type": "bytes"
|
|
862
|
+
}
|
|
863
|
+
],
|
|
864
|
+
"name": "getOutboundNonce",
|
|
865
|
+
"outputs": [
|
|
866
|
+
{
|
|
867
|
+
"internalType": "uint64",
|
|
868
|
+
"name": "",
|
|
869
|
+
"type": "uint64"
|
|
870
|
+
}
|
|
871
|
+
],
|
|
872
|
+
"stateMutability": "view",
|
|
873
|
+
"type": "function"
|
|
874
|
+
},
|
|
875
|
+
{
|
|
876
|
+
"inputs": [
|
|
877
|
+
{
|
|
878
|
+
"internalType": "address",
|
|
879
|
+
"name": "",
|
|
880
|
+
"type": "address"
|
|
881
|
+
},
|
|
882
|
+
{
|
|
883
|
+
"internalType": "uint16",
|
|
884
|
+
"name": "",
|
|
885
|
+
"type": "uint16"
|
|
886
|
+
},
|
|
887
|
+
{
|
|
888
|
+
"internalType": "bytes32",
|
|
889
|
+
"name": "",
|
|
890
|
+
"type": "bytes32"
|
|
891
|
+
},
|
|
892
|
+
{
|
|
893
|
+
"internalType": "bytes32",
|
|
894
|
+
"name": "",
|
|
895
|
+
"type": "bytes32"
|
|
896
|
+
}
|
|
897
|
+
],
|
|
898
|
+
"name": "hashLookup",
|
|
899
|
+
"outputs": [
|
|
900
|
+
{
|
|
901
|
+
"internalType": "uint256",
|
|
902
|
+
"name": "",
|
|
903
|
+
"type": "uint256"
|
|
904
|
+
}
|
|
905
|
+
],
|
|
906
|
+
"stateMutability": "view",
|
|
907
|
+
"type": "function"
|
|
908
|
+
},
|
|
909
|
+
{
|
|
910
|
+
"inputs": [
|
|
911
|
+
{
|
|
912
|
+
"internalType": "uint16",
|
|
913
|
+
"name": "",
|
|
914
|
+
"type": "uint16"
|
|
915
|
+
},
|
|
916
|
+
{
|
|
917
|
+
"internalType": "uint16",
|
|
918
|
+
"name": "",
|
|
919
|
+
"type": "uint16"
|
|
920
|
+
}
|
|
921
|
+
],
|
|
922
|
+
"name": "inboundProofLibrary",
|
|
923
|
+
"outputs": [
|
|
924
|
+
{
|
|
925
|
+
"internalType": "address",
|
|
926
|
+
"name": "",
|
|
927
|
+
"type": "address"
|
|
928
|
+
}
|
|
929
|
+
],
|
|
930
|
+
"stateMutability": "view",
|
|
931
|
+
"type": "function"
|
|
932
|
+
},
|
|
933
|
+
{
|
|
934
|
+
"inputs": [],
|
|
935
|
+
"name": "layerZeroToken",
|
|
936
|
+
"outputs": [
|
|
937
|
+
{
|
|
938
|
+
"internalType": "contract IERC20",
|
|
939
|
+
"name": "",
|
|
940
|
+
"type": "address"
|
|
941
|
+
}
|
|
942
|
+
],
|
|
943
|
+
"stateMutability": "view",
|
|
944
|
+
"type": "function"
|
|
945
|
+
},
|
|
946
|
+
{
|
|
947
|
+
"inputs": [],
|
|
948
|
+
"name": "localChainId",
|
|
949
|
+
"outputs": [
|
|
950
|
+
{
|
|
951
|
+
"internalType": "uint16",
|
|
952
|
+
"name": "",
|
|
953
|
+
"type": "uint16"
|
|
954
|
+
}
|
|
955
|
+
],
|
|
956
|
+
"stateMutability": "view",
|
|
957
|
+
"type": "function"
|
|
958
|
+
},
|
|
959
|
+
{
|
|
960
|
+
"inputs": [
|
|
961
|
+
{
|
|
962
|
+
"internalType": "uint16",
|
|
963
|
+
"name": "",
|
|
964
|
+
"type": "uint16"
|
|
965
|
+
}
|
|
966
|
+
],
|
|
967
|
+
"name": "maxInboundProofLibrary",
|
|
968
|
+
"outputs": [
|
|
969
|
+
{
|
|
970
|
+
"internalType": "uint16",
|
|
971
|
+
"name": "",
|
|
972
|
+
"type": "uint16"
|
|
973
|
+
}
|
|
974
|
+
],
|
|
975
|
+
"stateMutability": "view",
|
|
976
|
+
"type": "function"
|
|
977
|
+
},
|
|
978
|
+
{
|
|
979
|
+
"inputs": [
|
|
980
|
+
{
|
|
981
|
+
"internalType": "address",
|
|
982
|
+
"name": "",
|
|
983
|
+
"type": "address"
|
|
984
|
+
}
|
|
985
|
+
],
|
|
986
|
+
"name": "nativeFees",
|
|
987
|
+
"outputs": [
|
|
988
|
+
{
|
|
989
|
+
"internalType": "uint256",
|
|
990
|
+
"name": "",
|
|
991
|
+
"type": "uint256"
|
|
992
|
+
}
|
|
993
|
+
],
|
|
994
|
+
"stateMutability": "view",
|
|
995
|
+
"type": "function"
|
|
996
|
+
},
|
|
997
|
+
{
|
|
998
|
+
"inputs": [],
|
|
999
|
+
"name": "nonceContract",
|
|
1000
|
+
"outputs": [
|
|
1001
|
+
{
|
|
1002
|
+
"internalType": "contract NonceContract",
|
|
1003
|
+
"name": "",
|
|
1004
|
+
"type": "address"
|
|
1005
|
+
}
|
|
1006
|
+
],
|
|
1007
|
+
"stateMutability": "view",
|
|
1008
|
+
"type": "function"
|
|
1009
|
+
},
|
|
1010
|
+
{
|
|
1011
|
+
"inputs": [],
|
|
1012
|
+
"name": "owner",
|
|
1013
|
+
"outputs": [
|
|
1014
|
+
{
|
|
1015
|
+
"internalType": "address",
|
|
1016
|
+
"name": "",
|
|
1017
|
+
"type": "address"
|
|
1018
|
+
}
|
|
1019
|
+
],
|
|
1020
|
+
"stateMutability": "view",
|
|
1021
|
+
"type": "function"
|
|
1022
|
+
},
|
|
1023
|
+
{
|
|
1024
|
+
"inputs": [],
|
|
1025
|
+
"name": "renounceOwnership",
|
|
1026
|
+
"outputs": [],
|
|
1027
|
+
"stateMutability": "nonpayable",
|
|
1028
|
+
"type": "function"
|
|
1029
|
+
},
|
|
1030
|
+
{
|
|
1031
|
+
"inputs": [
|
|
1032
|
+
{
|
|
1033
|
+
"internalType": "address",
|
|
1034
|
+
"name": "_ua",
|
|
1035
|
+
"type": "address"
|
|
1036
|
+
},
|
|
1037
|
+
{
|
|
1038
|
+
"internalType": "uint64",
|
|
1039
|
+
"name": "",
|
|
1040
|
+
"type": "uint64"
|
|
1041
|
+
},
|
|
1042
|
+
{
|
|
1043
|
+
"internalType": "uint16",
|
|
1044
|
+
"name": "_dstChainId",
|
|
1045
|
+
"type": "uint16"
|
|
1046
|
+
},
|
|
1047
|
+
{
|
|
1048
|
+
"internalType": "bytes",
|
|
1049
|
+
"name": "_path",
|
|
1050
|
+
"type": "bytes"
|
|
1051
|
+
},
|
|
1052
|
+
{
|
|
1053
|
+
"internalType": "bytes",
|
|
1054
|
+
"name": "_payload",
|
|
1055
|
+
"type": "bytes"
|
|
1056
|
+
},
|
|
1057
|
+
{
|
|
1058
|
+
"internalType": "address payable",
|
|
1059
|
+
"name": "_refundAddress",
|
|
1060
|
+
"type": "address"
|
|
1061
|
+
},
|
|
1062
|
+
{
|
|
1063
|
+
"internalType": "address",
|
|
1064
|
+
"name": "_zroPaymentAddress",
|
|
1065
|
+
"type": "address"
|
|
1066
|
+
},
|
|
1067
|
+
{
|
|
1068
|
+
"internalType": "bytes",
|
|
1069
|
+
"name": "_adapterParams",
|
|
1070
|
+
"type": "bytes"
|
|
1071
|
+
}
|
|
1072
|
+
],
|
|
1073
|
+
"name": "send",
|
|
1074
|
+
"outputs": [],
|
|
1075
|
+
"stateMutability": "payable",
|
|
1076
|
+
"type": "function"
|
|
1077
|
+
},
|
|
1078
|
+
{
|
|
1079
|
+
"inputs": [
|
|
1080
|
+
{
|
|
1081
|
+
"internalType": "uint16",
|
|
1082
|
+
"name": "_chainId",
|
|
1083
|
+
"type": "uint16"
|
|
1084
|
+
},
|
|
1085
|
+
{
|
|
1086
|
+
"internalType": "uint256",
|
|
1087
|
+
"name": "_size",
|
|
1088
|
+
"type": "uint256"
|
|
1089
|
+
}
|
|
1090
|
+
],
|
|
1091
|
+
"name": "setChainAddressSize",
|
|
1092
|
+
"outputs": [],
|
|
1093
|
+
"stateMutability": "nonpayable",
|
|
1094
|
+
"type": "function"
|
|
1095
|
+
},
|
|
1096
|
+
{
|
|
1097
|
+
"inputs": [
|
|
1098
|
+
{
|
|
1099
|
+
"internalType": "uint16",
|
|
1100
|
+
"name": "_remoteChainId",
|
|
1101
|
+
"type": "uint16"
|
|
1102
|
+
},
|
|
1103
|
+
{
|
|
1104
|
+
"internalType": "address",
|
|
1105
|
+
"name": "_ua",
|
|
1106
|
+
"type": "address"
|
|
1107
|
+
},
|
|
1108
|
+
{
|
|
1109
|
+
"internalType": "uint256",
|
|
1110
|
+
"name": "_configType",
|
|
1111
|
+
"type": "uint256"
|
|
1112
|
+
},
|
|
1113
|
+
{
|
|
1114
|
+
"internalType": "bytes",
|
|
1115
|
+
"name": "_config",
|
|
1116
|
+
"type": "bytes"
|
|
1117
|
+
}
|
|
1118
|
+
],
|
|
1119
|
+
"name": "setConfig",
|
|
1120
|
+
"outputs": [],
|
|
1121
|
+
"stateMutability": "nonpayable",
|
|
1122
|
+
"type": "function"
|
|
1123
|
+
},
|
|
1124
|
+
{
|
|
1125
|
+
"inputs": [
|
|
1126
|
+
{
|
|
1127
|
+
"internalType": "uint16",
|
|
1128
|
+
"name": "_chainId",
|
|
1129
|
+
"type": "uint16"
|
|
1130
|
+
},
|
|
1131
|
+
{
|
|
1132
|
+
"internalType": "uint16",
|
|
1133
|
+
"name": "_proofType",
|
|
1134
|
+
"type": "uint16"
|
|
1135
|
+
},
|
|
1136
|
+
{
|
|
1137
|
+
"internalType": "bytes",
|
|
1138
|
+
"name": "_adapterParams",
|
|
1139
|
+
"type": "bytes"
|
|
1140
|
+
}
|
|
1141
|
+
],
|
|
1142
|
+
"name": "setDefaultAdapterParamsForChainId",
|
|
1143
|
+
"outputs": [],
|
|
1144
|
+
"stateMutability": "nonpayable",
|
|
1145
|
+
"type": "function"
|
|
1146
|
+
},
|
|
1147
|
+
{
|
|
1148
|
+
"inputs": [
|
|
1149
|
+
{
|
|
1150
|
+
"internalType": "uint16",
|
|
1151
|
+
"name": "_chainId",
|
|
1152
|
+
"type": "uint16"
|
|
1153
|
+
},
|
|
1154
|
+
{
|
|
1155
|
+
"internalType": "uint16",
|
|
1156
|
+
"name": "_inboundProofLibraryVersion",
|
|
1157
|
+
"type": "uint16"
|
|
1158
|
+
},
|
|
1159
|
+
{
|
|
1160
|
+
"internalType": "uint64",
|
|
1161
|
+
"name": "_inboundBlockConfirmations",
|
|
1162
|
+
"type": "uint64"
|
|
1163
|
+
},
|
|
1164
|
+
{
|
|
1165
|
+
"internalType": "address",
|
|
1166
|
+
"name": "_relayer",
|
|
1167
|
+
"type": "address"
|
|
1168
|
+
},
|
|
1169
|
+
{
|
|
1170
|
+
"internalType": "uint16",
|
|
1171
|
+
"name": "_outboundProofType",
|
|
1172
|
+
"type": "uint16"
|
|
1173
|
+
},
|
|
1174
|
+
{
|
|
1175
|
+
"internalType": "uint64",
|
|
1176
|
+
"name": "_outboundBlockConfirmations",
|
|
1177
|
+
"type": "uint64"
|
|
1178
|
+
},
|
|
1179
|
+
{
|
|
1180
|
+
"internalType": "address",
|
|
1181
|
+
"name": "_oracle",
|
|
1182
|
+
"type": "address"
|
|
1183
|
+
}
|
|
1184
|
+
],
|
|
1185
|
+
"name": "setDefaultConfigForChainId",
|
|
1186
|
+
"outputs": [],
|
|
1187
|
+
"stateMutability": "nonpayable",
|
|
1188
|
+
"type": "function"
|
|
1189
|
+
},
|
|
1190
|
+
{
|
|
1191
|
+
"inputs": [
|
|
1192
|
+
{
|
|
1193
|
+
"internalType": "address",
|
|
1194
|
+
"name": "_layerZeroToken",
|
|
1195
|
+
"type": "address"
|
|
1196
|
+
}
|
|
1197
|
+
],
|
|
1198
|
+
"name": "setLayerZeroToken",
|
|
1199
|
+
"outputs": [],
|
|
1200
|
+
"stateMutability": "nonpayable",
|
|
1201
|
+
"type": "function"
|
|
1202
|
+
},
|
|
1203
|
+
{
|
|
1204
|
+
"inputs": [
|
|
1205
|
+
{
|
|
1206
|
+
"internalType": "uint16",
|
|
1207
|
+
"name": "_remoteChainId",
|
|
1208
|
+
"type": "uint16"
|
|
1209
|
+
},
|
|
1210
|
+
{
|
|
1211
|
+
"internalType": "bytes32",
|
|
1212
|
+
"name": "_remoteUln",
|
|
1213
|
+
"type": "bytes32"
|
|
1214
|
+
}
|
|
1215
|
+
],
|
|
1216
|
+
"name": "setRemoteUln",
|
|
1217
|
+
"outputs": [],
|
|
1218
|
+
"stateMutability": "nonpayable",
|
|
1219
|
+
"type": "function"
|
|
1220
|
+
},
|
|
1221
|
+
{
|
|
1222
|
+
"inputs": [
|
|
1223
|
+
{
|
|
1224
|
+
"internalType": "address",
|
|
1225
|
+
"name": "_treasury",
|
|
1226
|
+
"type": "address"
|
|
1227
|
+
}
|
|
1228
|
+
],
|
|
1229
|
+
"name": "setTreasury",
|
|
1230
|
+
"outputs": [],
|
|
1231
|
+
"stateMutability": "nonpayable",
|
|
1232
|
+
"type": "function"
|
|
1233
|
+
},
|
|
1234
|
+
{
|
|
1235
|
+
"inputs": [
|
|
1236
|
+
{
|
|
1237
|
+
"internalType": "uint16",
|
|
1238
|
+
"name": "",
|
|
1239
|
+
"type": "uint16"
|
|
1240
|
+
},
|
|
1241
|
+
{
|
|
1242
|
+
"internalType": "uint16",
|
|
1243
|
+
"name": "",
|
|
1244
|
+
"type": "uint16"
|
|
1245
|
+
}
|
|
1246
|
+
],
|
|
1247
|
+
"name": "supportedOutboundProof",
|
|
1248
|
+
"outputs": [
|
|
1249
|
+
{
|
|
1250
|
+
"internalType": "bool",
|
|
1251
|
+
"name": "",
|
|
1252
|
+
"type": "bool"
|
|
1253
|
+
}
|
|
1254
|
+
],
|
|
1255
|
+
"stateMutability": "view",
|
|
1256
|
+
"type": "function"
|
|
1257
|
+
},
|
|
1258
|
+
{
|
|
1259
|
+
"inputs": [
|
|
1260
|
+
{
|
|
1261
|
+
"internalType": "address",
|
|
1262
|
+
"name": "newOwner",
|
|
1263
|
+
"type": "address"
|
|
1264
|
+
}
|
|
1265
|
+
],
|
|
1266
|
+
"name": "transferOwnership",
|
|
1267
|
+
"outputs": [],
|
|
1268
|
+
"stateMutability": "nonpayable",
|
|
1269
|
+
"type": "function"
|
|
1270
|
+
},
|
|
1271
|
+
{
|
|
1272
|
+
"inputs": [],
|
|
1273
|
+
"name": "treasuryContract",
|
|
1274
|
+
"outputs": [
|
|
1275
|
+
{
|
|
1276
|
+
"internalType": "contract ILayerZeroTreasury",
|
|
1277
|
+
"name": "",
|
|
1278
|
+
"type": "address"
|
|
1279
|
+
}
|
|
1280
|
+
],
|
|
1281
|
+
"stateMutability": "view",
|
|
1282
|
+
"type": "function"
|
|
1283
|
+
},
|
|
1284
|
+
{
|
|
1285
|
+
"inputs": [],
|
|
1286
|
+
"name": "treasuryZROFees",
|
|
1287
|
+
"outputs": [
|
|
1288
|
+
{
|
|
1289
|
+
"internalType": "uint256",
|
|
1290
|
+
"name": "",
|
|
1291
|
+
"type": "uint256"
|
|
1292
|
+
}
|
|
1293
|
+
],
|
|
1294
|
+
"stateMutability": "view",
|
|
1295
|
+
"type": "function"
|
|
1296
|
+
},
|
|
1297
|
+
{
|
|
1298
|
+
"inputs": [
|
|
1299
|
+
{
|
|
1300
|
+
"internalType": "uint16",
|
|
1301
|
+
"name": "",
|
|
1302
|
+
"type": "uint16"
|
|
1303
|
+
}
|
|
1304
|
+
],
|
|
1305
|
+
"name": "ulnLookup",
|
|
1306
|
+
"outputs": [
|
|
1307
|
+
{
|
|
1308
|
+
"internalType": "bytes32",
|
|
1309
|
+
"name": "",
|
|
1310
|
+
"type": "bytes32"
|
|
1311
|
+
}
|
|
1312
|
+
],
|
|
1313
|
+
"stateMutability": "view",
|
|
1314
|
+
"type": "function"
|
|
1315
|
+
},
|
|
1316
|
+
{
|
|
1317
|
+
"inputs": [
|
|
1318
|
+
{
|
|
1319
|
+
"internalType": "uint16",
|
|
1320
|
+
"name": "_srcChainId",
|
|
1321
|
+
"type": "uint16"
|
|
1322
|
+
},
|
|
1323
|
+
{
|
|
1324
|
+
"internalType": "bytes32",
|
|
1325
|
+
"name": "_lookupHash",
|
|
1326
|
+
"type": "bytes32"
|
|
1327
|
+
},
|
|
1328
|
+
{
|
|
1329
|
+
"internalType": "uint256",
|
|
1330
|
+
"name": "_confirmations",
|
|
1331
|
+
"type": "uint256"
|
|
1332
|
+
},
|
|
1333
|
+
{
|
|
1334
|
+
"internalType": "bytes32",
|
|
1335
|
+
"name": "_blockData",
|
|
1336
|
+
"type": "bytes32"
|
|
1337
|
+
}
|
|
1338
|
+
],
|
|
1339
|
+
"name": "updateHash",
|
|
1340
|
+
"outputs": [],
|
|
1341
|
+
"stateMutability": "nonpayable",
|
|
1342
|
+
"type": "function"
|
|
1343
|
+
},
|
|
1344
|
+
{
|
|
1345
|
+
"inputs": [
|
|
1346
|
+
{
|
|
1347
|
+
"internalType": "uint16",
|
|
1348
|
+
"name": "_srcChainId",
|
|
1349
|
+
"type": "uint16"
|
|
1350
|
+
},
|
|
1351
|
+
{
|
|
1352
|
+
"internalType": "address",
|
|
1353
|
+
"name": "_dstAddress",
|
|
1354
|
+
"type": "address"
|
|
1355
|
+
},
|
|
1356
|
+
{
|
|
1357
|
+
"internalType": "uint256",
|
|
1358
|
+
"name": "_gasLimit",
|
|
1359
|
+
"type": "uint256"
|
|
1360
|
+
},
|
|
1361
|
+
{
|
|
1362
|
+
"internalType": "bytes32",
|
|
1363
|
+
"name": "_lookupHash",
|
|
1364
|
+
"type": "bytes32"
|
|
1365
|
+
},
|
|
1366
|
+
{
|
|
1367
|
+
"internalType": "bytes32",
|
|
1368
|
+
"name": "_blockData",
|
|
1369
|
+
"type": "bytes32"
|
|
1370
|
+
},
|
|
1371
|
+
{
|
|
1372
|
+
"internalType": "bytes",
|
|
1373
|
+
"name": "_transactionProof",
|
|
1374
|
+
"type": "bytes"
|
|
1375
|
+
}
|
|
1376
|
+
],
|
|
1377
|
+
"name": "validateTransactionProof",
|
|
1378
|
+
"outputs": [],
|
|
1379
|
+
"stateMutability": "nonpayable",
|
|
1380
|
+
"type": "function"
|
|
1381
|
+
},
|
|
1382
|
+
{
|
|
1383
|
+
"inputs": [
|
|
1384
|
+
{
|
|
1385
|
+
"internalType": "address payable",
|
|
1386
|
+
"name": "_to",
|
|
1387
|
+
"type": "address"
|
|
1388
|
+
},
|
|
1389
|
+
{
|
|
1390
|
+
"internalType": "uint256",
|
|
1391
|
+
"name": "_amount",
|
|
1392
|
+
"type": "uint256"
|
|
1393
|
+
}
|
|
1394
|
+
],
|
|
1395
|
+
"name": "withdrawNative",
|
|
1396
|
+
"outputs": [],
|
|
1397
|
+
"stateMutability": "nonpayable",
|
|
1398
|
+
"type": "function"
|
|
1399
|
+
},
|
|
1400
|
+
{
|
|
1401
|
+
"inputs": [
|
|
1402
|
+
{
|
|
1403
|
+
"internalType": "address",
|
|
1404
|
+
"name": "_to",
|
|
1405
|
+
"type": "address"
|
|
1406
|
+
},
|
|
1407
|
+
{
|
|
1408
|
+
"internalType": "uint256",
|
|
1409
|
+
"name": "_amount",
|
|
1410
|
+
"type": "uint256"
|
|
1411
|
+
}
|
|
1412
|
+
],
|
|
1413
|
+
"name": "withdrawZRO",
|
|
1414
|
+
"outputs": [],
|
|
1415
|
+
"stateMutability": "nonpayable",
|
|
1416
|
+
"type": "function"
|
|
1417
|
+
}
|
|
1418
|
+
],
|
|
1419
|
+
"bytecode": "0x60e06040523480156200001157600080fd5b50d380156200001f57600080fd5b50d280156200002d57600080fd5b5060405162005a7e38038062005a7e833981016040819052620000509162000167565b60016000908155620000616200013a565b600180546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506001600160a01b038316620000e15760405162461bcd60e51b8152600401620000d890620001b9565b60405180910390fd5b6001600160a01b0382166200010a5760405162461bcd60e51b8152600401620000d89062000203565b60f01b6001600160f01b03191660a052606091821b6001600160601b0319908116608052911b1660c05262000252565b3390565b80516000906001600160a81b038116811462000158578182fd5b6001600160a01b031692915050565b6000806000606084860312156200017c578283fd5b62000187846200013e565b925062000197602085016200013e565b9150604084015161ffff81168114620001ae578182fd5b809150509250925092565b6020808252602a908201527f4c617965725a65726f3a20656e64706f696e742063616e6e6f74206265207a65604082015269726f206164647265737360b01b606082015260800190565b6020808252602f908201527f4c617965725a65726f3a206e6f6e6365436f6e74726163742063616e6e6f742060408201526e6265207a65726f206164647265737360881b606082015260800190565b60805160601c60a05160f01c60c05160601c6157d3620002ab60003980610cab52806114a35280612ad65250806116ad5280611bae528061284d5250806112fc5280611bd252806129da528061306a52506157d36000f3fe6080604052600436106102e75760003560e01c80638317814a11610184578063d543c774116100d6578063ed28580a1161008a578063f47a5feb11610064578063f47a5feb14610c06578063f58589a214610c35578063f8e1734c14610c6f576102e7565b8063ed28580a14610b58578063f0f4426014610b92578063f2fde38b14610bcc576102e7565b8063ddfdef5a116100bb578063ddfdef5a14610aaa578063ea216c2114610ae4578063eb0d4c3114610b1e576102e7565b8063d543c77414610a29578063db00719b14610a70576102e7565b8063959f594311610138578063b77d22ad11610112578063b77d22ad14610979578063b8e7e3e0146109a8578063b9a99bed146109e2576102e7565b8063959f5943146108be578063987fa2d5146108f8578063a466222214610932576102e7565b806387078f9f1161016957806387078f9f146108265780638da5cb5b14610860578063904d3b8d1461088f576102e7565b80638317814a146107b25780638525b711146107ec576102e7565b806352d2871f1161023d5780636a14ac82116101f1578063759c5b3b116101cb578063759c5b3b1461070f5780638140666e146107495780638207f79d14610778576102e7565b80636a14ac821461066c578063704316e5146106a6578063715018a6146106e0576102e7565b80635b056da5116102225780635b056da5146105c75780635e280f111461060357806369412bfa14610632576102e7565b806352d2871f1461055357806352d3b5001461058d576102e7565b80632cfacb061161029f57806340a7bb101161027957806340a7bb10146104c957806349148c37146105115780634d3a0f7c14610540576102e7565b80632cfacb06146104125780632f8134641461044e57806331bd24301461049a576102e7565b806307b9ca7c116102d057806307b9ca7c1461036d57806318da00111461039c5780632a819bbf146103cb576102e7565b806302bd9743146102ec57806307b18bde14610331575b600080fd5b3480156102f857600080fd5b50d3801561030557600080fd5b50d2801561031257600080fd5b5061031b610ca9565b6040516103289190614992565b60405180910390f35b34801561033d57600080fd5b50d3801561034a57600080fd5b50d2801561035757600080fd5b5061036b6103663660046140bb565b610ccd565b005b34801561037957600080fd5b50d3801561038657600080fd5b50d2801561039357600080fd5b5061031b610e57565b3480156103a857600080fd5b50d380156103b557600080fd5b50d280156103c257600080fd5b5061031b610e66565b3480156103d757600080fd5b50d380156103e457600080fd5b50d280156103f157600080fd5b50610405610400366004614663565b610e75565b6040516103289190614a27565b34801561041e57600080fd5b50d3801561042b57600080fd5b50d2801561043857600080fd5b50610441610f37565b60405161032891906149c9565b34801561045a57600080fd5b50d3801561046757600080fd5b50d2801561047457600080fd5b5061048861048336600461435c565b610f3c565b6040516103289695949392919061561d565b3480156104a657600080fd5b50d380156104b357600080fd5b50d280156104c057600080fd5b50610441610fc0565b3480156104d557600080fd5b50d380156104e257600080fd5b50d280156104ef57600080fd5b506105036104fe3660046143b9565b610fc5565b604051610328929190615666565b34801561051d57600080fd5b50d3801561052a57600080fd5b50d2801561053757600080fd5b506104416112f5565b61036b61054e366004614190565b6112fa565b34801561055f57600080fd5b50d3801561056c57600080fd5b50d2801561057957600080fd5b5061040561058836600461446d565b611746565b34801561059957600080fd5b50d380156105a657600080fd5b50d280156105b357600080fd5b5061036b6105c236600461408f565b611ab0565b3480156105d357600080fd5b50d380156105e057600080fd5b50d280156105ed57600080fd5b506105f6611bac565b60405161032891906154e8565b34801561060f57600080fd5b50d3801561061c57600080fd5b50d2801561062957600080fd5b5061031b611bd0565b34801561063e57600080fd5b50d3801561064b57600080fd5b50d2801561065857600080fd5b5061044161066736600461408f565b611bf4565b34801561067857600080fd5b50d3801561068557600080fd5b50d2801561069257600080fd5b5061036b6106a13660046146f3565b611c13565b3480156106b257600080fd5b50d380156106bf57600080fd5b50d280156106cc57600080fd5b5061036b6106db3660046145d6565b611f75565b3480156106ec57600080fd5b50d380156106f957600080fd5b50d2801561070657600080fd5b5061036b61203a565b34801561071b57600080fd5b50d3801561072857600080fd5b50d2801561073557600080fd5b50610441610744366004614130565b612110565b34801561075557600080fd5b50d3801561076257600080fd5b50d2801561076f57600080fd5b5061044161213c565b34801561078457600080fd5b50d3801561079157600080fd5b50d2801561079e57600080fd5b5061036b6107ad366004614378565b612141565b3480156107be57600080fd5b50d380156107cb57600080fd5b50d280156107d857600080fd5b5061036b6107e7366004614690565b6122da565b3480156107f857600080fd5b50d3801561080557600080fd5b50d2801561081257600080fd5b5061036b61082136600461417e565b6123c3565b34801561083257600080fd5b50d3801561083f57600080fd5b50d2801561084c57600080fd5b5061036b61085b3660046145ab565b6124c5565b34801561086c57600080fd5b50d3801561087957600080fd5b50d2801561088657600080fd5b5061031b6125bc565b34801561089b57600080fd5b50d380156108a857600080fd5b50d280156108b557600080fd5b506104416125cb565b3480156108ca57600080fd5b50d380156108d757600080fd5b50d280156108e457600080fd5b506104416108f336600461435c565b6125d0565b34801561090457600080fd5b50d3801561091157600080fd5b50d2801561091e57600080fd5b5061036b61092d3660046144b7565b6125e2565b34801561093e57600080fd5b50d3801561094b57600080fd5b50d2801561095857600080fd5b5061096c610967366004614378565b612a76565b604051610328919061547c565b34801561098557600080fd5b50d3801561099257600080fd5b50d2801561099f57600080fd5b50610441612a88565b3480156109b457600080fd5b50d380156109c157600080fd5b50d280156109ce57600080fd5b506105f66109dd36600461435c565b612a8d565b3480156109ee57600080fd5b50d380156109fb57600080fd5b50d28015610a0857600080fd5b50610a1c610a17366004614610565b612aa3565b6040516103289190615674565b348015610a3557600080fd5b50d38015610a4257600080fd5b50d28015610a4f57600080fd5b50610a63610a5e366004614663565b612b67565b60405161032891906149a6565b348015610a7c57600080fd5b50d38015610a8957600080fd5b50d28015610a9657600080fd5b5061031b610aa5366004614663565b612b87565b348015610ab657600080fd5b50d38015610ac357600080fd5b50d28015610ad057600080fd5b50610488610adf3660046140ef565b612bad565b348015610af057600080fd5b50d38015610afd57600080fd5b50d28015610b0a57600080fd5b50610441610b1936600461435c565b612c3c565b348015610b2a57600080fd5b50d38015610b3757600080fd5b50d28015610b4457600080fd5b5061036b610b53366004614663565b612c4e565b348015610b6457600080fd5b50d38015610b7157600080fd5b50d28015610b7e57600080fd5b5061036b610b8d3660046145ab565b612d3c565b348015610b9e57600080fd5b50d38015610bab57600080fd5b50d28015610bb857600080fd5b5061036b610bc736600461408f565b612e27565b348015610bd857600080fd5b50d38015610be557600080fd5b50d28015610bf257600080fd5b5061036b610c0136600461408f565b612f23565b348015610c1257600080fd5b50d38015610c1f57600080fd5b50d28015610c2c57600080fd5b50610441613050565b348015610c4157600080fd5b50d38015610c4e57600080fd5b50d28015610c5b57600080fd5b50610441610c6a36600461408f565b613056565b348015610c7b57600080fd5b50d38015610c8857600080fd5b50d28015610c9557600080fd5b5061036b610ca4366004614531565b613068565b7f000000000000000000000000000000000000000000000000000000000000000081565b60026000541415610d25576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60026000556001600160a01b038216610d595760405162461bcd60e51b8152600401610d5090614c4b565b60405180910390fd5b33600090815260046020526040902054610d7390826133cf565b336000908152600460205260408082209290925590516001600160a01b038416908390610d9f906148c7565b60006040518083038185875af1925050503d8060008114610ddc576040519150601f19603f3d011682016040523d82523d6000602084013e610de1565b606091505b5050905080610e025760405162461bcd60e51b8152600401610d5090614bb7565b826001600160a01b0316336001600160a01b03167f3bfd26201736b5cb14a562ab3cfc2bef76901726e3a78483d6288af47131e1d984604051610e4591906149c9565b60405180910390a35050600160005550565b6002546001600160a01b031681565b6003546001600160a01b031681565b60086020908152600092835260408084208252918352918190208054825160026001831615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190921691909104601f810185900485028201850190935282815292909190830182828015610f2f5780601f10610f0457610100808354040283529160200191610f2f565b820191906000526020600020905b815481529060010190602001808311610f1257829003601f168201915b505050505081565b600381565b6007602052600090815260409020805460019091015461ffff8083169267ffffffffffffffff6201000082048116936001600160a01b036a010000000000000000000084048116947e010000000000000000000000000000000000000000000000000000000000009094049093169291811691680100000000000000009091041686565b600681565b6000806000610fd48a8a61342c565b90506060841561101d5785858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509293506110ec92505050565b61ffff808c166000908152600860209081526040808320606087015190941683529281529082902080548351601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610100600186161502019093169290920491820184900484028101840190945280845290918301828280156110e45780601f106110b9576101008083540402835291602001916110e4565b820191906000526020600020905b8154815290600101906020018083116110c757829003601f168201915b505050505090505b600082604001516001600160a01b031663c03f15298d85606001518e8e8e9050876040518663ffffffff1660e01b815260040161112d9594939291906155ab565b60206040518083038186803b15801561114557600080fd5b505afa158015611159573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061117d919061479b565b905060008b905060008460a001516001600160a01b0316635553fb8e8f87606001518860800151866040518563ffffffff1660e01b81526004016111c494939291906155e7565b60206040518083038186803b1580156111dc57600080fd5b505afa1580156111f0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611214919061479b565b6003546040517f5cbbbd750000000000000000000000000000000000000000000000000000000081529192506000916001600160a01b0390911690635cbbbd7590611267908e90889087906004016149b1565b60206040518083038186803b15801561127f57600080fd5b505afa158015611293573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b7919061479b565b90508a6112c757809750876112cc565b809650865b506112e1826112db8a876135f7565b906135f7565b975050505050505097509795505050505050565b600281565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146113425760405162461bcd60e51b8152600401610d5090615274565b61ffff89166000908152600e60205260409020548b908a906113765760405162461bcd60e51b8152600401610d5090614aec565b61ffff81166000908152600c602052604081205460609190801580159061139f5750601481018c145b6113bb5760405162461bcd60e51b8152600401610d5090615308565b6000808e8e8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505083810160140151925090506001600160a01b038781169083161461142a5760405162461bcd60e51b8152600401610d5090614f55565b8e8e600090859261143d939291906156ad565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040517f6fe7b673000000000000000000000000000000000000000000000000000000008152929750506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691636fe7b67391506114dd9089908b9086906004016154f7565b602060405180830381600087803b1580156114f757600080fd5b505af115801561150b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061152f91906147cf565b935050505060008a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093945061157b925087915088905061342c565b905060006115c386838986518d8d8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061365192505050565b905060006115d287848a61382b565b905060006115e283838b8f6138e5565b905060006115f4826112db86866135f7565b9050348111156116165760405162461bcd60e51b8152600401610d5090614bee565b600061162234836133cf565b905080156116a85760008f6001600160a01b031682604051611643906148c7565b60006040518083038185875af1925050503d8060008114611680576040519150601f19603f3d011682016040523d82523d6000602084013e611685565b606091505b50509050806116a65760405162461bcd60e51b8152600401610d5090614d62565b505b6000887f00000000000000000000000000000000000000000000000000000000000000008d8d8d8c6040516020016116e5969594939291906148ca565b60405160208183030381529060405290507fe9bded5f24a4168e4f3bf44e00298c993b22376aad8c58c7dda9718a54cbea82816040516117259190614a27565b60405180910390a15050505050505050505050505050505050505050505050565b6001600160a01b038216600090815260066020908152604080832061ffff87168452909152902060609060018314156117da57805461ffff166117c45761ffff8086166000908152600760209081526040918290205491516117ad939290921691016154e8565b604051602081830303815290604052915050611aa9565b80546040516117ad9161ffff16906020016154e8565b600283141561185057805462010000900467ffffffffffffffff1661182e5761ffff85166000908152600760209081526040918290205491516117ad9262010000900467ffffffffffffffff169101615674565b80546040516117ad9162010000900467ffffffffffffffff1690602001615674565b60038314156118db5780546a010000000000000000000090046001600160a01b03166118b25761ffff85166000908152600760209081526040918290205491516117ad926a010000000000000000000090046001600160a01b03169101614992565b80546040516117ad916a010000000000000000000090046001600160a01b031690602001614992565b60048314156119945780547e01000000000000000000000000000000000000000000000000000000000000900461ffff1661195c5761ffff8086166000908152600760209081526040918290205491516117ad937e0100000000000000000000000000000000000000000000000000000000000090930490921691016154e8565b80546040516117ad917e01000000000000000000000000000000000000000000000000000000000000900461ffff16906020016154e8565b6005831415611a0157600181015467ffffffffffffffff166119e25761ffff85166000908152600760209081526040918290206001015491516117ad9267ffffffffffffffff169101615674565b60018101546040516117ad9167ffffffffffffffff1690602001615674565b6006831415611a8f5760018101546801000000000000000090046001600160a01b0316611a655761ffff85166000908152600760209081526040918290206001015491516117ad926801000000000000000090046001600160a01b03169101614992565b60018101546040516117ad916801000000000000000090046001600160a01b031690602001614992565b60405162461bcd60e51b8152600401610d5090614b80565b505b9392505050565b611ab8613a4f565b6001600160a01b0316611ac96125bc565b6001600160a01b031614611b24576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b038116611b4a5760405162461bcd60e51b8152600401610d5090614ca8565b600280547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0383169081179091556040517f33d644987381deff4408951d55afa136f124e22a7810b163b2aaa3ebef770f6490600090a250565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6001600160a01b0381166000908152600460205260409020545b919050565b611c1b613a4f565b6001600160a01b0316611c2c6125bc565b6001600160a01b031614611c87576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61ffff8088166000908152600a6020526040902054811690871611801590611cb3575060008661ffff16115b611ccf5760405162461bcd60e51b8152600401610d50906150a3565b60008567ffffffffffffffff1611611cf95760405162461bcd60e51b8152600401610d50906153c2565b6001600160a01b038416611d1f5760405162461bcd60e51b8152600401610d5090614d05565b61ffff8088166000908152600b602090815260408083209387168352929052205460ff16611d5f5760405162461bcd60e51b8152600401610d5090614a8f565b60008267ffffffffffffffff1611611d895760405162461bcd60e51b8152600401610d50906152ab565b6001600160a01b038116611daf5760405162461bcd60e51b8152600401610d5090614e2d565b6040518060c001604052808761ffff1681526020018667ffffffffffffffff168152602001856001600160a01b031681526020018461ffff1681526020018367ffffffffffffffff168152602001826001600160a01b0316815250600760008961ffff1661ffff16815260200190815260200160002060008201518160000160006101000a81548161ffff021916908361ffff16021790555060208201518160000160026101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550604082015181600001600a6101000a8154816001600160a01b0302191690836001600160a01b03160217905550606082015181600001601e6101000a81548161ffff021916908361ffff16021790555060808201518160010160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060a08201518160010160086101000a8154816001600160a01b0302191690836001600160a01b031602179055509050508661ffff167f5a76432853a0871c4e780def7f3ffc7912339b53f022ac31127fe5ff84a36fa1878787878787604051611f649695949392919061561d565b60405180910390a250505050505050565b336000908152600d6020908152604080832061ffff8816845282528083208684528252808320848452909152902054828110611fc35760405162461bcd60e51b8152600401610d5090614fe9565b336000818152600d6020908152604080832061ffff8a1680855290835281842089855283528184208785529092529182902086905590517f74bbc026808dcba59692d6a8bb20596849ca718e10e2432c6cdf48af865bc5d99061202b908890879089906149d2565b60405180910390a35050505050565b612042613a4f565b6001600160a01b03166120536125bc565b6001600160a01b0316146120ae576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b600d60209081526000948552604080862082529385528385208152918452828420909152825290205481565b600481565b612149613a4f565b6001600160a01b031661215a6125bc565b6001600160a01b0316146121b5576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b0381166121db5760405162461bcd60e51b8152600401610d5090614f8c565b61ffff8083166000908152600a602052604090205481169081106122115760405162461bcd60e51b8152600401610d5090615217565b61ffff8381166000818152600a6020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001660019790970195861696871790556009825280832095835294905283902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03861617905591519091907f802d55279d51813cb7a9a98e8fd2d7bec5346cb830901c11b85d1650cb857e9a906122cd908590614992565b60405180910390a2505050565b6122e2613a4f565b6001600160a01b03166122f36125bc565b6001600160a01b03161461234e576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61ffff8085166000908152600860209081526040808320938716835292905220612379908383613e47565b508261ffff168461ffff167f4a5695eee2a74d548d5f5c485a3de99ace99e3b664c8e30a90f49be6ebb5493284846040516123b5929190614a13565b60405180910390a350505050565b6002600054141561241b576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60026000556003546001600160a01b0316331461244a5760405162461bcd60e51b8152600401610d5090614b49565b60055461245790826133cf565b600555600254612471906001600160a01b03168383613a53565b816001600160a01b0316336001600160a01b03167f3a20c8c3cd1848485ae8261a52398bb9b26f195b717306b3cf7f058e62c095d5836040516124b491906149c9565b60405180910390a350506001600055565b6124cd613a4f565b6001600160a01b03166124de6125bc565b6001600160a01b031614612539576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61ffff82166000908152600c60205260409020541561256a5760405162461bcd60e51b8152600401610d5090615365565b61ffff82166000818152600c602052604090819020839055517f0611bb2107e385b79ec826fff8ecc1c1248a7aae3c875c96668f8cfbf1734220906125b09084906149c9565b60405180910390a25050565b6001546001600160a01b031690565b600581565b600c6020526000908152604090205481565b60006125ee888861342c565b60408101519091506001600160a01b0316331461261d5760405162461bcd60e51b8152600401610d5090614f1e565b612625613ef1565b61ffff89166000908152600c6020526040902054806126565760405162461bcd60e51b8152600401610d5090615308565b60a08301516001600160a01b03166000908152600d6020908152604080832061ffff8e16845282528083208a8452825280832089845290915290205480158015906126af5750836020015167ffffffffffffffff168110155b6126cb5760405162461bcd60e51b8152600401610d509061541f565b61ffff808c166000908152600960209081526040808320885190941683529290528190205490517fb71e0f710000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690819063b71e0f719061273d908b908b908b9089906004016149e8565b600060405180830381600087803b15801561275757600080fd5b505af115801561276b573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526127b19190810190614280565b60a081015161ffff8e166000908152600e60205260409020549195501491505080156127e0575060a082015115155b6127fc5760405162461bcd60e51b8152600401610d5090614e8a565b8961ffff16826000015161ffff16146128275760405162461bcd60e51b8152600401610d5090614ee7565b808260800151511461284b5760405162461bcd60e51b8152600401610d5090615100565b7f000000000000000000000000000000000000000000000000000000000000000061ffff16826020015161ffff16146128965760405162461bcd60e51b8152600401610d509061506c565b886001600160a01b031682606001516001600160a01b0316146128cb5760405162461bcd60e51b8152600401610d5090614df6565b6128d489613ad8565b6129455781606001516001600160a01b0316826000015161ffff167fa2786598bd84ae4a299103996359e6cb4333404583256079dfc279386baf5832846080015185604001518660c001518051906020012060405161293593929190614a60565b60405180910390a3505050612a6d565b60008260800151836060015160405160200161296292919061487d565b604051602081830303815290604052905082606001516001600160a01b0316836000015161ffff167f2bd2d8a84b748439fd50d79a49502b4eb5faa25b864da6a9ab5c150704be9a4d856080015186604001518760c00151805190602001206040516129d093929190614a60565b60405180910390a37f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c2fa48138c838d87604001518e8960c001516040518763ffffffff1660e01b8152600401612a369695949392919061554a565b600060405180830381600087803b158015612a5057600080fd5b505af1158015612a64573d6000803e3d6000fd5b50505050505050505b50505050505050565b612a7e613f2f565b611aa9838361342c565b600181565b600a6020526000908152604090205461ffff1681565b6040517fc533338f0000000000000000000000000000000000000000000000000000000081526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c533338f90612b0f9087908790879060040161552c565b60206040518083038186803b158015612b2757600080fd5b505afa158015612b3b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b5f91906147cf565b949350505050565b600b60209081526000928352604080842090915290825290205460ff1681565b60096020908152600092835260408084209091529082529020546001600160a01b031681565b60066020908152600092835260408084209091529082529020805460019091015461ffff8083169267ffffffffffffffff6201000082048116936001600160a01b036a010000000000000000000084048116947e010000000000000000000000000000000000000000000000000000000000009094049093169291811691680100000000000000009091041686565b600e6020526000908152604090205481565b612c56613a4f565b6001600160a01b0316612c676125bc565b6001600160a01b031614612cc2576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61ffff8083166000818152600b60209081526040808320948616835293905282902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905590517fec23bee6f88cfecebb09d6aaaed66f0ce110debc1f61117c8270a7116597df9a906125b09084906154e8565b612d44613a4f565b6001600160a01b0316612d556125bc565b6001600160a01b031614612db0576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61ffff82166000908152600e602052604090205415612de15760405162461bcd60e51b8152600401610d50906151ba565b61ffff82166000818152600e602052604090819020839055517f0dad975e1d2fbe771c95cdcc7be9a1e61181de7173abe0a32b8f8f83140873e5906125b09084906149c9565b612e2f613a4f565b6001600160a01b0316612e406125bc565b6001600160a01b031614612e9b576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b038116612ec15760405162461bcd60e51b8152600401610d509061515d565b600380547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0383169081179091556040517fcb7ef3e545f5cdb893f5c568ba710fe08f336375a2d9fd66e161033f8fc09ef390600090a250565b612f2b613a4f565b6001600160a01b0316612f3c6125bc565b6001600160a01b031614612f97576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b038116612fdc5760405162461bcd60e51b815260040180806020018281038252602681526020018061574e6026913960400191505060405180910390fd5b6001546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b60055481565b60046020526000908152604090205481565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146130b05760405162461bcd60e51b8152600401610d5090615274565b6001600160a01b038416600090815260066020908152604080832061ffff891684529091529020600184141561315d5760006130ee8385018561435c565b61ffff8089166000908152600a6020526040902054919250908116908216111561312a5760405162461bcd60e51b8152600401610d50906150a3565b81547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff91909116178155613383565b60028414156131b4576000613174838501856147b3565b825467ffffffffffffffff90911662010000027fffffffffffffffffffffffffffffffffffffffffffff0000000000000000ffff90911617825550613383565b60038414156132125760006131cb8385018561408f565b82546001600160a01b039091166a0100000000000000000000027fffff0000000000000000000000000000000000000000ffffffffffffffffffff90911617825550613383565b60048414156132cc5760006132298385018561435c565b61ffff8089166000908152600b602090815260408083209385168352929052205490915060ff168061325d575061ffff8116155b6132795760405162461bcd60e51b8152600401610d5090614a8f565b815461ffff9091167e01000000000000000000000000000000000000000000000000000000000000027dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909116178155613383565b60058414156133245760006132e3838501856147b3565b6001830180547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff9290921691909117905550613383565b6006841415611a8f57600061333b8385018561408f565b6001830180546001600160a01b0390921668010000000000000000027fffffffff0000000000000000000000000000000000000000ffffffffffffffff909216919091179055505b83856001600160a01b03167ffc01bf86212a14151d51d1be5c2ac64d67d5ec823dfc6f53298d7ce3f3d3d25285856040516133bf929190614a13565b60405180910390a3505050505050565b600082821115613426576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b613434613f2f565b6001600160a01b03808316600090815260066020908152604080832061ffff808916808652918452828520835160c0810185528154808416825267ffffffffffffffff6201000082048116838901526a010000000000000000000082048a16838801527e010000000000000000000000000000000000000000000000000000000000009091048416606083015260019092015491821660808201526801000000000000000090910490961660a08701529084526007909252909120825190911661350157805461ffff1682525b602082015167ffffffffffffffff1661352c57805462010000900467ffffffffffffffff1660208301525b60408201516001600160a01b031661355d5780546a010000000000000000000090046001600160a01b031660408301525b606082015161ffff166135985780547e01000000000000000000000000000000000000000000000000000000000000900461ffff1660608301525b608082015167ffffffffffffffff166135c057600181015467ffffffffffffffff1660808301525b60a08201516001600160a01b0316611aa757600101546801000000000000000090046001600160a01b031660a08201529392505050565b600082820183811015611aa9576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600081516000141561372c5761ffff808716600090815260086020908152604080832060608a015190941683529281529082902080548351601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610100600186161502019093169290920491820184900484028101840190945280845290918301828280156137245780601f106136f957610100808354040283529160200191613724565b820191906000526020600020905b81548152906001019060200180831161370757829003601f168201915b505050505091505b604080860151606087015191517f5886ea65000000000000000000000000000000000000000000000000000000008152909182916001600160a01b03831691635886ea6591613785918c918b908b908b906004016155ab565b602060405180830381600087803b15801561379f57600080fd5b505af11580156137b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137d7919061479b565b92506137e38284613ade565b7fb0c632f55f1e1b3b2c3d82f41ee4716bb4c00f0f5d84cdafc141581bb8757a4f848860600151604051613818929190614a3a565b60405180910390a1505095945050505050565b60a0820151606083015160808401516040517fc5e193cd000000000000000000000000000000000000000000000000000000008152600093926001600160a01b0384169263c5e193cd92613887928a92909189906004016155e7565b602060405180830381600087803b1580156138a157600080fd5b505af11580156138b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138d9919061479b565b9150611aa78183613ade565b6000806001600160a01b038316158061390757506002546001600160a01b0316155b6003546040517f5cbbbd750000000000000000000000000000000000000000000000000000000081529192506000916001600160a01b0390911690635cbbbd759061395b908515908b908b906004016149b1565b60206040518083038186803b15801561397357600080fd5b505afa158015613987573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139ab919061479b565b90508015613a455781156139d8576003546001600160a01b03166139cf8183613ade565b81935050613a45565b846001600160a01b0316846001600160a01b03161480613a0057506001600160a01b03841632145b613a1c5760405162461bcd60e51b8152600401610d5090614d99565b600254613a34906001600160a01b0316853084613b21565b600554613a4190826135f7565b6005555b5050949350505050565b3390565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052613ad3908490613baf565b505050565b3b151590565b6001600160a01b038216600090815260046020526040902054613b0190826135f7565b6001600160a01b0390921660009081526004602052604090209190915550565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd00000000000000000000000000000000000000000000000000000000179052613ba9908590613baf565b50505050565b6000613c04826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316613c609092919063ffffffff16565b805190915015613ad357808060200190516020811015613c2357600080fd5b5051613ad35760405162461bcd60e51b815260040180806020018281038252602a815260200180615774602a913960400191505060405180910390fd5b6060612b5f848460008585613c7485613ad8565b613cc5576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600080866001600160a01b031685876040518082805190602001908083835b60208310613d2157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101613ce4565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114613d83576040519150601f19603f3d011682016040523d82523d6000602084013e613d88565b606091505b5091509150613d98828286613da3565b979650505050505050565b60608315613db2575081611aa9565b825115613dc25782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613e0c578181015183820152602001613df4565b50505050905090810190601f168015613e395780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b828054600181600116156101000203166002900490600052602060002090601f016020900481019282613e7d5760008555613ee1565b82601f10613eb4578280017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00823516178555613ee1565b82800160010185558215613ee1579182015b82811115613ee1578235825591602001919060010190613ec6565b50613eed929150613f64565b5090565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820181905260a082019290925260c081019190915290565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a081019190915290565b5b80821115613eed5760008155600101613f65565b60008135613f8681615701565b6001600160a01b031692915050565b60008151613f8681615701565b60008083601f840112613fb3578182fd5b50813567ffffffffffffffff811115613fca578182fd5b602083019150836020828501011115613fe257600080fd5b9250929050565b600082601f830112613ff9578081fd5b815167ffffffffffffffff81111561400d57fe5b61403e60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601615689565b818152846020838601011115614052578283fd5b612b5f8260208301602087016156d5565b8035611c0e81615727565b8051611c0e81615727565b8035611c0e81615737565b8051611c0e81615737565b6000602082840312156140a0578081fd5b81356140ab81615701565b6001600160a01b03169392505050565b600080604083850312156140cd578081fd5b82356140d881615701565b6001600160a01b0316946020939093013593505050565b60008060408385031215614101578182fd5b823561410c81615701565b6001600160a01b03169150602083013561412581615727565b809150509250929050565b60008060008060808587031215614145578182fd5b843561415081615701565b6001600160a01b03169350602085013561416981615727565b93969395505050506040820135916060013590565b600080604083850312156140cd578182fd5b60008060008060008060008060008060006101008c8e0312156141b1578687fd5b6141ba8c613f79565b9a506141c860208d01614079565b99506141d660408d01614063565b985067ffffffffffffffff8060608e013511156141f1578788fd5b6142018e60608f01358f01613fa2565b909950975060808d0135811015614216578687fd5b6142268e60808f01358f01613fa2565b909750955061423760a08e01613f79565b945061424560c08e01613f79565b93508060e08e01351115614257578283fd5b506142688d60e08e01358e01613fa2565b81935080925050509295989b509295989b9093969950565b600060208284031215614291578081fd5b815167ffffffffffffffff808211156142a8578283fd5b9083019060e082860312156142bb578283fd5b6142c560e0615689565b6142ce8361406e565b81526142dc6020840161406e565b60208201526142ed60408401614084565b60408201526142fe60608401613f95565b6060820152608083015182811115614314578485fd5b61432087828601613fe9565b60808301525060a083015160a082015260c083015182811115614341578485fd5b61434d87828601613fe9565b60c08301525095945050505050565b60006020828403121561436d578081fd5b8135611aa981615727565b6000806040838503121561438a578182fd5b823561439581615727565b915060208301356143a581615701565b6001600160a01b0381169150509250929050565b600080600080600080600060a0888a0312156143d3578081fd5b87356143de81615727565b965060208801356143ee81615701565b6001600160a01b03169550604088013567ffffffffffffffff80821115614413578283fd5b61441f8b838c01613fa2565b909750955060608a013591508115158214614438578283fd5b9093506080890135908082111561444d578283fd5b5061445a8a828b01613fa2565b989b979a50959850939692959293505050565b600080600060608486031215614481578081fd5b833561448c81615727565b9250602084013561449c81615701565b6001600160a01b038116925050604084013590509250925092565b600080600080600080600060c0888a0312156144d1578081fd5b87356144dc81615727565b965060208801356144ec81615701565b6001600160a01b0316955060408801359450606088013593506080880135925060a088013567ffffffffffffffff811115614525578182fd5b61445a8a828b01613fa2565b600080600080600060808688031215614548578283fd5b853561455381615727565b9450602086013561456381615701565b6001600160a01b0316935060408601359250606086013567ffffffffffffffff81111561458e578182fd5b61459a88828901613fa2565b969995985093965092949392505050565b600080604083850312156145bd578182fd5b82356145c881615727565b946020939093013593505050565b600080600080608085870312156145eb578182fd5b84356145f681615727565b966020860135965060408601359560600135945092505050565b600080600060408486031215614624578081fd5b833561462f81615727565b9250602084013567ffffffffffffffff81111561464a578182fd5b61465686828701613fa2565b9497909650939450505050565b60008060408385031215614675578182fd5b823561468081615727565b9150602083013561412581615727565b600080600080606085870312156146a5578182fd5b84356146b081615727565b935060208501356146c081615727565b9250604085013567ffffffffffffffff8111156146db578283fd5b6146e787828801613fa2565b95989497509550505050565b600080600080600080600060e0888a03121561470d578081fd5b873561471881615727565b9650602088013561472881615727565b9550604088013561473881615737565b9450606088013561474881615701565b6001600160a01b03908116945060808901359061476482615727565b90935060a08901359061477682615737565b90925060c08901359061478882615701565b8082169250505092959891949750929550565b6000602082840312156147ac578081fd5b5051919050565b6000602082840312156147c4578081fd5b8135611aa981615737565b6000602082840312156147e0578081fd5b8151611aa981615737565b600082845282826020860137806020848601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011685010190509392505050565b6000815180845261484b8160208601602086016156d5565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000835161488f8184602088016156d5565b60609390931b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190920190815260140192915050565b90565b60007fffffffffffffffff0000000000000000000000000000000000000000000000008860c01b1682527fffff000000000000000000000000000000000000000000000000000000000000808860f01b1660088401527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008760601b16600a840152808660f01b16601e84015250835161496a8160208501602088016156d5565b808301905083516149828160208401602088016156d5565b0160200198975050505050505050565b6001600160a01b0391909116815260200190565b901515815260200190565b92151583526020830191909152604082015260600190565b90815260200190565b9283526020830191909152604082015260600190565b600085825260606020830152614a026060830185876147eb565b905082604083015295945050505050565b600060208252612b5f6020830184866147eb565b600060208252611aa96020830184614833565b600060408252614a4d6040830185614833565b905061ffff831660208301529392505050565b600060608252614a736060830186614833565b67ffffffffffffffff9490941660208301525060400152919050565b60208082526026908201527f4c617965725a65726f3a20696e76616c6964206f7574626f756e642070726f6f60408201527f6620747970650000000000000000000000000000000000000000000000000000606082015260800190565b60208082526024908201527f4c617965725a65726f3a20647374436861696e496420646f6573206e6f74206560408201527f7869737400000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526018908201527f4c617965725a65726f3a206f6e6c792074726561737572790000000000000000604082015260600190565b6020808252601e908201527f4c617965725a65726f3a20496e76616c696420636f6e66696720747970650000604082015260600190565b6020808252601a908201527f4c617965725a65726f3a207769746864726177206661696c6564000000000000604082015260600190565b60208082526025908201527f4c617965725a65726f3a206e6f7420656e6f756768206e617469766520666f7260408201527f2066656573000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526025908201527f4c617965725a65726f3a205f746f2063616e6e6f74206265207a65726f20616460408201527f6472657373000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526031908201527f4c617965725a65726f3a205f6c617965725a65726f546f6b656e2063616e6e6f60408201527f74206265207a65726f2061646472657373000000000000000000000000000000606082015260800190565b60208082526022908201527f4c617965725a65726f3a20696e76616c69642072656c6179657220616464726560408201527f7373000000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252601b908201527f4c617965725a65726f3a206661696c656420746f20726566756e640000000000604082015260600190565b6020808252602b908201527f4c617965725a65726f3a206d75737420626520706169642062792073656e646560408201527f72206f72206f726967696e000000000000000000000000000000000000000000606082015260800190565b6020808252601d908201527f4c617965725a65726f3a20696e76616c69642064737441646472657373000000604082015260600190565b60208082526021908201527f4c617965725a65726f3a20696e76616c6964206f7261636c652061646472657360408201527f7300000000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526025908201527f4c617965725a65726f3a20696e76616c6964205f7061636b65742e756c6e416460408201527f6472657373000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252601e908201527f4c617965725a65726f3a20696e76616c696420737263436861696e2049640000604082015260600190565b6020808252601a908201527f4c617965725a65726f3a20696e76616c69642072656c61796572000000000000604082015260600190565b6020808252601a908201527f4c617965725a65726f3a2077726f6e6720706174682064617461000000000000604082015260600190565b60208082526029908201527f4c617965725a65726f3a206c6962726172792063616e6e6f74206265207a657260408201527f6f20616464726573730000000000000000000000000000000000000000000000606082015260800190565b60208082526043908201527f4c617965725a65726f3a206f7261636c6520646174612063616e206f6e6c792060408201527f75706461746520696620697420686173206d6f726520636f6e6669726d61746960608201527f6f6e730000000000000000000000000000000000000000000000000000000000608082015260a00190565b6020808252601e908201527f4c617965725a65726f3a20696e76616c696420647374436861696e2049640000604082015260600190565b60208082526030908201527f4c617965725a65726f3a20696e76616c696420696e626f756e642070726f6f6660408201527f206c6962726172792076657273696f6e00000000000000000000000000000000606082015260800190565b60208082526022908201527f4c617965725a65726f3a20696e76616c6964207372634164647265737320736960408201527f7a65000000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252602a908201527f4c617965725a65726f3a2074726561737572792063616e6e6f74206265207a6560408201527f726f206164647265737300000000000000000000000000000000000000000000606082015260800190565b60208082526021908201527f4c617965725a65726f3a2072656d6f746520756c6e20616c726561647920736560408201527f7400000000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526022908201527f4c617965725a65726f3a2063616e206e6f7420616464206e6577206c6962726160408201527f7279000000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526018908201527f4c617965725a65726f3a206f6e6c7920656e64706f696e740000000000000000604082015260600190565b6020808252602e908201527f4c617965725a65726f3a20696e76616c6964206f7574626f756e6420626c6f6360408201527f6b20636f6e6669726d6174696f6e000000000000000000000000000000000000606082015260800190565b60208082526028908201527f4c617965725a65726f3a20696e636f72726563742072656d6f7465206164647260408201527f6573732073697a65000000000000000000000000000000000000000000000000606082015260800190565b60208082526030908201527f4c617965725a65726f3a2072656d6f746520636861696e20616464726573732060408201527f73697a6520616c72656164792073657400000000000000000000000000000000606082015260800190565b6020808252602d908201527f4c617965725a65726f3a20696e76616c696420696e626f756e6420626c6f636b60408201527f20636f6e6669726d6174696f6e00000000000000000000000000000000000000606082015260800190565b60208082526029908201527f4c617965725a65726f3a206e6f7420656e6f75676820626c6f636b20636f6e6660408201527f69726d6174696f6e730000000000000000000000000000000000000000000000606082015260800190565b600060c08201905061ffff808451168352602084015167ffffffffffffffff8082166020860152604086015191506001600160a01b0380831660408701528360608801511660608701528160808801511660808701528060a08801511660a08701525050505092915050565b61ffff91909116815260200190565b600061ffff851682526001600160a01b0384166020830152606060408301526155236060830184614833565b95945050505050565b600061ffff85168252604060208301526155236040830184866147eb565b600061ffff8816825260c0602083015261556760c0830188614833565b6001600160a01b038716604084015267ffffffffffffffff8616606084015284608084015282810360a084015261559e8185614833565b9998505050505050505050565b600061ffff80881683528087166020840152506001600160a01b038516604083015283606083015260a06080830152613d9860a0830184614833565b61ffff948516815292909316602083015267ffffffffffffffff1660408201526001600160a01b03909116606082015260800190565b61ffff968716815267ffffffffffffffff95861660208201526001600160a01b03948516604082015292909516606083015290921660808301529190911660a082015260c00190565b918252602082015260400190565b67ffffffffffffffff91909116815260200190565b60405181810167ffffffffffffffff811182821017156156a557fe5b604052919050565b600080858511156156bc578182fd5b838611156156c8578182fd5b5050820193919092039150565b60005b838110156156f05781810151838201526020016156d8565b83811115613ba95750506000910152565b74ffffffffffffffffffffffffffffffffffffffffff8116811461572457600080fd5b50565b61ffff8116811461572457600080fd5b67ffffffffffffffff8116811461572457600080fdfe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573735361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a264697066735822122054aec73c99973aee9894297c3c705deb10ab19e90e99ce66c6114175d7862f2a64736f6c63430007060033",
|
|
1420
|
+
"deployedBytecode": "0x6080604052600436106102e75760003560e01c80638317814a11610184578063d543c774116100d6578063ed28580a1161008a578063f47a5feb11610064578063f47a5feb14610c06578063f58589a214610c35578063f8e1734c14610c6f576102e7565b8063ed28580a14610b58578063f0f4426014610b92578063f2fde38b14610bcc576102e7565b8063ddfdef5a116100bb578063ddfdef5a14610aaa578063ea216c2114610ae4578063eb0d4c3114610b1e576102e7565b8063d543c77414610a29578063db00719b14610a70576102e7565b8063959f594311610138578063b77d22ad11610112578063b77d22ad14610979578063b8e7e3e0146109a8578063b9a99bed146109e2576102e7565b8063959f5943146108be578063987fa2d5146108f8578063a466222214610932576102e7565b806387078f9f1161016957806387078f9f146108265780638da5cb5b14610860578063904d3b8d1461088f576102e7565b80638317814a146107b25780638525b711146107ec576102e7565b806352d2871f1161023d5780636a14ac82116101f1578063759c5b3b116101cb578063759c5b3b1461070f5780638140666e146107495780638207f79d14610778576102e7565b80636a14ac821461066c578063704316e5146106a6578063715018a6146106e0576102e7565b80635b056da5116102225780635b056da5146105c75780635e280f111461060357806369412bfa14610632576102e7565b806352d2871f1461055357806352d3b5001461058d576102e7565b80632cfacb061161029f57806340a7bb101161027957806340a7bb10146104c957806349148c37146105115780634d3a0f7c14610540576102e7565b80632cfacb06146104125780632f8134641461044e57806331bd24301461049a576102e7565b806307b9ca7c116102d057806307b9ca7c1461036d57806318da00111461039c5780632a819bbf146103cb576102e7565b806302bd9743146102ec57806307b18bde14610331575b600080fd5b3480156102f857600080fd5b50d3801561030557600080fd5b50d2801561031257600080fd5b5061031b610ca9565b6040516103289190614992565b60405180910390f35b34801561033d57600080fd5b50d3801561034a57600080fd5b50d2801561035757600080fd5b5061036b6103663660046140bb565b610ccd565b005b34801561037957600080fd5b50d3801561038657600080fd5b50d2801561039357600080fd5b5061031b610e57565b3480156103a857600080fd5b50d380156103b557600080fd5b50d280156103c257600080fd5b5061031b610e66565b3480156103d757600080fd5b50d380156103e457600080fd5b50d280156103f157600080fd5b50610405610400366004614663565b610e75565b6040516103289190614a27565b34801561041e57600080fd5b50d3801561042b57600080fd5b50d2801561043857600080fd5b50610441610f37565b60405161032891906149c9565b34801561045a57600080fd5b50d3801561046757600080fd5b50d2801561047457600080fd5b5061048861048336600461435c565b610f3c565b6040516103289695949392919061561d565b3480156104a657600080fd5b50d380156104b357600080fd5b50d280156104c057600080fd5b50610441610fc0565b3480156104d557600080fd5b50d380156104e257600080fd5b50d280156104ef57600080fd5b506105036104fe3660046143b9565b610fc5565b604051610328929190615666565b34801561051d57600080fd5b50d3801561052a57600080fd5b50d2801561053757600080fd5b506104416112f5565b61036b61054e366004614190565b6112fa565b34801561055f57600080fd5b50d3801561056c57600080fd5b50d2801561057957600080fd5b5061040561058836600461446d565b611746565b34801561059957600080fd5b50d380156105a657600080fd5b50d280156105b357600080fd5b5061036b6105c236600461408f565b611ab0565b3480156105d357600080fd5b50d380156105e057600080fd5b50d280156105ed57600080fd5b506105f6611bac565b60405161032891906154e8565b34801561060f57600080fd5b50d3801561061c57600080fd5b50d2801561062957600080fd5b5061031b611bd0565b34801561063e57600080fd5b50d3801561064b57600080fd5b50d2801561065857600080fd5b5061044161066736600461408f565b611bf4565b34801561067857600080fd5b50d3801561068557600080fd5b50d2801561069257600080fd5b5061036b6106a13660046146f3565b611c13565b3480156106b257600080fd5b50d380156106bf57600080fd5b50d280156106cc57600080fd5b5061036b6106db3660046145d6565b611f75565b3480156106ec57600080fd5b50d380156106f957600080fd5b50d2801561070657600080fd5b5061036b61203a565b34801561071b57600080fd5b50d3801561072857600080fd5b50d2801561073557600080fd5b50610441610744366004614130565b612110565b34801561075557600080fd5b50d3801561076257600080fd5b50d2801561076f57600080fd5b5061044161213c565b34801561078457600080fd5b50d3801561079157600080fd5b50d2801561079e57600080fd5b5061036b6107ad366004614378565b612141565b3480156107be57600080fd5b50d380156107cb57600080fd5b50d280156107d857600080fd5b5061036b6107e7366004614690565b6122da565b3480156107f857600080fd5b50d3801561080557600080fd5b50d2801561081257600080fd5b5061036b61082136600461417e565b6123c3565b34801561083257600080fd5b50d3801561083f57600080fd5b50d2801561084c57600080fd5b5061036b61085b3660046145ab565b6124c5565b34801561086c57600080fd5b50d3801561087957600080fd5b50d2801561088657600080fd5b5061031b6125bc565b34801561089b57600080fd5b50d380156108a857600080fd5b50d280156108b557600080fd5b506104416125cb565b3480156108ca57600080fd5b50d380156108d757600080fd5b50d280156108e457600080fd5b506104416108f336600461435c565b6125d0565b34801561090457600080fd5b50d3801561091157600080fd5b50d2801561091e57600080fd5b5061036b61092d3660046144b7565b6125e2565b34801561093e57600080fd5b50d3801561094b57600080fd5b50d2801561095857600080fd5b5061096c610967366004614378565b612a76565b604051610328919061547c565b34801561098557600080fd5b50d3801561099257600080fd5b50d2801561099f57600080fd5b50610441612a88565b3480156109b457600080fd5b50d380156109c157600080fd5b50d280156109ce57600080fd5b506105f66109dd36600461435c565b612a8d565b3480156109ee57600080fd5b50d380156109fb57600080fd5b50d28015610a0857600080fd5b50610a1c610a17366004614610565b612aa3565b6040516103289190615674565b348015610a3557600080fd5b50d38015610a4257600080fd5b50d28015610a4f57600080fd5b50610a63610a5e366004614663565b612b67565b60405161032891906149a6565b348015610a7c57600080fd5b50d38015610a8957600080fd5b50d28015610a9657600080fd5b5061031b610aa5366004614663565b612b87565b348015610ab657600080fd5b50d38015610ac357600080fd5b50d28015610ad057600080fd5b50610488610adf3660046140ef565b612bad565b348015610af057600080fd5b50d38015610afd57600080fd5b50d28015610b0a57600080fd5b50610441610b1936600461435c565b612c3c565b348015610b2a57600080fd5b50d38015610b3757600080fd5b50d28015610b4457600080fd5b5061036b610b53366004614663565b612c4e565b348015610b6457600080fd5b50d38015610b7157600080fd5b50d28015610b7e57600080fd5b5061036b610b8d3660046145ab565b612d3c565b348015610b9e57600080fd5b50d38015610bab57600080fd5b50d28015610bb857600080fd5b5061036b610bc736600461408f565b612e27565b348015610bd857600080fd5b50d38015610be557600080fd5b50d28015610bf257600080fd5b5061036b610c0136600461408f565b612f23565b348015610c1257600080fd5b50d38015610c1f57600080fd5b50d28015610c2c57600080fd5b50610441613050565b348015610c4157600080fd5b50d38015610c4e57600080fd5b50d28015610c5b57600080fd5b50610441610c6a36600461408f565b613056565b348015610c7b57600080fd5b50d38015610c8857600080fd5b50d28015610c9557600080fd5b5061036b610ca4366004614531565b613068565b7f000000000000000000000000000000000000000000000000000000000000000081565b60026000541415610d25576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60026000556001600160a01b038216610d595760405162461bcd60e51b8152600401610d5090614c4b565b60405180910390fd5b33600090815260046020526040902054610d7390826133cf565b336000908152600460205260408082209290925590516001600160a01b038416908390610d9f906148c7565b60006040518083038185875af1925050503d8060008114610ddc576040519150601f19603f3d011682016040523d82523d6000602084013e610de1565b606091505b5050905080610e025760405162461bcd60e51b8152600401610d5090614bb7565b826001600160a01b0316336001600160a01b03167f3bfd26201736b5cb14a562ab3cfc2bef76901726e3a78483d6288af47131e1d984604051610e4591906149c9565b60405180910390a35050600160005550565b6002546001600160a01b031681565b6003546001600160a01b031681565b60086020908152600092835260408084208252918352918190208054825160026001831615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190921691909104601f810185900485028201850190935282815292909190830182828015610f2f5780601f10610f0457610100808354040283529160200191610f2f565b820191906000526020600020905b815481529060010190602001808311610f1257829003601f168201915b505050505081565b600381565b6007602052600090815260409020805460019091015461ffff8083169267ffffffffffffffff6201000082048116936001600160a01b036a010000000000000000000084048116947e010000000000000000000000000000000000000000000000000000000000009094049093169291811691680100000000000000009091041686565b600681565b6000806000610fd48a8a61342c565b90506060841561101d5785858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509293506110ec92505050565b61ffff808c166000908152600860209081526040808320606087015190941683529281529082902080548351601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610100600186161502019093169290920491820184900484028101840190945280845290918301828280156110e45780601f106110b9576101008083540402835291602001916110e4565b820191906000526020600020905b8154815290600101906020018083116110c757829003601f168201915b505050505090505b600082604001516001600160a01b031663c03f15298d85606001518e8e8e9050876040518663ffffffff1660e01b815260040161112d9594939291906155ab565b60206040518083038186803b15801561114557600080fd5b505afa158015611159573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061117d919061479b565b905060008b905060008460a001516001600160a01b0316635553fb8e8f87606001518860800151866040518563ffffffff1660e01b81526004016111c494939291906155e7565b60206040518083038186803b1580156111dc57600080fd5b505afa1580156111f0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611214919061479b565b6003546040517f5cbbbd750000000000000000000000000000000000000000000000000000000081529192506000916001600160a01b0390911690635cbbbd7590611267908e90889087906004016149b1565b60206040518083038186803b15801561127f57600080fd5b505afa158015611293573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b7919061479b565b90508a6112c757809750876112cc565b809650865b506112e1826112db8a876135f7565b906135f7565b975050505050505097509795505050505050565b600281565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146113425760405162461bcd60e51b8152600401610d5090615274565b61ffff89166000908152600e60205260409020548b908a906113765760405162461bcd60e51b8152600401610d5090614aec565b61ffff81166000908152600c602052604081205460609190801580159061139f5750601481018c145b6113bb5760405162461bcd60e51b8152600401610d5090615308565b6000808e8e8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505083810160140151925090506001600160a01b038781169083161461142a5760405162461bcd60e51b8152600401610d5090614f55565b8e8e600090859261143d939291906156ad565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040517f6fe7b673000000000000000000000000000000000000000000000000000000008152929750506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691636fe7b67391506114dd9089908b9086906004016154f7565b602060405180830381600087803b1580156114f757600080fd5b505af115801561150b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061152f91906147cf565b935050505060008a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093945061157b925087915088905061342c565b905060006115c386838986518d8d8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061365192505050565b905060006115d287848a61382b565b905060006115e283838b8f6138e5565b905060006115f4826112db86866135f7565b9050348111156116165760405162461bcd60e51b8152600401610d5090614bee565b600061162234836133cf565b905080156116a85760008f6001600160a01b031682604051611643906148c7565b60006040518083038185875af1925050503d8060008114611680576040519150601f19603f3d011682016040523d82523d6000602084013e611685565b606091505b50509050806116a65760405162461bcd60e51b8152600401610d5090614d62565b505b6000887f00000000000000000000000000000000000000000000000000000000000000008d8d8d8c6040516020016116e5969594939291906148ca565b60405160208183030381529060405290507fe9bded5f24a4168e4f3bf44e00298c993b22376aad8c58c7dda9718a54cbea82816040516117259190614a27565b60405180910390a15050505050505050505050505050505050505050505050565b6001600160a01b038216600090815260066020908152604080832061ffff87168452909152902060609060018314156117da57805461ffff166117c45761ffff8086166000908152600760209081526040918290205491516117ad939290921691016154e8565b604051602081830303815290604052915050611aa9565b80546040516117ad9161ffff16906020016154e8565b600283141561185057805462010000900467ffffffffffffffff1661182e5761ffff85166000908152600760209081526040918290205491516117ad9262010000900467ffffffffffffffff169101615674565b80546040516117ad9162010000900467ffffffffffffffff1690602001615674565b60038314156118db5780546a010000000000000000000090046001600160a01b03166118b25761ffff85166000908152600760209081526040918290205491516117ad926a010000000000000000000090046001600160a01b03169101614992565b80546040516117ad916a010000000000000000000090046001600160a01b031690602001614992565b60048314156119945780547e01000000000000000000000000000000000000000000000000000000000000900461ffff1661195c5761ffff8086166000908152600760209081526040918290205491516117ad937e0100000000000000000000000000000000000000000000000000000000000090930490921691016154e8565b80546040516117ad917e01000000000000000000000000000000000000000000000000000000000000900461ffff16906020016154e8565b6005831415611a0157600181015467ffffffffffffffff166119e25761ffff85166000908152600760209081526040918290206001015491516117ad9267ffffffffffffffff169101615674565b60018101546040516117ad9167ffffffffffffffff1690602001615674565b6006831415611a8f5760018101546801000000000000000090046001600160a01b0316611a655761ffff85166000908152600760209081526040918290206001015491516117ad926801000000000000000090046001600160a01b03169101614992565b60018101546040516117ad916801000000000000000090046001600160a01b031690602001614992565b60405162461bcd60e51b8152600401610d5090614b80565b505b9392505050565b611ab8613a4f565b6001600160a01b0316611ac96125bc565b6001600160a01b031614611b24576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b038116611b4a5760405162461bcd60e51b8152600401610d5090614ca8565b600280547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0383169081179091556040517f33d644987381deff4408951d55afa136f124e22a7810b163b2aaa3ebef770f6490600090a250565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6001600160a01b0381166000908152600460205260409020545b919050565b611c1b613a4f565b6001600160a01b0316611c2c6125bc565b6001600160a01b031614611c87576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61ffff8088166000908152600a6020526040902054811690871611801590611cb3575060008661ffff16115b611ccf5760405162461bcd60e51b8152600401610d50906150a3565b60008567ffffffffffffffff1611611cf95760405162461bcd60e51b8152600401610d50906153c2565b6001600160a01b038416611d1f5760405162461bcd60e51b8152600401610d5090614d05565b61ffff8088166000908152600b602090815260408083209387168352929052205460ff16611d5f5760405162461bcd60e51b8152600401610d5090614a8f565b60008267ffffffffffffffff1611611d895760405162461bcd60e51b8152600401610d50906152ab565b6001600160a01b038116611daf5760405162461bcd60e51b8152600401610d5090614e2d565b6040518060c001604052808761ffff1681526020018667ffffffffffffffff168152602001856001600160a01b031681526020018461ffff1681526020018367ffffffffffffffff168152602001826001600160a01b0316815250600760008961ffff1661ffff16815260200190815260200160002060008201518160000160006101000a81548161ffff021916908361ffff16021790555060208201518160000160026101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550604082015181600001600a6101000a8154816001600160a01b0302191690836001600160a01b03160217905550606082015181600001601e6101000a81548161ffff021916908361ffff16021790555060808201518160010160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060a08201518160010160086101000a8154816001600160a01b0302191690836001600160a01b031602179055509050508661ffff167f5a76432853a0871c4e780def7f3ffc7912339b53f022ac31127fe5ff84a36fa1878787878787604051611f649695949392919061561d565b60405180910390a250505050505050565b336000908152600d6020908152604080832061ffff8816845282528083208684528252808320848452909152902054828110611fc35760405162461bcd60e51b8152600401610d5090614fe9565b336000818152600d6020908152604080832061ffff8a1680855290835281842089855283528184208785529092529182902086905590517f74bbc026808dcba59692d6a8bb20596849ca718e10e2432c6cdf48af865bc5d99061202b908890879089906149d2565b60405180910390a35050505050565b612042613a4f565b6001600160a01b03166120536125bc565b6001600160a01b0316146120ae576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b600d60209081526000948552604080862082529385528385208152918452828420909152825290205481565b600481565b612149613a4f565b6001600160a01b031661215a6125bc565b6001600160a01b0316146121b5576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b0381166121db5760405162461bcd60e51b8152600401610d5090614f8c565b61ffff8083166000908152600a602052604090205481169081106122115760405162461bcd60e51b8152600401610d5090615217565b61ffff8381166000818152600a6020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001660019790970195861696871790556009825280832095835294905283902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03861617905591519091907f802d55279d51813cb7a9a98e8fd2d7bec5346cb830901c11b85d1650cb857e9a906122cd908590614992565b60405180910390a2505050565b6122e2613a4f565b6001600160a01b03166122f36125bc565b6001600160a01b03161461234e576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61ffff8085166000908152600860209081526040808320938716835292905220612379908383613e47565b508261ffff168461ffff167f4a5695eee2a74d548d5f5c485a3de99ace99e3b664c8e30a90f49be6ebb5493284846040516123b5929190614a13565b60405180910390a350505050565b6002600054141561241b576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60026000556003546001600160a01b0316331461244a5760405162461bcd60e51b8152600401610d5090614b49565b60055461245790826133cf565b600555600254612471906001600160a01b03168383613a53565b816001600160a01b0316336001600160a01b03167f3a20c8c3cd1848485ae8261a52398bb9b26f195b717306b3cf7f058e62c095d5836040516124b491906149c9565b60405180910390a350506001600055565b6124cd613a4f565b6001600160a01b03166124de6125bc565b6001600160a01b031614612539576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61ffff82166000908152600c60205260409020541561256a5760405162461bcd60e51b8152600401610d5090615365565b61ffff82166000818152600c602052604090819020839055517f0611bb2107e385b79ec826fff8ecc1c1248a7aae3c875c96668f8cfbf1734220906125b09084906149c9565b60405180910390a25050565b6001546001600160a01b031690565b600581565b600c6020526000908152604090205481565b60006125ee888861342c565b60408101519091506001600160a01b0316331461261d5760405162461bcd60e51b8152600401610d5090614f1e565b612625613ef1565b61ffff89166000908152600c6020526040902054806126565760405162461bcd60e51b8152600401610d5090615308565b60a08301516001600160a01b03166000908152600d6020908152604080832061ffff8e16845282528083208a8452825280832089845290915290205480158015906126af5750836020015167ffffffffffffffff168110155b6126cb5760405162461bcd60e51b8152600401610d509061541f565b61ffff808c166000908152600960209081526040808320885190941683529290528190205490517fb71e0f710000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690819063b71e0f719061273d908b908b908b9089906004016149e8565b600060405180830381600087803b15801561275757600080fd5b505af115801561276b573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526127b19190810190614280565b60a081015161ffff8e166000908152600e60205260409020549195501491505080156127e0575060a082015115155b6127fc5760405162461bcd60e51b8152600401610d5090614e8a565b8961ffff16826000015161ffff16146128275760405162461bcd60e51b8152600401610d5090614ee7565b808260800151511461284b5760405162461bcd60e51b8152600401610d5090615100565b7f000000000000000000000000000000000000000000000000000000000000000061ffff16826020015161ffff16146128965760405162461bcd60e51b8152600401610d509061506c565b886001600160a01b031682606001516001600160a01b0316146128cb5760405162461bcd60e51b8152600401610d5090614df6565b6128d489613ad8565b6129455781606001516001600160a01b0316826000015161ffff167fa2786598bd84ae4a299103996359e6cb4333404583256079dfc279386baf5832846080015185604001518660c001518051906020012060405161293593929190614a60565b60405180910390a3505050612a6d565b60008260800151836060015160405160200161296292919061487d565b604051602081830303815290604052905082606001516001600160a01b0316836000015161ffff167f2bd2d8a84b748439fd50d79a49502b4eb5faa25b864da6a9ab5c150704be9a4d856080015186604001518760c00151805190602001206040516129d093929190614a60565b60405180910390a37f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c2fa48138c838d87604001518e8960c001516040518763ffffffff1660e01b8152600401612a369695949392919061554a565b600060405180830381600087803b158015612a5057600080fd5b505af1158015612a64573d6000803e3d6000fd5b50505050505050505b50505050505050565b612a7e613f2f565b611aa9838361342c565b600181565b600a6020526000908152604090205461ffff1681565b6040517fc533338f0000000000000000000000000000000000000000000000000000000081526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c533338f90612b0f9087908790879060040161552c565b60206040518083038186803b158015612b2757600080fd5b505afa158015612b3b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b5f91906147cf565b949350505050565b600b60209081526000928352604080842090915290825290205460ff1681565b60096020908152600092835260408084209091529082529020546001600160a01b031681565b60066020908152600092835260408084209091529082529020805460019091015461ffff8083169267ffffffffffffffff6201000082048116936001600160a01b036a010000000000000000000084048116947e010000000000000000000000000000000000000000000000000000000000009094049093169291811691680100000000000000009091041686565b600e6020526000908152604090205481565b612c56613a4f565b6001600160a01b0316612c676125bc565b6001600160a01b031614612cc2576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61ffff8083166000818152600b60209081526040808320948616835293905282902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905590517fec23bee6f88cfecebb09d6aaaed66f0ce110debc1f61117c8270a7116597df9a906125b09084906154e8565b612d44613a4f565b6001600160a01b0316612d556125bc565b6001600160a01b031614612db0576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61ffff82166000908152600e602052604090205415612de15760405162461bcd60e51b8152600401610d50906151ba565b61ffff82166000818152600e602052604090819020839055517f0dad975e1d2fbe771c95cdcc7be9a1e61181de7173abe0a32b8f8f83140873e5906125b09084906149c9565b612e2f613a4f565b6001600160a01b0316612e406125bc565b6001600160a01b031614612e9b576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b038116612ec15760405162461bcd60e51b8152600401610d509061515d565b600380547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0383169081179091556040517fcb7ef3e545f5cdb893f5c568ba710fe08f336375a2d9fd66e161033f8fc09ef390600090a250565b612f2b613a4f565b6001600160a01b0316612f3c6125bc565b6001600160a01b031614612f97576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b038116612fdc5760405162461bcd60e51b815260040180806020018281038252602681526020018061574e6026913960400191505060405180910390fd5b6001546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b60055481565b60046020526000908152604090205481565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146130b05760405162461bcd60e51b8152600401610d5090615274565b6001600160a01b038416600090815260066020908152604080832061ffff891684529091529020600184141561315d5760006130ee8385018561435c565b61ffff8089166000908152600a6020526040902054919250908116908216111561312a5760405162461bcd60e51b8152600401610d50906150a3565b81547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff91909116178155613383565b60028414156131b4576000613174838501856147b3565b825467ffffffffffffffff90911662010000027fffffffffffffffffffffffffffffffffffffffffffff0000000000000000ffff90911617825550613383565b60038414156132125760006131cb8385018561408f565b82546001600160a01b039091166a0100000000000000000000027fffff0000000000000000000000000000000000000000ffffffffffffffffffff90911617825550613383565b60048414156132cc5760006132298385018561435c565b61ffff8089166000908152600b602090815260408083209385168352929052205490915060ff168061325d575061ffff8116155b6132795760405162461bcd60e51b8152600401610d5090614a8f565b815461ffff9091167e01000000000000000000000000000000000000000000000000000000000000027dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909116178155613383565b60058414156133245760006132e3838501856147b3565b6001830180547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff9290921691909117905550613383565b6006841415611a8f57600061333b8385018561408f565b6001830180546001600160a01b0390921668010000000000000000027fffffffff0000000000000000000000000000000000000000ffffffffffffffff909216919091179055505b83856001600160a01b03167ffc01bf86212a14151d51d1be5c2ac64d67d5ec823dfc6f53298d7ce3f3d3d25285856040516133bf929190614a13565b60405180910390a3505050505050565b600082821115613426576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b613434613f2f565b6001600160a01b03808316600090815260066020908152604080832061ffff808916808652918452828520835160c0810185528154808416825267ffffffffffffffff6201000082048116838901526a010000000000000000000082048a16838801527e010000000000000000000000000000000000000000000000000000000000009091048416606083015260019092015491821660808201526801000000000000000090910490961660a08701529084526007909252909120825190911661350157805461ffff1682525b602082015167ffffffffffffffff1661352c57805462010000900467ffffffffffffffff1660208301525b60408201516001600160a01b031661355d5780546a010000000000000000000090046001600160a01b031660408301525b606082015161ffff166135985780547e01000000000000000000000000000000000000000000000000000000000000900461ffff1660608301525b608082015167ffffffffffffffff166135c057600181015467ffffffffffffffff1660808301525b60a08201516001600160a01b0316611aa757600101546801000000000000000090046001600160a01b031660a08201529392505050565b600082820183811015611aa9576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600081516000141561372c5761ffff808716600090815260086020908152604080832060608a015190941683529281529082902080548351601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610100600186161502019093169290920491820184900484028101840190945280845290918301828280156137245780601f106136f957610100808354040283529160200191613724565b820191906000526020600020905b81548152906001019060200180831161370757829003601f168201915b505050505091505b604080860151606087015191517f5886ea65000000000000000000000000000000000000000000000000000000008152909182916001600160a01b03831691635886ea6591613785918c918b908b908b906004016155ab565b602060405180830381600087803b15801561379f57600080fd5b505af11580156137b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137d7919061479b565b92506137e38284613ade565b7fb0c632f55f1e1b3b2c3d82f41ee4716bb4c00f0f5d84cdafc141581bb8757a4f848860600151604051613818929190614a3a565b60405180910390a1505095945050505050565b60a0820151606083015160808401516040517fc5e193cd000000000000000000000000000000000000000000000000000000008152600093926001600160a01b0384169263c5e193cd92613887928a92909189906004016155e7565b602060405180830381600087803b1580156138a157600080fd5b505af11580156138b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138d9919061479b565b9150611aa78183613ade565b6000806001600160a01b038316158061390757506002546001600160a01b0316155b6003546040517f5cbbbd750000000000000000000000000000000000000000000000000000000081529192506000916001600160a01b0390911690635cbbbd759061395b908515908b908b906004016149b1565b60206040518083038186803b15801561397357600080fd5b505afa158015613987573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139ab919061479b565b90508015613a455781156139d8576003546001600160a01b03166139cf8183613ade565b81935050613a45565b846001600160a01b0316846001600160a01b03161480613a0057506001600160a01b03841632145b613a1c5760405162461bcd60e51b8152600401610d5090614d99565b600254613a34906001600160a01b0316853084613b21565b600554613a4190826135f7565b6005555b5050949350505050565b3390565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052613ad3908490613baf565b505050565b3b151590565b6001600160a01b038216600090815260046020526040902054613b0190826135f7565b6001600160a01b0390921660009081526004602052604090209190915550565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd00000000000000000000000000000000000000000000000000000000179052613ba9908590613baf565b50505050565b6000613c04826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316613c609092919063ffffffff16565b805190915015613ad357808060200190516020811015613c2357600080fd5b5051613ad35760405162461bcd60e51b815260040180806020018281038252602a815260200180615774602a913960400191505060405180910390fd5b6060612b5f848460008585613c7485613ad8565b613cc5576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600080866001600160a01b031685876040518082805190602001908083835b60208310613d2157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101613ce4565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114613d83576040519150601f19603f3d011682016040523d82523d6000602084013e613d88565b606091505b5091509150613d98828286613da3565b979650505050505050565b60608315613db2575081611aa9565b825115613dc25782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613e0c578181015183820152602001613df4565b50505050905090810190601f168015613e395780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b828054600181600116156101000203166002900490600052602060002090601f016020900481019282613e7d5760008555613ee1565b82601f10613eb4578280017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00823516178555613ee1565b82800160010185558215613ee1579182015b82811115613ee1578235825591602001919060010190613ec6565b50613eed929150613f64565b5090565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820181905260a082019290925260c081019190915290565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a081019190915290565b5b80821115613eed5760008155600101613f65565b60008135613f8681615701565b6001600160a01b031692915050565b60008151613f8681615701565b60008083601f840112613fb3578182fd5b50813567ffffffffffffffff811115613fca578182fd5b602083019150836020828501011115613fe257600080fd5b9250929050565b600082601f830112613ff9578081fd5b815167ffffffffffffffff81111561400d57fe5b61403e60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601615689565b818152846020838601011115614052578283fd5b612b5f8260208301602087016156d5565b8035611c0e81615727565b8051611c0e81615727565b8035611c0e81615737565b8051611c0e81615737565b6000602082840312156140a0578081fd5b81356140ab81615701565b6001600160a01b03169392505050565b600080604083850312156140cd578081fd5b82356140d881615701565b6001600160a01b0316946020939093013593505050565b60008060408385031215614101578182fd5b823561410c81615701565b6001600160a01b03169150602083013561412581615727565b809150509250929050565b60008060008060808587031215614145578182fd5b843561415081615701565b6001600160a01b03169350602085013561416981615727565b93969395505050506040820135916060013590565b600080604083850312156140cd578182fd5b60008060008060008060008060008060006101008c8e0312156141b1578687fd5b6141ba8c613f79565b9a506141c860208d01614079565b99506141d660408d01614063565b985067ffffffffffffffff8060608e013511156141f1578788fd5b6142018e60608f01358f01613fa2565b909950975060808d0135811015614216578687fd5b6142268e60808f01358f01613fa2565b909750955061423760a08e01613f79565b945061424560c08e01613f79565b93508060e08e01351115614257578283fd5b506142688d60e08e01358e01613fa2565b81935080925050509295989b509295989b9093969950565b600060208284031215614291578081fd5b815167ffffffffffffffff808211156142a8578283fd5b9083019060e082860312156142bb578283fd5b6142c560e0615689565b6142ce8361406e565b81526142dc6020840161406e565b60208201526142ed60408401614084565b60408201526142fe60608401613f95565b6060820152608083015182811115614314578485fd5b61432087828601613fe9565b60808301525060a083015160a082015260c083015182811115614341578485fd5b61434d87828601613fe9565b60c08301525095945050505050565b60006020828403121561436d578081fd5b8135611aa981615727565b6000806040838503121561438a578182fd5b823561439581615727565b915060208301356143a581615701565b6001600160a01b0381169150509250929050565b600080600080600080600060a0888a0312156143d3578081fd5b87356143de81615727565b965060208801356143ee81615701565b6001600160a01b03169550604088013567ffffffffffffffff80821115614413578283fd5b61441f8b838c01613fa2565b909750955060608a013591508115158214614438578283fd5b9093506080890135908082111561444d578283fd5b5061445a8a828b01613fa2565b989b979a50959850939692959293505050565b600080600060608486031215614481578081fd5b833561448c81615727565b9250602084013561449c81615701565b6001600160a01b038116925050604084013590509250925092565b600080600080600080600060c0888a0312156144d1578081fd5b87356144dc81615727565b965060208801356144ec81615701565b6001600160a01b0316955060408801359450606088013593506080880135925060a088013567ffffffffffffffff811115614525578182fd5b61445a8a828b01613fa2565b600080600080600060808688031215614548578283fd5b853561455381615727565b9450602086013561456381615701565b6001600160a01b0316935060408601359250606086013567ffffffffffffffff81111561458e578182fd5b61459a88828901613fa2565b969995985093965092949392505050565b600080604083850312156145bd578182fd5b82356145c881615727565b946020939093013593505050565b600080600080608085870312156145eb578182fd5b84356145f681615727565b966020860135965060408601359560600135945092505050565b600080600060408486031215614624578081fd5b833561462f81615727565b9250602084013567ffffffffffffffff81111561464a578182fd5b61465686828701613fa2565b9497909650939450505050565b60008060408385031215614675578182fd5b823561468081615727565b9150602083013561412581615727565b600080600080606085870312156146a5578182fd5b84356146b081615727565b935060208501356146c081615727565b9250604085013567ffffffffffffffff8111156146db578283fd5b6146e787828801613fa2565b95989497509550505050565b600080600080600080600060e0888a03121561470d578081fd5b873561471881615727565b9650602088013561472881615727565b9550604088013561473881615737565b9450606088013561474881615701565b6001600160a01b03908116945060808901359061476482615727565b90935060a08901359061477682615737565b90925060c08901359061478882615701565b8082169250505092959891949750929550565b6000602082840312156147ac578081fd5b5051919050565b6000602082840312156147c4578081fd5b8135611aa981615737565b6000602082840312156147e0578081fd5b8151611aa981615737565b600082845282826020860137806020848601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011685010190509392505050565b6000815180845261484b8160208601602086016156d5565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000835161488f8184602088016156d5565b60609390931b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190920190815260140192915050565b90565b60007fffffffffffffffff0000000000000000000000000000000000000000000000008860c01b1682527fffff000000000000000000000000000000000000000000000000000000000000808860f01b1660088401527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008760601b16600a840152808660f01b16601e84015250835161496a8160208501602088016156d5565b808301905083516149828160208401602088016156d5565b0160200198975050505050505050565b6001600160a01b0391909116815260200190565b901515815260200190565b92151583526020830191909152604082015260600190565b90815260200190565b9283526020830191909152604082015260600190565b600085825260606020830152614a026060830185876147eb565b905082604083015295945050505050565b600060208252612b5f6020830184866147eb565b600060208252611aa96020830184614833565b600060408252614a4d6040830185614833565b905061ffff831660208301529392505050565b600060608252614a736060830186614833565b67ffffffffffffffff9490941660208301525060400152919050565b60208082526026908201527f4c617965725a65726f3a20696e76616c6964206f7574626f756e642070726f6f60408201527f6620747970650000000000000000000000000000000000000000000000000000606082015260800190565b60208082526024908201527f4c617965725a65726f3a20647374436861696e496420646f6573206e6f74206560408201527f7869737400000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526018908201527f4c617965725a65726f3a206f6e6c792074726561737572790000000000000000604082015260600190565b6020808252601e908201527f4c617965725a65726f3a20496e76616c696420636f6e66696720747970650000604082015260600190565b6020808252601a908201527f4c617965725a65726f3a207769746864726177206661696c6564000000000000604082015260600190565b60208082526025908201527f4c617965725a65726f3a206e6f7420656e6f756768206e617469766520666f7260408201527f2066656573000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526025908201527f4c617965725a65726f3a205f746f2063616e6e6f74206265207a65726f20616460408201527f6472657373000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526031908201527f4c617965725a65726f3a205f6c617965725a65726f546f6b656e2063616e6e6f60408201527f74206265207a65726f2061646472657373000000000000000000000000000000606082015260800190565b60208082526022908201527f4c617965725a65726f3a20696e76616c69642072656c6179657220616464726560408201527f7373000000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252601b908201527f4c617965725a65726f3a206661696c656420746f20726566756e640000000000604082015260600190565b6020808252602b908201527f4c617965725a65726f3a206d75737420626520706169642062792073656e646560408201527f72206f72206f726967696e000000000000000000000000000000000000000000606082015260800190565b6020808252601d908201527f4c617965725a65726f3a20696e76616c69642064737441646472657373000000604082015260600190565b60208082526021908201527f4c617965725a65726f3a20696e76616c6964206f7261636c652061646472657360408201527f7300000000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526025908201527f4c617965725a65726f3a20696e76616c6964205f7061636b65742e756c6e416460408201527f6472657373000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252601e908201527f4c617965725a65726f3a20696e76616c696420737263436861696e2049640000604082015260600190565b6020808252601a908201527f4c617965725a65726f3a20696e76616c69642072656c61796572000000000000604082015260600190565b6020808252601a908201527f4c617965725a65726f3a2077726f6e6720706174682064617461000000000000604082015260600190565b60208082526029908201527f4c617965725a65726f3a206c6962726172792063616e6e6f74206265207a657260408201527f6f20616464726573730000000000000000000000000000000000000000000000606082015260800190565b60208082526043908201527f4c617965725a65726f3a206f7261636c6520646174612063616e206f6e6c792060408201527f75706461746520696620697420686173206d6f726520636f6e6669726d61746960608201527f6f6e730000000000000000000000000000000000000000000000000000000000608082015260a00190565b6020808252601e908201527f4c617965725a65726f3a20696e76616c696420647374436861696e2049640000604082015260600190565b60208082526030908201527f4c617965725a65726f3a20696e76616c696420696e626f756e642070726f6f6660408201527f206c6962726172792076657273696f6e00000000000000000000000000000000606082015260800190565b60208082526022908201527f4c617965725a65726f3a20696e76616c6964207372634164647265737320736960408201527f7a65000000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252602a908201527f4c617965725a65726f3a2074726561737572792063616e6e6f74206265207a6560408201527f726f206164647265737300000000000000000000000000000000000000000000606082015260800190565b60208082526021908201527f4c617965725a65726f3a2072656d6f746520756c6e20616c726561647920736560408201527f7400000000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526022908201527f4c617965725a65726f3a2063616e206e6f7420616464206e6577206c6962726160408201527f7279000000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526018908201527f4c617965725a65726f3a206f6e6c7920656e64706f696e740000000000000000604082015260600190565b6020808252602e908201527f4c617965725a65726f3a20696e76616c6964206f7574626f756e6420626c6f6360408201527f6b20636f6e6669726d6174696f6e000000000000000000000000000000000000606082015260800190565b60208082526028908201527f4c617965725a65726f3a20696e636f72726563742072656d6f7465206164647260408201527f6573732073697a65000000000000000000000000000000000000000000000000606082015260800190565b60208082526030908201527f4c617965725a65726f3a2072656d6f746520636861696e20616464726573732060408201527f73697a6520616c72656164792073657400000000000000000000000000000000606082015260800190565b6020808252602d908201527f4c617965725a65726f3a20696e76616c696420696e626f756e6420626c6f636b60408201527f20636f6e6669726d6174696f6e00000000000000000000000000000000000000606082015260800190565b60208082526029908201527f4c617965725a65726f3a206e6f7420656e6f75676820626c6f636b20636f6e6660408201527f69726d6174696f6e730000000000000000000000000000000000000000000000606082015260800190565b600060c08201905061ffff808451168352602084015167ffffffffffffffff8082166020860152604086015191506001600160a01b0380831660408701528360608801511660608701528160808801511660808701528060a08801511660a08701525050505092915050565b61ffff91909116815260200190565b600061ffff851682526001600160a01b0384166020830152606060408301526155236060830184614833565b95945050505050565b600061ffff85168252604060208301526155236040830184866147eb565b600061ffff8816825260c0602083015261556760c0830188614833565b6001600160a01b038716604084015267ffffffffffffffff8616606084015284608084015282810360a084015261559e8185614833565b9998505050505050505050565b600061ffff80881683528087166020840152506001600160a01b038516604083015283606083015260a06080830152613d9860a0830184614833565b61ffff948516815292909316602083015267ffffffffffffffff1660408201526001600160a01b03909116606082015260800190565b61ffff968716815267ffffffffffffffff95861660208201526001600160a01b03948516604082015292909516606083015290921660808301529190911660a082015260c00190565b918252602082015260400190565b67ffffffffffffffff91909116815260200190565b60405181810167ffffffffffffffff811182821017156156a557fe5b604052919050565b600080858511156156bc578182fd5b838611156156c8578182fd5b5050820193919092039150565b60005b838110156156f05781810151838201526020016156d8565b83811115613ba95750506000910152565b74ffffffffffffffffffffffffffffffffffffffffff8116811461572457600080fd5b50565b61ffff8116811461572457600080fd5b67ffffffffffffffff8116811461572457600080fdfe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573735361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a264697066735822122054aec73c99973aee9894297c3c705deb10ab19e90e99ce66c6114175d7862f2a64736f6c63430007060033",
|
|
1421
|
+
"linkReferences": {},
|
|
1422
|
+
"deployedLinkReferences": {}
|
|
1423
|
+
}
|