forked from balancer/balancer-deployments
-
Notifications
You must be signed in to change notification settings - Fork 0
/
GaugeAdderMigrationCoordinator.json
273 lines (273 loc) · 40 KB
/
GaugeAdderMigrationCoordinator.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
{
"_format": "hh-sol-artifact-1",
"contractName": "GaugeAdderMigrationCoordinator",
"sourceName": "contracts/20220628-gauge-adder-migration/GaugeAdderMigrationCoordinator.sol",
"abi": [
{
"inputs": [
{
"internalType": "contract IAuthorizerAdaptor",
"name": "authorizerAdaptor",
"type": "address"
},
{
"internalType": "contract IGaugeAdder",
"name": "_newGaugeAdder",
"type": "address"
},
{
"internalType": "contract IGaugeAdder",
"name": "_oldGaugeAdder",
"type": "address"
},
{
"internalType": "contract ILiquidityGaugeFactory",
"name": "_arbitrumRootGaugeFactory",
"type": "address"
},
{
"internalType": "contract ILiquidityGaugeFactory",
"name": "_optimismRootGaugeFactory",
"type": "address"
},
{
"internalType": "address",
"name": "_liquidityMiningCommitteeMultisig",
"type": "address"
},
{
"internalType": "address",
"name": "_gaugeCheckpointingMultisig",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "arbitrumRootGaugeFactory",
"outputs": [
{
"internalType": "contract ILiquidityGaugeFactory",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "gaugeCheckpointingMultisig",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "gaugeController",
"outputs": [
{
"internalType": "contract IGaugeController",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes4",
"name": "selector",
"type": "bytes4"
}
],
"name": "getActionId",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getAuthorizer",
"outputs": [
{
"internalType": "contract IAuthorizer",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getAuthorizerAdaptor",
"outputs": [
{
"internalType": "contract IAuthorizerAdaptor",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getCurrentStage",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "stage",
"type": "uint256"
}
],
"name": "getStageActivationTime",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getStagesLength",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getVault",
"outputs": [
{
"internalType": "contract IVault",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "isComplete",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "liquidityMiningCommitteeMultisig",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "newGaugeAdder",
"outputs": [
{
"internalType": "contract IGaugeAdder",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "oldGaugeAdder",
"outputs": [
{
"internalType": "contract IGaugeAdder",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "optimismRootGaugeFactory",
"outputs": [
{
"internalType": "contract ILiquidityGaugeFactory",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "performNextStage",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "registerStages",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x6101c06040523480156200001257600080fd5b506040516200238a3803806200238a833981810160405260e08110156200003857600080fd5b5080516020808301516040808501516060860151608087015160a088015160c09098015184516311b2515f60e31b81529451979895979396929591949193909289926001600160a01b03841692638d928af892600480840193919291829003018186803b158015620000a957600080fd5b505afa158015620000be573d6000803e3d6000fd5b505050506040513d6020811015620000d557600080fd5b5051306080526001600160601b0319606091821b811660a052600160005591811b821660c05287811b821660e05286811b82166101005285811b82166101405284811b82166101605283811b82166101805282901b166101a05260408051632c6f4d6f60e11b815290516001600160a01b038816916358de9ade916004808301926020929190829003018186803b1580156200017057600080fd5b505afa15801562000185573d6000803e3d6000fd5b505050506040513d60208110156200019c57600080fd5b50516001600160601b031960609190911b16610120525050505050505060805160a05160601c60c05160601c60e05160601c6101005160601c6101205160601c6101405160601c6101605160601c6101805160601c6101a05160601c6120cc620002be6000398061037e52806109f15280610b7d5250806103a25280611b4c5280611bd95280611c825280611d2b5250806105475280610abf528061166e52508061052352806108e452508061047f5280610de95250806103c6528061123152806113a95280611521528061201952508061024752806110c85280611205528061137d52806114f5528061163252806117f952806118d952806119b75280611a955280611eaa52508061060952508061045b5250806103ee52506120cc6000f3fe608060405234801561001057600080fd5b506004361061011b5760003560e01c806399eecb3b116100b2578063b2fa1c9e11610081578063da28cef711610066578063da28cef71461022d578063e758d36b14610235578063eedbe31d1461023d5761011b565b8063b2fa1c9e14610209578063d6076a6c146102255761011b565b806399eecb3b146101e9578063aaabadc5146101f1578063adcce535146101f9578063b07c0cdc146102015761011b565b8063483bc233116100ee578063483bc2331461019257806359ff345c1461019a578063851c1bb3146101a25780638d928af8146101e15761011b565b80630f42a2c1146101205780631f24cfc7146101515780632b1161721461015b578063321abfae1461018a575b600080fd5b610128610245565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b610159610269565b005b6101786004803603602081101561017157600080fd5b503561035b565b60408051918252519081900360200190f35b61012861037c565b6101286103a0565b6101286103c4565b610178600480360360208110156101b857600080fd5b50357fffffffff00000000000000000000000000000000000000000000000000000000166103e8565b610128610459565b61012861047d565b6101286104a1565b610128610521565b610128610545565b610211610569565b604080519115158252519081900360200190f35b610159610593565b610178610601565b610128610607565b61017861062b565b7f000000000000000000000000000000000000000000000000000000000000000081565b610271610631565b610279610601565b6102855761028561064a565b61028d610569565b156102f957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f416c6c2073746167657320636f6d706c65746564000000000000000000000000604482015290519081900360640190fd5b610349600161030661062b565b8154811061031057fe5b90600052602060002090600491828204019190066008029054906101000a9004801561206f021767ffffffffffffffff1663ffffffff16565b610351610655565b6103596106a0565b565b60006002828154811061036a57fe5b90600052602060002001549050919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527fffffffff000000000000000000000000000000000000000000000000000000008416828401528251602481840301815260449092019092528051910120919050565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000081565b60006104ab610459565b73ffffffffffffffffffffffffffffffffffffffff1663aaabadc56040518163ffffffff1660e01b815260040160206040518083038186803b1580156104f057600080fd5b505afa158015610504573d6000803e3d6000fd5b505050506040513d602081101561051a57600080fd5b5051905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b60008061057461062b565b905060008111801561058d5750610589610601565b8110155b91505090565b61059b610631565b6105a3610601565b156105f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806120726025913960400191505060405180910390fd5b61035161064a565b60015490565b7f000000000000000000000000000000000000000000000000000000000000000090565b60025490565b610643600260005414156101906106a7565b6002600055565b6103596106b96106d9565b60028054600181018255600091909152427f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace90910155610693610569565b156103595761035961073c565b6001600055565b816106b5576106b58161084d565b5050565b6106c16108ba565b6106c9610bc3565b6106d1611052565b610359611f1c565b6001805480820182556000919091527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf66004820401805460039092166008026101000a67ffffffffffffffff818102199093169390921691909102919091179055565b60006107466104a1565b90508073ffffffffffffffffffffffffffffffffffffffff166336568abe8273ffffffffffffffffffffffffffffffffffffffff1663a217fddf6040518163ffffffff1660e01b815260040160206040518083038186803b1580156107aa57600080fd5b505afa1580156107be573d6000803e3d6000fd5b505050506040513d60208110156107d457600080fd5b5051604080517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925230602483015251604480830192600092919082900301818387803b15801561083257600080fd5b505af1158015610846573d6000803e3d6000fd5b5050505050565b7f08c379a0000000000000000000000000000000000000000000000000000000006000908152602060045260076024526642414c23000030600a808404818106603090810160081b95839006959095019082900491820690940160101b939093010160c81b604452606490fd5b60006108c46104a1565b90508073ffffffffffffffffffffffffffffffffffffffff16632f2ff15d7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663851c1bb363e9bde60460e01b6040518263ffffffff1660e01b815260040180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060206040518083038186803b15801561097957600080fd5b505afa15801561098d573d6000803e3d6000fd5b505050506040513d60208110156109a357600080fd5b5051604080517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016602483015251604480830192600092919082900301818387803b158015610a3757600080fd5b505af1158015610a4b573d6000803e3d6000fd5b5050604080517f851c1bb30000000000000000000000000000000000000000000000000000000081527fbf5fa772000000000000000000000000000000000000000000000000000000006004820152905173ffffffffffffffffffffffffffffffffffffffff8086169450632f2ff15d93507f0000000000000000000000000000000000000000000000000000000000000000169163851c1bb3916024808301926020929190829003018186803b158015610b0557600080fd5b505afa158015610b19573d6000803e3d6000fd5b505050506040513d6020811015610b2f57600080fd5b5051604080517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016602483015251604480830192600092919082900301818387803b15801561083257600080fd5b6000610bcd6104a1565b90506000610bd9610607565b73ffffffffffffffffffffffffffffffffffffffff1663851c1bb36392d0d23260e01b6040518263ffffffff1660e01b815260040180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060206040518083038186803b158015610c4f57600080fd5b505afa158015610c63573d6000803e3d6000fd5b505050506040513d6020811015610c7957600080fd5b5051604080517f2f2ff15d00000000000000000000000000000000000000000000000000000000815260048101839052306024820152905191925073ffffffffffffffffffffffffffffffffffffffff841691632f2ff15d9160448082019260009290919082900301818387803b158015610cf357600080fd5b505af1158015610d07573d6000803e3d6000fd5b505050506000670de0b6b3a76400009050610d20610607565b604080516044808201859052602480830184905260086064808501919091527f4f7074696d69736d0000000000000000000000000000000000000000000000006084808601919091528551808603909101815260a490940185526020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f92d0d2320000000000000000000000000000000000000000000000000000000017815285517f4036176a0000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff8181166004840190815295830198895287519683019690965286519890951697634036176a979596959391909101919080838360005b83811015610e6b578181015183820152602001610e53565b50505050905090810190601f168015610e985780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b158015610eb857600080fd5b505af1158015610ecc573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526020811015610f1357600080fd5b8101908080516040519392919084640100000000821115610f3357600080fd5b908301906020820185811115610f4857600080fd5b8251640100000000811182820188101715610f6257600080fd5b82525081516020918201929091019080838360005b83811015610f8f578181015183820152602001610f77565b50505050905090810190601f168015610fbc5780820380516001836020036101000a031916815260200191505b5060408181527f36568abe000000000000000000000000000000000000000000000000000000008252600482018890523060248301525173ffffffffffffffffffffffffffffffffffffffff891695506336568abe94506044808301945060009350909182900301818387803b15801561103557600080fd5b505af1158015611049573d6000803e3d6000fd5b50505050505050565b600061105c6104a1565b604080517f851c1bb30000000000000000000000000000000000000000000000000000000081527f6440e973000000000000000000000000000000000000000000000000000000006004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163851c1bb3916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051604080517f2f2ff15d00000000000000000000000000000000000000000000000000000000815260048101839052306024820152905191925073ffffffffffffffffffffffffffffffffffffffff841691632f2ff15d9160448082019260009290919082900301818387803b1580156111b257600080fd5b505af11580156111c6573d6000803e3d6000fd5b50506040517f52854ed700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081169350636440e97392507f000000000000000000000000000000000000000000000000000000000000000016906352854ed790600290600090600401808381526020018281526020019250505060206040518083038186803b15801561128a57600080fd5b505afa15801561129e573d6000803e3d6000fd5b505050506040513d60208110156112b457600080fd5b50516040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815273ffffffffffffffffffffffffffffffffffffffff82166004820190815260029160240182815260200192505050600060405180830381600087803b15801561132a57600080fd5b505af115801561133e573d6000803e3d6000fd5b50506040517f52854ed700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081169350636440e97392507f000000000000000000000000000000000000000000000000000000000000000016906352854ed790600390600090600401808381526020018281526020019250505060206040518083038186803b15801561140257600080fd5b505afa158015611416573d6000803e3d6000fd5b505050506040513d602081101561142c57600080fd5b50516040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815273ffffffffffffffffffffffffffffffffffffffff82166004820190815260039160240182815260200192505050600060405180830381600087803b1580156114a257600080fd5b505af11580156114b6573d6000803e3d6000fd5b50506040517f52854ed700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081169350636440e97392507f000000000000000000000000000000000000000000000000000000000000000016906352854ed7906004906000908201808381526020018281526020019250505060206040518083038186803b15801561157957600080fd5b505afa15801561158d573d6000803e3d6000fd5b505050506040513d60208110156115a357600080fd5b50516040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815273ffffffffffffffffffffffffffffffffffffffff821660048281019182529160240182815260200192505050600060405180830381600087803b15801561161857600080fd5b505af115801561162c573d6000803e3d6000fd5b505050507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16636440e9737f000000000000000000000000000000000000000000000000000000000000000060056040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018260078111156116ca57fe5b815260200192505050600060405180830381600087803b1580156116ed57600080fd5b505af1158015611701573d6000803e3d6000fd5b5050604080517f36568abe00000000000000000000000000000000000000000000000000000000815260048101859052306024820152905173ffffffffffffffffffffffffffffffffffffffff861693506336568abe9250604480830192600092919082900301818387803b15801561177957600080fd5b505af115801561178d573d6000803e3d6000fd5b5050604080517f851c1bb30000000000000000000000000000000000000000000000000000000081527f5e45a27300000000000000000000000000000000000000000000000000000000600482015290516000945073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016935063851c1bb392506024808301926020929190829003018186803b15801561184157600080fd5b505afa158015611855573d6000803e3d6000fd5b505050506040513d602081101561186b57600080fd5b5051604080517f851c1bb30000000000000000000000000000000000000000000000000000000081527ff87fcfa2000000000000000000000000000000000000000000000000000000006004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163851c1bb3916024808301926020929190829003018186803b15801561191f57600080fd5b505afa158015611933573d6000803e3d6000fd5b505050506040513d602081101561194957600080fd5b5051604080517f851c1bb30000000000000000000000000000000000000000000000000000000081527fbf2972d5000000000000000000000000000000000000000000000000000000006004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163851c1bb3916024808301926020929190829003018186803b1580156119fd57600080fd5b505afa158015611a11573d6000803e3d6000fd5b505050506040513d6020811015611a2757600080fd5b5051604080517f851c1bb30000000000000000000000000000000000000000000000000000000081527f8171bad9000000000000000000000000000000000000000000000000000000006004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163851c1bb3916024808301926020929190829003018186803b158015611adb57600080fd5b505afa158015611aef573d6000803e3d6000fd5b505050506040513d6020811015611b0557600080fd5b5051604080517f2f2ff15d0000000000000000000000000000000000000000000000000000000081526004810187905273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081166024830152915192935090871691632f2ff15d9160448082019260009290919082900301818387803b158015611ba257600080fd5b505af1158015611bb6573d6000803e3d6000fd5b505050508473ffffffffffffffffffffffffffffffffffffffff16632f2ff15d847f00000000000000000000000000000000000000000000000000000000000000006040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b158015611c4b57600080fd5b505af1158015611c5f573d6000803e3d6000fd5b505050508473ffffffffffffffffffffffffffffffffffffffff16632f2ff15d837f00000000000000000000000000000000000000000000000000000000000000006040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b158015611cf457600080fd5b505af1158015611d08573d6000803e3d6000fd5b505050508473ffffffffffffffffffffffffffffffffffffffff16632f2ff15d827f00000000000000000000000000000000000000000000000000000000000000006040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b158015611d9d57600080fd5b505af1158015611db1573d6000803e3d6000fd5b50505050505050506000611dc3610607565b73ffffffffffffffffffffffffffffffffffffffff1663851c1bb3633a04f90060e01b6040518263ffffffff1660e01b815260040180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060206040518083038186803b158015611e3957600080fd5b505afa158015611e4d573d6000803e3d6000fd5b505050506040513d6020811015611e6357600080fd5b5051604080517f2f2ff15d0000000000000000000000000000000000000000000000000000000081526004810183905273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081166024830152915192935090841691632f2ff15d9160448082019260009290919082900301818387803b158015611f0057600080fd5b505af1158015611f14573d6000803e3d6000fd5b505050505050565b6000611f266104a1565b90506000611f32610607565b73ffffffffffffffffffffffffffffffffffffffff1663851c1bb3633a04f90060e01b6040518263ffffffff1660e01b815260040180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060206040518083038186803b158015611fa857600080fd5b505afa158015611fbc573d6000803e3d6000fd5b505050506040513d6020811015611fd257600080fd5b5051604080517fd547741f0000000000000000000000000000000000000000000000000000000081526004810183905273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000008116602483015291519293509084169163d547741f9160448082019260009290919082900301818387803b158015611f0057600080fd5bfefe436f6f7264696e61746f722073746167657320616c72656164792072656769737465726564a2646970667358221220d73cf3894c3bfff071c1d50ea9c3771257d79a40fd3f2bb8892bb4e8e7aad5d864736f6c63430007010033",
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061011b5760003560e01c806399eecb3b116100b2578063b2fa1c9e11610081578063da28cef711610066578063da28cef71461022d578063e758d36b14610235578063eedbe31d1461023d5761011b565b8063b2fa1c9e14610209578063d6076a6c146102255761011b565b806399eecb3b146101e9578063aaabadc5146101f1578063adcce535146101f9578063b07c0cdc146102015761011b565b8063483bc233116100ee578063483bc2331461019257806359ff345c1461019a578063851c1bb3146101a25780638d928af8146101e15761011b565b80630f42a2c1146101205780631f24cfc7146101515780632b1161721461015b578063321abfae1461018a575b600080fd5b610128610245565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b610159610269565b005b6101786004803603602081101561017157600080fd5b503561035b565b60408051918252519081900360200190f35b61012861037c565b6101286103a0565b6101286103c4565b610178600480360360208110156101b857600080fd5b50357fffffffff00000000000000000000000000000000000000000000000000000000166103e8565b610128610459565b61012861047d565b6101286104a1565b610128610521565b610128610545565b610211610569565b604080519115158252519081900360200190f35b610159610593565b610178610601565b610128610607565b61017861062b565b7f000000000000000000000000000000000000000000000000000000000000000081565b610271610631565b610279610601565b6102855761028561064a565b61028d610569565b156102f957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f416c6c2073746167657320636f6d706c65746564000000000000000000000000604482015290519081900360640190fd5b610349600161030661062b565b8154811061031057fe5b90600052602060002090600491828204019190066008029054906101000a9004801561206f021767ffffffffffffffff1663ffffffff16565b610351610655565b6103596106a0565b565b60006002828154811061036a57fe5b90600052602060002001549050919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527fffffffff000000000000000000000000000000000000000000000000000000008416828401528251602481840301815260449092019092528051910120919050565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000081565b60006104ab610459565b73ffffffffffffffffffffffffffffffffffffffff1663aaabadc56040518163ffffffff1660e01b815260040160206040518083038186803b1580156104f057600080fd5b505afa158015610504573d6000803e3d6000fd5b505050506040513d602081101561051a57600080fd5b5051905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b60008061057461062b565b905060008111801561058d5750610589610601565b8110155b91505090565b61059b610631565b6105a3610601565b156105f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806120726025913960400191505060405180910390fd5b61035161064a565b60015490565b7f000000000000000000000000000000000000000000000000000000000000000090565b60025490565b610643600260005414156101906106a7565b6002600055565b6103596106b96106d9565b60028054600181018255600091909152427f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace90910155610693610569565b156103595761035961073c565b6001600055565b816106b5576106b58161084d565b5050565b6106c16108ba565b6106c9610bc3565b6106d1611052565b610359611f1c565b6001805480820182556000919091527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf66004820401805460039092166008026101000a67ffffffffffffffff818102199093169390921691909102919091179055565b60006107466104a1565b90508073ffffffffffffffffffffffffffffffffffffffff166336568abe8273ffffffffffffffffffffffffffffffffffffffff1663a217fddf6040518163ffffffff1660e01b815260040160206040518083038186803b1580156107aa57600080fd5b505afa1580156107be573d6000803e3d6000fd5b505050506040513d60208110156107d457600080fd5b5051604080517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925230602483015251604480830192600092919082900301818387803b15801561083257600080fd5b505af1158015610846573d6000803e3d6000fd5b5050505050565b7f08c379a0000000000000000000000000000000000000000000000000000000006000908152602060045260076024526642414c23000030600a808404818106603090810160081b95839006959095019082900491820690940160101b939093010160c81b604452606490fd5b60006108c46104a1565b90508073ffffffffffffffffffffffffffffffffffffffff16632f2ff15d7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663851c1bb363e9bde60460e01b6040518263ffffffff1660e01b815260040180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060206040518083038186803b15801561097957600080fd5b505afa15801561098d573d6000803e3d6000fd5b505050506040513d60208110156109a357600080fd5b5051604080517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016602483015251604480830192600092919082900301818387803b158015610a3757600080fd5b505af1158015610a4b573d6000803e3d6000fd5b5050604080517f851c1bb30000000000000000000000000000000000000000000000000000000081527fbf5fa772000000000000000000000000000000000000000000000000000000006004820152905173ffffffffffffffffffffffffffffffffffffffff8086169450632f2ff15d93507f0000000000000000000000000000000000000000000000000000000000000000169163851c1bb3916024808301926020929190829003018186803b158015610b0557600080fd5b505afa158015610b19573d6000803e3d6000fd5b505050506040513d6020811015610b2f57600080fd5b5051604080517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016602483015251604480830192600092919082900301818387803b15801561083257600080fd5b6000610bcd6104a1565b90506000610bd9610607565b73ffffffffffffffffffffffffffffffffffffffff1663851c1bb36392d0d23260e01b6040518263ffffffff1660e01b815260040180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060206040518083038186803b158015610c4f57600080fd5b505afa158015610c63573d6000803e3d6000fd5b505050506040513d6020811015610c7957600080fd5b5051604080517f2f2ff15d00000000000000000000000000000000000000000000000000000000815260048101839052306024820152905191925073ffffffffffffffffffffffffffffffffffffffff841691632f2ff15d9160448082019260009290919082900301818387803b158015610cf357600080fd5b505af1158015610d07573d6000803e3d6000fd5b505050506000670de0b6b3a76400009050610d20610607565b604080516044808201859052602480830184905260086064808501919091527f4f7074696d69736d0000000000000000000000000000000000000000000000006084808601919091528551808603909101815260a490940185526020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f92d0d2320000000000000000000000000000000000000000000000000000000017815285517f4036176a0000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff8181166004840190815295830198895287519683019690965286519890951697634036176a979596959391909101919080838360005b83811015610e6b578181015183820152602001610e53565b50505050905090810190601f168015610e985780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b158015610eb857600080fd5b505af1158015610ecc573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526020811015610f1357600080fd5b8101908080516040519392919084640100000000821115610f3357600080fd5b908301906020820185811115610f4857600080fd5b8251640100000000811182820188101715610f6257600080fd5b82525081516020918201929091019080838360005b83811015610f8f578181015183820152602001610f77565b50505050905090810190601f168015610fbc5780820380516001836020036101000a031916815260200191505b5060408181527f36568abe000000000000000000000000000000000000000000000000000000008252600482018890523060248301525173ffffffffffffffffffffffffffffffffffffffff891695506336568abe94506044808301945060009350909182900301818387803b15801561103557600080fd5b505af1158015611049573d6000803e3d6000fd5b50505050505050565b600061105c6104a1565b604080517f851c1bb30000000000000000000000000000000000000000000000000000000081527f6440e973000000000000000000000000000000000000000000000000000000006004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163851c1bb3916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051604080517f2f2ff15d00000000000000000000000000000000000000000000000000000000815260048101839052306024820152905191925073ffffffffffffffffffffffffffffffffffffffff841691632f2ff15d9160448082019260009290919082900301818387803b1580156111b257600080fd5b505af11580156111c6573d6000803e3d6000fd5b50506040517f52854ed700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081169350636440e97392507f000000000000000000000000000000000000000000000000000000000000000016906352854ed790600290600090600401808381526020018281526020019250505060206040518083038186803b15801561128a57600080fd5b505afa15801561129e573d6000803e3d6000fd5b505050506040513d60208110156112b457600080fd5b50516040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815273ffffffffffffffffffffffffffffffffffffffff82166004820190815260029160240182815260200192505050600060405180830381600087803b15801561132a57600080fd5b505af115801561133e573d6000803e3d6000fd5b50506040517f52854ed700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081169350636440e97392507f000000000000000000000000000000000000000000000000000000000000000016906352854ed790600390600090600401808381526020018281526020019250505060206040518083038186803b15801561140257600080fd5b505afa158015611416573d6000803e3d6000fd5b505050506040513d602081101561142c57600080fd5b50516040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815273ffffffffffffffffffffffffffffffffffffffff82166004820190815260039160240182815260200192505050600060405180830381600087803b1580156114a257600080fd5b505af11580156114b6573d6000803e3d6000fd5b50506040517f52854ed700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081169350636440e97392507f000000000000000000000000000000000000000000000000000000000000000016906352854ed7906004906000908201808381526020018281526020019250505060206040518083038186803b15801561157957600080fd5b505afa15801561158d573d6000803e3d6000fd5b505050506040513d60208110156115a357600080fd5b50516040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815273ffffffffffffffffffffffffffffffffffffffff821660048281019182529160240182815260200192505050600060405180830381600087803b15801561161857600080fd5b505af115801561162c573d6000803e3d6000fd5b505050507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16636440e9737f000000000000000000000000000000000000000000000000000000000000000060056040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018260078111156116ca57fe5b815260200192505050600060405180830381600087803b1580156116ed57600080fd5b505af1158015611701573d6000803e3d6000fd5b5050604080517f36568abe00000000000000000000000000000000000000000000000000000000815260048101859052306024820152905173ffffffffffffffffffffffffffffffffffffffff861693506336568abe9250604480830192600092919082900301818387803b15801561177957600080fd5b505af115801561178d573d6000803e3d6000fd5b5050604080517f851c1bb30000000000000000000000000000000000000000000000000000000081527f5e45a27300000000000000000000000000000000000000000000000000000000600482015290516000945073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016935063851c1bb392506024808301926020929190829003018186803b15801561184157600080fd5b505afa158015611855573d6000803e3d6000fd5b505050506040513d602081101561186b57600080fd5b5051604080517f851c1bb30000000000000000000000000000000000000000000000000000000081527ff87fcfa2000000000000000000000000000000000000000000000000000000006004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163851c1bb3916024808301926020929190829003018186803b15801561191f57600080fd5b505afa158015611933573d6000803e3d6000fd5b505050506040513d602081101561194957600080fd5b5051604080517f851c1bb30000000000000000000000000000000000000000000000000000000081527fbf2972d5000000000000000000000000000000000000000000000000000000006004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163851c1bb3916024808301926020929190829003018186803b1580156119fd57600080fd5b505afa158015611a11573d6000803e3d6000fd5b505050506040513d6020811015611a2757600080fd5b5051604080517f851c1bb30000000000000000000000000000000000000000000000000000000081527f8171bad9000000000000000000000000000000000000000000000000000000006004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163851c1bb3916024808301926020929190829003018186803b158015611adb57600080fd5b505afa158015611aef573d6000803e3d6000fd5b505050506040513d6020811015611b0557600080fd5b5051604080517f2f2ff15d0000000000000000000000000000000000000000000000000000000081526004810187905273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081166024830152915192935090871691632f2ff15d9160448082019260009290919082900301818387803b158015611ba257600080fd5b505af1158015611bb6573d6000803e3d6000fd5b505050508473ffffffffffffffffffffffffffffffffffffffff16632f2ff15d847f00000000000000000000000000000000000000000000000000000000000000006040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b158015611c4b57600080fd5b505af1158015611c5f573d6000803e3d6000fd5b505050508473ffffffffffffffffffffffffffffffffffffffff16632f2ff15d837f00000000000000000000000000000000000000000000000000000000000000006040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b158015611cf457600080fd5b505af1158015611d08573d6000803e3d6000fd5b505050508473ffffffffffffffffffffffffffffffffffffffff16632f2ff15d827f00000000000000000000000000000000000000000000000000000000000000006040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b158015611d9d57600080fd5b505af1158015611db1573d6000803e3d6000fd5b50505050505050506000611dc3610607565b73ffffffffffffffffffffffffffffffffffffffff1663851c1bb3633a04f90060e01b6040518263ffffffff1660e01b815260040180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060206040518083038186803b158015611e3957600080fd5b505afa158015611e4d573d6000803e3d6000fd5b505050506040513d6020811015611e6357600080fd5b5051604080517f2f2ff15d0000000000000000000000000000000000000000000000000000000081526004810183905273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081166024830152915192935090841691632f2ff15d9160448082019260009290919082900301818387803b158015611f0057600080fd5b505af1158015611f14573d6000803e3d6000fd5b505050505050565b6000611f266104a1565b90506000611f32610607565b73ffffffffffffffffffffffffffffffffffffffff1663851c1bb3633a04f90060e01b6040518263ffffffff1660e01b815260040180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060206040518083038186803b158015611fa857600080fd5b505afa158015611fbc573d6000803e3d6000fd5b505050506040513d6020811015611fd257600080fd5b5051604080517fd547741f0000000000000000000000000000000000000000000000000000000081526004810183905273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000008116602483015291519293509084169163d547741f9160448082019260009290919082900301818387803b158015611f0057600080fd5bfefe436f6f7264696e61746f722073746167657320616c72656164792072656769737465726564a2646970667358221220d73cf3894c3bfff071c1d50ea9c3771257d79a40fd3f2bb8892bb4e8e7aad5d864736f6c63430007010033",
"linkReferences": {},
"deployedLinkReferences": {}
}