forked from balancer/balancer-deployments
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathL2GaugeCheckpointer.json
367 lines (367 loc) · 48.3 KB
/
L2GaugeCheckpointer.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
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
{
"_format": "hh-sol-artifact-1",
"contractName": "L2GaugeCheckpointer",
"sourceName": "contracts/gauges/L2GaugeCheckpointer.sol",
"abi": [
{
"inputs": [
{
"internalType": "contract IGaugeAdder",
"name": "gaugeAdder",
"type": "address"
},
{
"internalType": "contract IAuthorizerAdaptorEntrypoint",
"name": "authorizerAdaptorEntrypoint",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "contract IStakelessGauge",
"name": "gauge",
"type": "address"
},
{
"indexed": true,
"internalType": "string",
"name": "indexedGaugeType",
"type": "string"
},
{
"indexed": false,
"internalType": "string",
"name": "gaugeType",
"type": "string"
}
],
"name": "GaugeAdded",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "contract IStakelessGauge",
"name": "gauge",
"type": "address"
},
{
"indexed": true,
"internalType": "string",
"name": "indexedGaugeType",
"type": "string"
},
{
"indexed": false,
"internalType": "string",
"name": "gaugeType",
"type": "string"
}
],
"name": "GaugeRemoved",
"type": "event"
},
{
"inputs": [
{
"internalType": "string",
"name": "gaugeType",
"type": "string"
},
{
"internalType": "contract IStakelessGauge[]",
"name": "gauges",
"type": "address[]"
}
],
"name": "addGauges",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "gaugeType",
"type": "string"
},
{
"internalType": "contract IStakelessGauge[]",
"name": "gauges",
"type": "address[]"
}
],
"name": "addGaugesWithVerifiedType",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "minRelativeWeight",
"type": "uint256"
}
],
"name": "checkpointGaugesAboveRelativeWeight",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "gaugeType",
"type": "string"
},
{
"internalType": "uint256",
"name": "minRelativeWeight",
"type": "uint256"
}
],
"name": "checkpointGaugesOfTypeAboveRelativeWeight",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "gaugeType",
"type": "string"
},
{
"internalType": "address",
"name": "gauge",
"type": "address"
}
],
"name": "checkpointSingleGauge",
"outputs": [],
"stateMutability": "payable",
"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": "getGaugeAdder",
"outputs": [
{
"internalType": "contract IGaugeAdder",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "gaugeType",
"type": "string"
},
{
"internalType": "uint256",
"name": "index",
"type": "uint256"
}
],
"name": "getGaugeAtIndex",
"outputs": [
{
"internalType": "contract IStakelessGauge",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "gaugeType",
"type": "string"
},
{
"internalType": "address",
"name": "gauge",
"type": "address"
}
],
"name": "getSingleBridgeCost",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "minRelativeWeight",
"type": "uint256"
}
],
"name": "getTotalBridgeCost",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "gaugeType",
"type": "string"
}
],
"name": "getTotalGauges",
"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": [
{
"internalType": "string",
"name": "gaugeType",
"type": "string"
},
{
"internalType": "contract IStakelessGauge",
"name": "gauge",
"type": "address"
}
],
"name": "hasGauge",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "gaugeType",
"type": "string"
}
],
"name": "isValidGaugeType",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "gaugeType",
"type": "string"
},
{
"internalType": "contract IStakelessGauge[]",
"name": "gauges",
"type": "address[]"
}
],
"name": "removeGauges",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x61014060405262000012610160620001f9565b60408051601f19818403018152919052805160209091012060c0523480156200003a57600080fd5b50604051620029eb380380620029eb8339810160408190526200005d9162000195565b806001600160a01b0316638d928af86040518163ffffffff1660e01b815260040160206040518083038186803b1580156200009757600080fd5b505afa158015620000ac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000d29190620001d3565b6001600055306080526001600160601b0319606091821b811660a05283821b8116610100529082901b1660e05260408051632c6f4d6f60e11b815290516001600160a01b038416916358de9ade916004808301926020929190829003018186803b1580156200014057600080fd5b505afa15801562000155573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200017b9190620001d3565b60601b6001600160601b0319166101205250620002269050565b60008060408385031215620001a8578182fd5b8251620001b5816200020d565b6020840151909250620001c8816200020d565b809150509250929050565b600060208284031215620001e5578081fd5b8151620001f2816200020d565b9392505050565b67417262697472756d60c01b815260080190565b6001600160a01b03811681146200022357600080fd5b50565b60805160a05160601c60c05160e05160601c6101005160601c6101205160601c612724620002c7600039806105255280611550528061178352508061032252806103b2528061079852806108b45280610ade5280610d525280610e425280610f6d5280611070528061117a5280611929525080610baa5280611b605280611cff5250806106b952806114db525080610c9f525080610c4f52506127246000f3fe6080604052600436106100f35760003560e01c8063851c1bb31161008a578063d14cfe3b11610059578063d14cfe3b1461027c578063d8dba2ce1461028f578063db5d1225146102af578063f7178b88146102c2576100f3565b8063851c1bb3146102125780638d928af814610232578063aaabadc514610247578063c91be0431461025c576100f3565b80634db34d2a116100c65780634db34d2a146101a857806373ebd060146101c85780637c1fef51146101ea5780637d0a6616146101ff576100f3565b806316e772bc146100f857806327cb2a3b1461012e57806327f791071461015b5780632adbe5ac14610188575b600080fd5b34801561010457600080fd5b50610118610113366004612116565b6102e2565b60405161012591906123e9565b60405180910390f35b34801561013a57600080fd5b5061014e610149366004612254565b6103ad565b604051610125919061236b565b34801561016757600080fd5b5061017b610176366004612297565b6104b1565b60405161012591906123f4565b34801561019457600080fd5b5061017b6101a3366004612149565b610670565b3480156101b457600080fd5b5061017b6101c3366004612116565b610793565b3480156101d457600080fd5b506101e86101e3366004612199565b610875565b005b3480156101f657600080fd5b5061014e610adc565b6101e861020d366004612149565b610b00565b34801561021e57600080fd5b5061017b61022d36600461206b565b610c4b565b34801561023e57600080fd5b5061014e610c9d565b34801561025357600080fd5b5061014e610cc1565b34801561026857600080fd5b5061011861027736600461222c565b610d4d565b6101e861028a366004612297565b610e29565b34801561029b57600080fd5b506101e86102aa366004612199565b610f2e565b6101e86102bd366004612254565b611029565b3480156102ce57600080fd5b506101e86102dd366004612199565b61113b565b6040517f16e772bc00000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906316e772bc90610357908590600401612429565b60206040518083038186803b15801561036f57600080fd5b505afa158015610383573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103a7919061204b565b92915050565b6000827f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166316e772bc826040518263ffffffff1660e01b81526004016104099190612429565b60206040518083038186803b15801561042157600080fd5b505afa158015610435573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610459919061204b565b61047e5760405162461bcd60e51b81526004016104759061258a565b60405180910390fd5b6104a7836001866040516104929190612323565b90815260405190819003602001902090611228565b91505b5092915050565b6000806104bd42611244565b905060006104e560016040516104d29061233f565b9081526020016040518091039020611250565b9050600060016040516104f79061233f565b90815260405190819003602001902090506000805b838110156106665760006105208483611254565b9050877f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d3078c9483896040518363ffffffff1660e01b815260040161057e9291906123c3565b60206040518083038186803b15801561059657600080fd5b505afa1580156105aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ce91906122af565b10156105da575061065e565b8073ffffffffffffffffffffffffffffffffffffffff1663b02452256040518163ffffffff1660e01b815260040160206040518083038186803b15801561062057600080fd5b505afa158015610634573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065891906122af565b83019250505b60010161050c565b5095945050505050565b600061069b826001856040516106869190612323565b9081526040519081900360200190209061128e565b6106b75760405162461bcd60e51b8152600401610475906124f6565b7f0000000000000000000000000000000000000000000000000000000000000000836040516020016106e99190612323565b60405160208183030381529060405280519060200120141561078a578173ffffffffffffffffffffffffffffffffffffffff1663b02452256040518163ffffffff1660e01b815260040160206040518083038186803b15801561074b57600080fd5b505afa15801561075f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078391906122af565b90506103a7565b50600092915050565b6000817f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166316e772bc826040518263ffffffff1660e01b81526004016107ef9190612429565b60206040518083038186803b15801561080757600080fd5b505afa15801561081b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083f919061204b565b61085b5760405162461bcd60e51b81526004016104759061258a565b61086e6001846040516104d29190612323565b9392505050565b6040517f16e772bc000000000000000000000000000000000000000000000000000000008152839073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906316e772bc906108e9908490600401612429565b60206040518083038186803b15801561090157600080fd5b505afa158015610915573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610939919061204b565b6109555760405162461bcd60e51b81526004016104759061258a565b60006001856040516109679190612323565b9081526020016040518091039020905060005b83811015610ad457600085858381811061099057fe5b90506020020160208101906109a591906120fa565b90508073ffffffffffffffffffffffffffffffffffffffff16639c868ac06040518163ffffffff1660e01b815260040160206040518083038186803b1580156109ed57600080fd5b505afa158015610a01573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a25919061204b565b610a415760405162461bcd60e51b8152600401610475906125c1565b610a4b83826112bc565b610a675760405162461bcd60e51b8152600401610475906124f6565b86604051610a759190612323565b60405180910390208173ffffffffffffffffffffffffffffffffffffffff167fb87757e0365ca4f80cc1f429f422c0ea7ec26bbd3e5778727e77c809462aad0289604051610ac39190612429565b60405180910390a35060010161097a565b505050505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b610b0861146a565b6000610b148383610670565b6040805160048082526024820183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fc2c4c5c10000000000000000000000000000000000000000000000000000000017905291517f4036176a00000000000000000000000000000000000000000000000000000000815292935073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001692634036176a928592610bdf9288920161238c565b6000604051808303818588803b158015610bf857600080fd5b505af1158015610c0c573d6000803e3d6000fd5b50505050506040513d6000823e601f3d908101601f19168201604052610c3591908101906120ab565b50610c3e611483565b50610c47611494565b5050565b60007f000000000000000000000000000000000000000000000000000000000000000082604051602001610c809291906122f3565b604051602081830303815290604052805190602001209050919050565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000610ccb610c9d565b73ffffffffffffffffffffffffffffffffffffffff1663aaabadc56040518163ffffffff1660e01b815260040160206040518083038186803b158015610d1057600080fd5b505afa158015610d24573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d4891906120de565b905090565b6000827f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166316e772bc826040518263ffffffff1660e01b8152600401610da99190612429565b60206040518083038186803b158015610dc157600080fd5b505afa158015610dd5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610df9919061204b565b610e155760405162461bcd60e51b81526004016104759061258a565b6104a7836001866040516106869190612323565b610e3161146a565b6000610e3c42611244565b905060607f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663afcb1a866040518163ffffffff1660e01b815260040160006040518083038186803b158015610ea657600080fd5b505afa158015610eba573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ee29190810190611fb0565b905060005b8151811015610f1657610f0e828281518110610eff57fe5b6020026020010151858561149b565b600101610ee7565b50610f213347611626565b5050610f2b611494565b50565b6040517f16e772bc000000000000000000000000000000000000000000000000000000008152839073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906316e772bc90610fa2908490600401612429565b60206040518083038186803b158015610fba57600080fd5b505afa158015610fce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ff2919061204b565b61100e5760405162461bcd60e51b81526004016104759061258a565b6110166116ad565b61102384848460016116f3565b50505050565b61103161146a565b6040517f16e772bc000000000000000000000000000000000000000000000000000000008152829073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906316e772bc906110a5908490600401612429565b60206040518083038186803b1580156110bd57600080fd5b505afa1580156110d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f5919061204b565b6111115760405162461bcd60e51b81526004016104759061258a565b600061111c42611244565b905061112984848361149b565b611131611483565b5050610c47611494565b6040517f16e772bc000000000000000000000000000000000000000000000000000000008152839073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906316e772bc906111af908490600401612429565b60206040518083038186803b1580156111c757600080fd5b505afa1580156111db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ff919061204b565b61121b5760405162461bcd60e51b81526004016104759061258a565b61102384848460006116f3565b815460009061123a9083106064611abf565b61086e8383611254565b62093a80908190040290565b5490565b600082600001828154811061126557fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff169392505050565b73ffffffffffffffffffffffffffffffffffffffff1660009081526001919091016020526040902054151590565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260018301602052604081205480156114605783547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80830191018082146113c557600086600001828154811061132a57fe5b600091825260209091200154875473ffffffffffffffffffffffffffffffffffffffff9091169150819088908590811061136057fe5b600091825260208083209190910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff94851617905592909116815260018881019092526040902090830190555b85548690806113d057fe5b6000828152602080822083017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810180547fffffffffffffffffffffffff000000000000000000000000000000000000000016905590920190925573ffffffffffffffffffffffffffffffffffffffff871682526001888101909152604082209190915593506103a792505050565b60009150506103a7565b61147c60026000541415610190611abf565b6002600055565b478015610f2b57610f2b3382611626565b6001600055565b60006001846040516114ad9190612323565b9081526020016040518091039020905060006114c882611250565b9050806114d6575050611621565b611f157f00000000000000000000000000000000000000000000000000000000000000008660405160200161150b9190612323565b604051602081830303815290604052805190602001201461152e57611acd611532565b611be95b905060005b8281101561161c57600061154b8583611254565b9050867f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d3078c9483896040518363ffffffff1660e01b81526004016115a99291906123c3565b60206040518083038186803b1580156115c157600080fd5b505afa1580156115d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115f991906122af565b10156116055750611614565b611612818463ffffffff16565b505b600101611537565b505050505b505050565b611635814710156101a3611abf565b60008273ffffffffffffffffffffffffffffffffffffffff168260405161165b90612368565b60006040518083038185875af1925050503d8060008114611698576040519150601f19603f3d011682016040523d82523d6000602084013e61169d565b606091505b50509050611621816101a4611abf565b60006116dc6000357fffffffff0000000000000000000000000000000000000000000000000000000016610c4b565b9050610f2b6116eb8233611d8a565b610191611abf565b60006001856040516117059190612323565b9081526020016040518091039020905060005b83811015610ad457600085858381811061172e57fe5b905060200201602081019061174391906120fa565b6040517f61df1bf900000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906361df1bf9906117b890849060040161236b565b60206040518083038186803b1580156117d057600080fd5b505afa1580156117e4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611808919061204b565b6118245760405162461bcd60e51b81526004016104759061243c565b8073ffffffffffffffffffffffffffffffffffffffff16639c868ac06040518163ffffffff1660e01b815260040160206040518083038186803b15801561186a57600080fd5b505afa15801561187e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118a2919061204b565b156118bf5760405162461bcd60e51b815260040161047590612553565b6118c98382611e20565b6118e55760405162461bcd60e51b8152600401610475906125f8565b8380611a3657506040517f572cb6a500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063572cb6a59061195e908a90600401612429565b60206040518083038186803b15801561197657600080fd5b505afa15801561198a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119ae91906120de565b73ffffffffffffffffffffffffffffffffffffffff1663ce3cc8bd826040518263ffffffff1660e01b81526004016119e6919061236b565b60206040518083038186803b1580156119fe57600080fd5b505afa158015611a12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a36919061204b565b611a525760405162461bcd60e51b815260040161047590612499565b86604051611a609190612323565b60405180910390208173ffffffffffffffffffffffffffffffffffffffff167fbd3a33b3738a69bcfb84219d93fb0b1b2d91efbf2e5bef206c9af4122290fb5489604051611aae9190612429565b60405180910390a350600101611718565b81610c4757610c4781611ea0565b6040805160048082526024820183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fc2c4c5c10000000000000000000000000000000000000000000000000000000017905291517f4036176a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001692634036176a92611b939286920161238c565b600060405180830381600087803b158015611bad57600080fd5b505af1158015611bc1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c4791908101906120ab565b60008173ffffffffffffffffffffffffffffffffffffffff1663b02452256040518163ffffffff1660e01b815260040160206040518083038186803b158015611c3157600080fd5b505afa158015611c45573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c6991906122af565b6040805160048082526024820183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fc2c4c5c10000000000000000000000000000000000000000000000000000000017905291517f4036176a00000000000000000000000000000000000000000000000000000000815292935073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001692634036176a928592611d349288920161238c565b6000604051808303818588803b158015611d4d57600080fd5b505af1158015611d61573d6000803e3d6000fd5b50505050506040513d6000823e601f3d908101601f1916820160405261162191908101906120ab565b6000611d94610cc1565b73ffffffffffffffffffffffffffffffffffffffff16639be2a8848484306040518463ffffffff1660e01b8152600401611dd0939291906123fd565b60206040518083038186803b158015611de857600080fd5b505afa158015611dfc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086e919061204b565b6000611e2c838361128e565b61078a57508154600180820184556000848152602080822090930180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8616908117909155855490825282860190935260409020919091556103a7565b62461bcd60e51b600090815260206004526007602452600a808304818106603090810160081b83860601918390049283060160101b016642414c230000300160c81b604452610f2b917f42414c0000000000000000000000000000000000000000000000000000000000906242414c90606490fd5bfe5b600082601f830112611f27578081fd5b8151611f3a611f358261267c565b612655565b9150808252836020828501011115611f5157600080fd5b6104aa8160208401602086016126a0565b600082601f830112611f72578081fd5b8135611f80611f358261267c565b9150808252836020828501011115611f9757600080fd5b8060208401602084013760009082016020015292915050565b60006020808385031215611fc2578182fd5b825167ffffffffffffffff80821115611fd9578384fd5b818501915085601f830112611fec578384fd5b815181811115611ffa578485fd5b6120078485830201612655565b8181528481019250838501865b8381101561203d5761202b8a888451890101611f17565b85529386019390860190600101612014565b509098975050505050505050565b60006020828403121561205c578081fd5b8151801515811461086e578182fd5b60006020828403121561207c578081fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461086e578182fd5b6000602082840312156120bc578081fd5b815167ffffffffffffffff8111156120d2578182fd5b6104a784828501611f17565b6000602082840312156120ef578081fd5b815161086e816126cc565b60006020828403121561210b578081fd5b813561086e816126cc565b600060208284031215612127578081fd5b813567ffffffffffffffff81111561213d578182fd5b6104a784828501611f62565b6000806040838503121561215b578081fd5b823567ffffffffffffffff811115612171578182fd5b61217d85828601611f62565b925050602083013561218e816126cc565b809150509250929050565b6000806000604084860312156121ad578081fd5b833567ffffffffffffffff808211156121c4578283fd5b6121d087838801611f62565b945060208601359150808211156121e5578283fd5b818601915086601f8301126121f8578283fd5b813581811115612206578384fd5b8760208083028501011115612219578384fd5b6020830194508093505050509250925092565b6000806040838503121561223e578182fd5b823567ffffffffffffffff811115612171578283fd5b60008060408385031215612266578182fd5b823567ffffffffffffffff81111561227c578283fd5b61228885828601611f62565b95602094909401359450505050565b6000602082840312156122a8578081fd5b5035919050565b6000602082840312156122c0578081fd5b5051919050565b600081518084526122df8160208601602086016126a0565b601f01601f19169290920160200192915050565b9182527fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b600082516123358184602087016126a0565b9190910192915050565b7f417262697472756d000000000000000000000000000000000000000000000000815260080190565b90565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b600073ffffffffffffffffffffffffffffffffffffffff84168252604060208301526123bb60408301846122c7565b949350505050565b73ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b901515815260200190565b90815260200190565b92835273ffffffffffffffffffffffffffffffffffffffff918216602084015216604082015260600190565b60006020825261086e60208301846122c7565b6020808252602a908201527f476175676520776173206e6f7420616464656420746f2074686520476175676560408201527f436f6e74726f6c6c657200000000000000000000000000000000000000000000606082015260800190565b6020808252602e908201527f476175676520646f6573206e6f7420636f72726573706f6e6420746f2074686560408201527f2073656c65637465642074797065000000000000000000000000000000000000606082015260800190565b60208082526027908201527f476175676520776173206e6f7420616464656420746f2074686520636865636b60408201527f706f696e74657200000000000000000000000000000000000000000000000000606082015260800190565b60208082526010908201527f476175676520776173206b696c6c656400000000000000000000000000000000604082015260600190565b60208082526012908201527f496e76616c696420676175676520747970650000000000000000000000000000604082015260600190565b60208082526014908201527f476175676520776173206e6f74206b696c6c6564000000000000000000000000604082015260600190565b60208082526027908201527f476175676520616c726561647920616464656420746f2074686520636865636b60408201527f706f696e74657200000000000000000000000000000000000000000000000000606082015260800190565b60405181810167ffffffffffffffff8111828210171561267457600080fd5b604052919050565b600067ffffffffffffffff821115612692578081fd5b50601f01601f191660200190565b60005b838110156126bb5781810151838201526020016126a3565b838111156110235750506000910152565b73ffffffffffffffffffffffffffffffffffffffff81168114610f2b57600080fdfea264697066735822122064d8a54ab9b9d7899cbf9eeb8ad3687905bdf49874a310d5471e0de218ba796664736f6c63430007010033",
"deployedBytecode": "0x6080604052600436106100f35760003560e01c8063851c1bb31161008a578063d14cfe3b11610059578063d14cfe3b1461027c578063d8dba2ce1461028f578063db5d1225146102af578063f7178b88146102c2576100f3565b8063851c1bb3146102125780638d928af814610232578063aaabadc514610247578063c91be0431461025c576100f3565b80634db34d2a116100c65780634db34d2a146101a857806373ebd060146101c85780637c1fef51146101ea5780637d0a6616146101ff576100f3565b806316e772bc146100f857806327cb2a3b1461012e57806327f791071461015b5780632adbe5ac14610188575b600080fd5b34801561010457600080fd5b50610118610113366004612116565b6102e2565b60405161012591906123e9565b60405180910390f35b34801561013a57600080fd5b5061014e610149366004612254565b6103ad565b604051610125919061236b565b34801561016757600080fd5b5061017b610176366004612297565b6104b1565b60405161012591906123f4565b34801561019457600080fd5b5061017b6101a3366004612149565b610670565b3480156101b457600080fd5b5061017b6101c3366004612116565b610793565b3480156101d457600080fd5b506101e86101e3366004612199565b610875565b005b3480156101f657600080fd5b5061014e610adc565b6101e861020d366004612149565b610b00565b34801561021e57600080fd5b5061017b61022d36600461206b565b610c4b565b34801561023e57600080fd5b5061014e610c9d565b34801561025357600080fd5b5061014e610cc1565b34801561026857600080fd5b5061011861027736600461222c565b610d4d565b6101e861028a366004612297565b610e29565b34801561029b57600080fd5b506101e86102aa366004612199565b610f2e565b6101e86102bd366004612254565b611029565b3480156102ce57600080fd5b506101e86102dd366004612199565b61113b565b6040517f16e772bc00000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906316e772bc90610357908590600401612429565b60206040518083038186803b15801561036f57600080fd5b505afa158015610383573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103a7919061204b565b92915050565b6000827f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166316e772bc826040518263ffffffff1660e01b81526004016104099190612429565b60206040518083038186803b15801561042157600080fd5b505afa158015610435573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610459919061204b565b61047e5760405162461bcd60e51b81526004016104759061258a565b60405180910390fd5b6104a7836001866040516104929190612323565b90815260405190819003602001902090611228565b91505b5092915050565b6000806104bd42611244565b905060006104e560016040516104d29061233f565b9081526020016040518091039020611250565b9050600060016040516104f79061233f565b90815260405190819003602001902090506000805b838110156106665760006105208483611254565b9050877f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d3078c9483896040518363ffffffff1660e01b815260040161057e9291906123c3565b60206040518083038186803b15801561059657600080fd5b505afa1580156105aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ce91906122af565b10156105da575061065e565b8073ffffffffffffffffffffffffffffffffffffffff1663b02452256040518163ffffffff1660e01b815260040160206040518083038186803b15801561062057600080fd5b505afa158015610634573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065891906122af565b83019250505b60010161050c565b5095945050505050565b600061069b826001856040516106869190612323565b9081526040519081900360200190209061128e565b6106b75760405162461bcd60e51b8152600401610475906124f6565b7f0000000000000000000000000000000000000000000000000000000000000000836040516020016106e99190612323565b60405160208183030381529060405280519060200120141561078a578173ffffffffffffffffffffffffffffffffffffffff1663b02452256040518163ffffffff1660e01b815260040160206040518083038186803b15801561074b57600080fd5b505afa15801561075f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078391906122af565b90506103a7565b50600092915050565b6000817f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166316e772bc826040518263ffffffff1660e01b81526004016107ef9190612429565b60206040518083038186803b15801561080757600080fd5b505afa15801561081b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083f919061204b565b61085b5760405162461bcd60e51b81526004016104759061258a565b61086e6001846040516104d29190612323565b9392505050565b6040517f16e772bc000000000000000000000000000000000000000000000000000000008152839073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906316e772bc906108e9908490600401612429565b60206040518083038186803b15801561090157600080fd5b505afa158015610915573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610939919061204b565b6109555760405162461bcd60e51b81526004016104759061258a565b60006001856040516109679190612323565b9081526020016040518091039020905060005b83811015610ad457600085858381811061099057fe5b90506020020160208101906109a591906120fa565b90508073ffffffffffffffffffffffffffffffffffffffff16639c868ac06040518163ffffffff1660e01b815260040160206040518083038186803b1580156109ed57600080fd5b505afa158015610a01573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a25919061204b565b610a415760405162461bcd60e51b8152600401610475906125c1565b610a4b83826112bc565b610a675760405162461bcd60e51b8152600401610475906124f6565b86604051610a759190612323565b60405180910390208173ffffffffffffffffffffffffffffffffffffffff167fb87757e0365ca4f80cc1f429f422c0ea7ec26bbd3e5778727e77c809462aad0289604051610ac39190612429565b60405180910390a35060010161097a565b505050505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b610b0861146a565b6000610b148383610670565b6040805160048082526024820183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fc2c4c5c10000000000000000000000000000000000000000000000000000000017905291517f4036176a00000000000000000000000000000000000000000000000000000000815292935073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001692634036176a928592610bdf9288920161238c565b6000604051808303818588803b158015610bf857600080fd5b505af1158015610c0c573d6000803e3d6000fd5b50505050506040513d6000823e601f3d908101601f19168201604052610c3591908101906120ab565b50610c3e611483565b50610c47611494565b5050565b60007f000000000000000000000000000000000000000000000000000000000000000082604051602001610c809291906122f3565b604051602081830303815290604052805190602001209050919050565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000610ccb610c9d565b73ffffffffffffffffffffffffffffffffffffffff1663aaabadc56040518163ffffffff1660e01b815260040160206040518083038186803b158015610d1057600080fd5b505afa158015610d24573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d4891906120de565b905090565b6000827f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166316e772bc826040518263ffffffff1660e01b8152600401610da99190612429565b60206040518083038186803b158015610dc157600080fd5b505afa158015610dd5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610df9919061204b565b610e155760405162461bcd60e51b81526004016104759061258a565b6104a7836001866040516106869190612323565b610e3161146a565b6000610e3c42611244565b905060607f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663afcb1a866040518163ffffffff1660e01b815260040160006040518083038186803b158015610ea657600080fd5b505afa158015610eba573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ee29190810190611fb0565b905060005b8151811015610f1657610f0e828281518110610eff57fe5b6020026020010151858561149b565b600101610ee7565b50610f213347611626565b5050610f2b611494565b50565b6040517f16e772bc000000000000000000000000000000000000000000000000000000008152839073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906316e772bc90610fa2908490600401612429565b60206040518083038186803b158015610fba57600080fd5b505afa158015610fce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ff2919061204b565b61100e5760405162461bcd60e51b81526004016104759061258a565b6110166116ad565b61102384848460016116f3565b50505050565b61103161146a565b6040517f16e772bc000000000000000000000000000000000000000000000000000000008152829073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906316e772bc906110a5908490600401612429565b60206040518083038186803b1580156110bd57600080fd5b505afa1580156110d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f5919061204b565b6111115760405162461bcd60e51b81526004016104759061258a565b600061111c42611244565b905061112984848361149b565b611131611483565b5050610c47611494565b6040517f16e772bc000000000000000000000000000000000000000000000000000000008152839073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906316e772bc906111af908490600401612429565b60206040518083038186803b1580156111c757600080fd5b505afa1580156111db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ff919061204b565b61121b5760405162461bcd60e51b81526004016104759061258a565b61102384848460006116f3565b815460009061123a9083106064611abf565b61086e8383611254565b62093a80908190040290565b5490565b600082600001828154811061126557fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff169392505050565b73ffffffffffffffffffffffffffffffffffffffff1660009081526001919091016020526040902054151590565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260018301602052604081205480156114605783547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80830191018082146113c557600086600001828154811061132a57fe5b600091825260209091200154875473ffffffffffffffffffffffffffffffffffffffff9091169150819088908590811061136057fe5b600091825260208083209190910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff94851617905592909116815260018881019092526040902090830190555b85548690806113d057fe5b6000828152602080822083017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810180547fffffffffffffffffffffffff000000000000000000000000000000000000000016905590920190925573ffffffffffffffffffffffffffffffffffffffff871682526001888101909152604082209190915593506103a792505050565b60009150506103a7565b61147c60026000541415610190611abf565b6002600055565b478015610f2b57610f2b3382611626565b6001600055565b60006001846040516114ad9190612323565b9081526020016040518091039020905060006114c882611250565b9050806114d6575050611621565b611f157f00000000000000000000000000000000000000000000000000000000000000008660405160200161150b9190612323565b604051602081830303815290604052805190602001201461152e57611acd611532565b611be95b905060005b8281101561161c57600061154b8583611254565b9050867f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d3078c9483896040518363ffffffff1660e01b81526004016115a99291906123c3565b60206040518083038186803b1580156115c157600080fd5b505afa1580156115d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115f991906122af565b10156116055750611614565b611612818463ffffffff16565b505b600101611537565b505050505b505050565b611635814710156101a3611abf565b60008273ffffffffffffffffffffffffffffffffffffffff168260405161165b90612368565b60006040518083038185875af1925050503d8060008114611698576040519150601f19603f3d011682016040523d82523d6000602084013e61169d565b606091505b50509050611621816101a4611abf565b60006116dc6000357fffffffff0000000000000000000000000000000000000000000000000000000016610c4b565b9050610f2b6116eb8233611d8a565b610191611abf565b60006001856040516117059190612323565b9081526020016040518091039020905060005b83811015610ad457600085858381811061172e57fe5b905060200201602081019061174391906120fa565b6040517f61df1bf900000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906361df1bf9906117b890849060040161236b565b60206040518083038186803b1580156117d057600080fd5b505afa1580156117e4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611808919061204b565b6118245760405162461bcd60e51b81526004016104759061243c565b8073ffffffffffffffffffffffffffffffffffffffff16639c868ac06040518163ffffffff1660e01b815260040160206040518083038186803b15801561186a57600080fd5b505afa15801561187e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118a2919061204b565b156118bf5760405162461bcd60e51b815260040161047590612553565b6118c98382611e20565b6118e55760405162461bcd60e51b8152600401610475906125f8565b8380611a3657506040517f572cb6a500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063572cb6a59061195e908a90600401612429565b60206040518083038186803b15801561197657600080fd5b505afa15801561198a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119ae91906120de565b73ffffffffffffffffffffffffffffffffffffffff1663ce3cc8bd826040518263ffffffff1660e01b81526004016119e6919061236b565b60206040518083038186803b1580156119fe57600080fd5b505afa158015611a12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a36919061204b565b611a525760405162461bcd60e51b815260040161047590612499565b86604051611a609190612323565b60405180910390208173ffffffffffffffffffffffffffffffffffffffff167fbd3a33b3738a69bcfb84219d93fb0b1b2d91efbf2e5bef206c9af4122290fb5489604051611aae9190612429565b60405180910390a350600101611718565b81610c4757610c4781611ea0565b6040805160048082526024820183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fc2c4c5c10000000000000000000000000000000000000000000000000000000017905291517f4036176a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001692634036176a92611b939286920161238c565b600060405180830381600087803b158015611bad57600080fd5b505af1158015611bc1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c4791908101906120ab565b60008173ffffffffffffffffffffffffffffffffffffffff1663b02452256040518163ffffffff1660e01b815260040160206040518083038186803b158015611c3157600080fd5b505afa158015611c45573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c6991906122af565b6040805160048082526024820183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fc2c4c5c10000000000000000000000000000000000000000000000000000000017905291517f4036176a00000000000000000000000000000000000000000000000000000000815292935073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001692634036176a928592611d349288920161238c565b6000604051808303818588803b158015611d4d57600080fd5b505af1158015611d61573d6000803e3d6000fd5b50505050506040513d6000823e601f3d908101601f1916820160405261162191908101906120ab565b6000611d94610cc1565b73ffffffffffffffffffffffffffffffffffffffff16639be2a8848484306040518463ffffffff1660e01b8152600401611dd0939291906123fd565b60206040518083038186803b158015611de857600080fd5b505afa158015611dfc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086e919061204b565b6000611e2c838361128e565b61078a57508154600180820184556000848152602080822090930180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8616908117909155855490825282860190935260409020919091556103a7565b62461bcd60e51b600090815260206004526007602452600a808304818106603090810160081b83860601918390049283060160101b016642414c230000300160c81b604452610f2b917f42414c0000000000000000000000000000000000000000000000000000000000906242414c90606490fd5bfe5b600082601f830112611f27578081fd5b8151611f3a611f358261267c565b612655565b9150808252836020828501011115611f5157600080fd5b6104aa8160208401602086016126a0565b600082601f830112611f72578081fd5b8135611f80611f358261267c565b9150808252836020828501011115611f9757600080fd5b8060208401602084013760009082016020015292915050565b60006020808385031215611fc2578182fd5b825167ffffffffffffffff80821115611fd9578384fd5b818501915085601f830112611fec578384fd5b815181811115611ffa578485fd5b6120078485830201612655565b8181528481019250838501865b8381101561203d5761202b8a888451890101611f17565b85529386019390860190600101612014565b509098975050505050505050565b60006020828403121561205c578081fd5b8151801515811461086e578182fd5b60006020828403121561207c578081fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461086e578182fd5b6000602082840312156120bc578081fd5b815167ffffffffffffffff8111156120d2578182fd5b6104a784828501611f17565b6000602082840312156120ef578081fd5b815161086e816126cc565b60006020828403121561210b578081fd5b813561086e816126cc565b600060208284031215612127578081fd5b813567ffffffffffffffff81111561213d578182fd5b6104a784828501611f62565b6000806040838503121561215b578081fd5b823567ffffffffffffffff811115612171578182fd5b61217d85828601611f62565b925050602083013561218e816126cc565b809150509250929050565b6000806000604084860312156121ad578081fd5b833567ffffffffffffffff808211156121c4578283fd5b6121d087838801611f62565b945060208601359150808211156121e5578283fd5b818601915086601f8301126121f8578283fd5b813581811115612206578384fd5b8760208083028501011115612219578384fd5b6020830194508093505050509250925092565b6000806040838503121561223e578182fd5b823567ffffffffffffffff811115612171578283fd5b60008060408385031215612266578182fd5b823567ffffffffffffffff81111561227c578283fd5b61228885828601611f62565b95602094909401359450505050565b6000602082840312156122a8578081fd5b5035919050565b6000602082840312156122c0578081fd5b5051919050565b600081518084526122df8160208601602086016126a0565b601f01601f19169290920160200192915050565b9182527fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b600082516123358184602087016126a0565b9190910192915050565b7f417262697472756d000000000000000000000000000000000000000000000000815260080190565b90565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b600073ffffffffffffffffffffffffffffffffffffffff84168252604060208301526123bb60408301846122c7565b949350505050565b73ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b901515815260200190565b90815260200190565b92835273ffffffffffffffffffffffffffffffffffffffff918216602084015216604082015260600190565b60006020825261086e60208301846122c7565b6020808252602a908201527f476175676520776173206e6f7420616464656420746f2074686520476175676560408201527f436f6e74726f6c6c657200000000000000000000000000000000000000000000606082015260800190565b6020808252602e908201527f476175676520646f6573206e6f7420636f72726573706f6e6420746f2074686560408201527f2073656c65637465642074797065000000000000000000000000000000000000606082015260800190565b60208082526027908201527f476175676520776173206e6f7420616464656420746f2074686520636865636b60408201527f706f696e74657200000000000000000000000000000000000000000000000000606082015260800190565b60208082526010908201527f476175676520776173206b696c6c656400000000000000000000000000000000604082015260600190565b60208082526012908201527f496e76616c696420676175676520747970650000000000000000000000000000604082015260600190565b60208082526014908201527f476175676520776173206e6f74206b696c6c6564000000000000000000000000604082015260600190565b60208082526027908201527f476175676520616c726561647920616464656420746f2074686520636865636b60408201527f706f696e74657200000000000000000000000000000000000000000000000000606082015260800190565b60405181810167ffffffffffffffff8111828210171561267457600080fd5b604052919050565b600067ffffffffffffffff821115612692578081fd5b50601f01601f191660200190565b60005b838110156126bb5781810151838201526020016126a3565b838111156110235750506000910152565b73ffffffffffffffffffffffffffffffffffffffff81168114610f2b57600080fdfea264697066735822122064d8a54ab9b9d7899cbf9eeb8ad3687905bdf49874a310d5471e0de218ba796664736f6c63430007010033",
"linkReferences": {},
"deployedLinkReferences": {}
}