@orbs-network/twap 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +174 -0
  3. package/dist/artifacts/contracts/TWAP.sol/TWAP.json +849 -0
  4. package/dist/artifacts/contracts/periphery/Lens.sol/Lens.json +488 -0
  5. package/dist/src/configs.d.ts +20 -0
  6. package/dist/src/configs.js +64 -0
  7. package/dist/src/index.d.ts +3 -0
  8. package/dist/src/index.js +19 -0
  9. package/dist/src/lib.d.ts +130 -0
  10. package/dist/src/lib.js +194 -0
  11. package/dist/src/paraswap.d.ts +33 -0
  12. package/dist/src/paraswap.js +73 -0
  13. package/dist/typechain-hardhat/contracts/IExchange.d.ts +23 -0
  14. package/dist/typechain-hardhat/contracts/IExchange.js +5 -0
  15. package/dist/typechain-hardhat/contracts/TWAP.d.ts +204 -0
  16. package/dist/typechain-hardhat/contracts/TWAP.js +5 -0
  17. package/dist/typechain-hardhat/contracts/exchange/IParaswap.d.ts +20 -0
  18. package/dist/typechain-hardhat/contracts/exchange/IParaswap.js +5 -0
  19. package/dist/typechain-hardhat/contracts/exchange/IUniswapV2.d.ts +24 -0
  20. package/dist/typechain-hardhat/contracts/exchange/IUniswapV2.js +5 -0
  21. package/dist/typechain-hardhat/contracts/exchange/ParaswapExchange.d.ts +24 -0
  22. package/dist/typechain-hardhat/contracts/exchange/ParaswapExchange.js +5 -0
  23. package/dist/typechain-hardhat/contracts/exchange/UniswapV2Exchange.d.ts +24 -0
  24. package/dist/typechain-hardhat/contracts/exchange/UniswapV2Exchange.js +5 -0
  25. package/dist/typechain-hardhat/contracts/exchange/index.d.ts +4 -0
  26. package/dist/typechain-hardhat/contracts/exchange/index.js +2 -0
  27. package/dist/typechain-hardhat/contracts/index.d.ts +8 -0
  28. package/dist/typechain-hardhat/contracts/index.js +2 -0
  29. package/dist/typechain-hardhat/contracts/periphery/IWETH.d.ts +22 -0
  30. package/dist/typechain-hardhat/contracts/periphery/IWETH.js +5 -0
  31. package/dist/typechain-hardhat/contracts/periphery/Lens.d.ts +104 -0
  32. package/dist/typechain-hardhat/contracts/periphery/Lens.js +5 -0
  33. package/dist/typechain-hardhat/contracts/periphery/Taker.d.ts +39 -0
  34. package/dist/typechain-hardhat/contracts/periphery/Taker.js +5 -0
  35. package/dist/typechain-hardhat/contracts/periphery/index.d.ts +3 -0
  36. package/dist/typechain-hardhat/contracts/periphery/index.js +2 -0
  37. package/dist/typechain-hardhat/contracts/test/MockDeflationaryToken.d.ts +56 -0
  38. package/dist/typechain-hardhat/contracts/test/MockDeflationaryToken.js +5 -0
  39. package/dist/typechain-hardhat/contracts/test/MockExchange.d.ts +25 -0
  40. package/dist/typechain-hardhat/contracts/test/MockExchange.js +5 -0
  41. package/dist/typechain-hardhat/contracts/test/index.d.ts +2 -0
  42. package/dist/typechain-hardhat/contracts/test/index.js +2 -0
  43. package/dist/typechain-hardhat/types.d.ts +55 -0
  44. package/dist/typechain-hardhat/types.js +5 -0
  45. package/package.json +33 -0
@@ -0,0 +1,849 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "TWAP",
4
+ "sourceName": "contracts/TWAP.sol",
5
+ "abi": [
6
+ {
7
+ "anonymous": false,
8
+ "inputs": [
9
+ {
10
+ "indexed": true,
11
+ "internalType": "uint64",
12
+ "name": "id",
13
+ "type": "uint64"
14
+ },
15
+ {
16
+ "indexed": true,
17
+ "internalType": "address",
18
+ "name": "maker",
19
+ "type": "address"
20
+ },
21
+ {
22
+ "indexed": true,
23
+ "internalType": "address",
24
+ "name": "exchange",
25
+ "type": "address"
26
+ },
27
+ {
28
+ "indexed": false,
29
+ "internalType": "uint32",
30
+ "name": "slippagePercent",
31
+ "type": "uint32"
32
+ },
33
+ {
34
+ "components": [
35
+ {
36
+ "internalType": "uint32",
37
+ "name": "time",
38
+ "type": "uint32"
39
+ },
40
+ {
41
+ "internalType": "address",
42
+ "name": "taker",
43
+ "type": "address"
44
+ },
45
+ {
46
+ "internalType": "address",
47
+ "name": "exchange",
48
+ "type": "address"
49
+ },
50
+ {
51
+ "internalType": "uint256",
52
+ "name": "dstAmount",
53
+ "type": "uint256"
54
+ },
55
+ {
56
+ "internalType": "uint256",
57
+ "name": "dstFee",
58
+ "type": "uint256"
59
+ },
60
+ {
61
+ "internalType": "bytes",
62
+ "name": "data",
63
+ "type": "bytes"
64
+ }
65
+ ],
66
+ "indexed": false,
67
+ "internalType": "struct OrderLib.Bid",
68
+ "name": "bid",
69
+ "type": "tuple"
70
+ }
71
+ ],
72
+ "name": "OrderBid",
73
+ "type": "event"
74
+ },
75
+ {
76
+ "anonymous": false,
77
+ "inputs": [
78
+ {
79
+ "indexed": true,
80
+ "internalType": "uint64",
81
+ "name": "id",
82
+ "type": "uint64"
83
+ },
84
+ {
85
+ "indexed": true,
86
+ "internalType": "address",
87
+ "name": "maker",
88
+ "type": "address"
89
+ },
90
+ {
91
+ "indexed": false,
92
+ "internalType": "address",
93
+ "name": "sender",
94
+ "type": "address"
95
+ }
96
+ ],
97
+ "name": "OrderCanceled",
98
+ "type": "event"
99
+ },
100
+ {
101
+ "anonymous": false,
102
+ "inputs": [
103
+ {
104
+ "indexed": true,
105
+ "internalType": "uint64",
106
+ "name": "id",
107
+ "type": "uint64"
108
+ },
109
+ {
110
+ "indexed": true,
111
+ "internalType": "address",
112
+ "name": "maker",
113
+ "type": "address"
114
+ },
115
+ {
116
+ "indexed": true,
117
+ "internalType": "address",
118
+ "name": "exchange",
119
+ "type": "address"
120
+ },
121
+ {
122
+ "indexed": false,
123
+ "internalType": "address",
124
+ "name": "taker",
125
+ "type": "address"
126
+ }
127
+ ],
128
+ "name": "OrderCompleted",
129
+ "type": "event"
130
+ },
131
+ {
132
+ "anonymous": false,
133
+ "inputs": [
134
+ {
135
+ "indexed": true,
136
+ "internalType": "uint64",
137
+ "name": "id",
138
+ "type": "uint64"
139
+ },
140
+ {
141
+ "indexed": true,
142
+ "internalType": "address",
143
+ "name": "maker",
144
+ "type": "address"
145
+ },
146
+ {
147
+ "indexed": true,
148
+ "internalType": "address",
149
+ "name": "exchange",
150
+ "type": "address"
151
+ },
152
+ {
153
+ "components": [
154
+ {
155
+ "internalType": "uint32",
156
+ "name": "time",
157
+ "type": "uint32"
158
+ },
159
+ {
160
+ "internalType": "uint32",
161
+ "name": "deadline",
162
+ "type": "uint32"
163
+ },
164
+ {
165
+ "internalType": "uint32",
166
+ "name": "bidDelay",
167
+ "type": "uint32"
168
+ },
169
+ {
170
+ "internalType": "uint32",
171
+ "name": "fillDelay",
172
+ "type": "uint32"
173
+ },
174
+ {
175
+ "internalType": "address",
176
+ "name": "maker",
177
+ "type": "address"
178
+ },
179
+ {
180
+ "internalType": "address",
181
+ "name": "exchange",
182
+ "type": "address"
183
+ },
184
+ {
185
+ "internalType": "address",
186
+ "name": "srcToken",
187
+ "type": "address"
188
+ },
189
+ {
190
+ "internalType": "address",
191
+ "name": "dstToken",
192
+ "type": "address"
193
+ },
194
+ {
195
+ "internalType": "uint256",
196
+ "name": "srcAmount",
197
+ "type": "uint256"
198
+ },
199
+ {
200
+ "internalType": "uint256",
201
+ "name": "srcBidAmount",
202
+ "type": "uint256"
203
+ },
204
+ {
205
+ "internalType": "uint256",
206
+ "name": "dstMinAmount",
207
+ "type": "uint256"
208
+ }
209
+ ],
210
+ "indexed": false,
211
+ "internalType": "struct OrderLib.Ask",
212
+ "name": "ask",
213
+ "type": "tuple"
214
+ }
215
+ ],
216
+ "name": "OrderCreated",
217
+ "type": "event"
218
+ },
219
+ {
220
+ "anonymous": false,
221
+ "inputs": [
222
+ {
223
+ "indexed": true,
224
+ "internalType": "uint64",
225
+ "name": "id",
226
+ "type": "uint64"
227
+ },
228
+ {
229
+ "indexed": true,
230
+ "internalType": "address",
231
+ "name": "maker",
232
+ "type": "address"
233
+ },
234
+ {
235
+ "indexed": true,
236
+ "internalType": "address",
237
+ "name": "exchange",
238
+ "type": "address"
239
+ },
240
+ {
241
+ "indexed": false,
242
+ "internalType": "address",
243
+ "name": "taker",
244
+ "type": "address"
245
+ },
246
+ {
247
+ "indexed": false,
248
+ "internalType": "uint256",
249
+ "name": "srcAmountIn",
250
+ "type": "uint256"
251
+ },
252
+ {
253
+ "indexed": false,
254
+ "internalType": "uint256",
255
+ "name": "dstAmountOut",
256
+ "type": "uint256"
257
+ },
258
+ {
259
+ "indexed": false,
260
+ "internalType": "uint256",
261
+ "name": "dstFee",
262
+ "type": "uint256"
263
+ },
264
+ {
265
+ "indexed": false,
266
+ "internalType": "uint256",
267
+ "name": "srcFilledAmount",
268
+ "type": "uint256"
269
+ }
270
+ ],
271
+ "name": "OrderFilled",
272
+ "type": "event"
273
+ },
274
+ {
275
+ "inputs": [],
276
+ "name": "MIN_BID_DELAY_SECONDS",
277
+ "outputs": [
278
+ {
279
+ "internalType": "uint32",
280
+ "name": "",
281
+ "type": "uint32"
282
+ }
283
+ ],
284
+ "stateMutability": "view",
285
+ "type": "function"
286
+ },
287
+ {
288
+ "inputs": [],
289
+ "name": "MIN_OUTBID_PERCENT",
290
+ "outputs": [
291
+ {
292
+ "internalType": "uint32",
293
+ "name": "",
294
+ "type": "uint32"
295
+ }
296
+ ],
297
+ "stateMutability": "view",
298
+ "type": "function"
299
+ },
300
+ {
301
+ "inputs": [],
302
+ "name": "PERCENT_BASE",
303
+ "outputs": [
304
+ {
305
+ "internalType": "uint32",
306
+ "name": "",
307
+ "type": "uint32"
308
+ }
309
+ ],
310
+ "stateMutability": "view",
311
+ "type": "function"
312
+ },
313
+ {
314
+ "inputs": [],
315
+ "name": "STALE_BID_DELAY_MUL",
316
+ "outputs": [
317
+ {
318
+ "internalType": "uint32",
319
+ "name": "",
320
+ "type": "uint32"
321
+ }
322
+ ],
323
+ "stateMutability": "view",
324
+ "type": "function"
325
+ },
326
+ {
327
+ "inputs": [],
328
+ "name": "STATUS_CANCELED",
329
+ "outputs": [
330
+ {
331
+ "internalType": "uint32",
332
+ "name": "",
333
+ "type": "uint32"
334
+ }
335
+ ],
336
+ "stateMutability": "view",
337
+ "type": "function"
338
+ },
339
+ {
340
+ "inputs": [],
341
+ "name": "STATUS_COMPLETED",
342
+ "outputs": [
343
+ {
344
+ "internalType": "uint32",
345
+ "name": "",
346
+ "type": "uint32"
347
+ }
348
+ ],
349
+ "stateMutability": "view",
350
+ "type": "function"
351
+ },
352
+ {
353
+ "inputs": [],
354
+ "name": "VERSION",
355
+ "outputs": [
356
+ {
357
+ "internalType": "uint8",
358
+ "name": "",
359
+ "type": "uint8"
360
+ }
361
+ ],
362
+ "stateMutability": "view",
363
+ "type": "function"
364
+ },
365
+ {
366
+ "inputs": [
367
+ {
368
+ "internalType": "address",
369
+ "name": "exchange",
370
+ "type": "address"
371
+ },
372
+ {
373
+ "internalType": "address",
374
+ "name": "srcToken",
375
+ "type": "address"
376
+ },
377
+ {
378
+ "internalType": "address",
379
+ "name": "dstToken",
380
+ "type": "address"
381
+ },
382
+ {
383
+ "internalType": "uint256",
384
+ "name": "srcAmount",
385
+ "type": "uint256"
386
+ },
387
+ {
388
+ "internalType": "uint256",
389
+ "name": "srcBidAmount",
390
+ "type": "uint256"
391
+ },
392
+ {
393
+ "internalType": "uint256",
394
+ "name": "dstMinAmount",
395
+ "type": "uint256"
396
+ },
397
+ {
398
+ "internalType": "uint32",
399
+ "name": "deadline",
400
+ "type": "uint32"
401
+ },
402
+ {
403
+ "internalType": "uint32",
404
+ "name": "bidDelay",
405
+ "type": "uint32"
406
+ },
407
+ {
408
+ "internalType": "uint32",
409
+ "name": "fillDelay",
410
+ "type": "uint32"
411
+ }
412
+ ],
413
+ "name": "ask",
414
+ "outputs": [
415
+ {
416
+ "internalType": "uint64",
417
+ "name": "id",
418
+ "type": "uint64"
419
+ }
420
+ ],
421
+ "stateMutability": "nonpayable",
422
+ "type": "function"
423
+ },
424
+ {
425
+ "inputs": [
426
+ {
427
+ "internalType": "uint64",
428
+ "name": "id",
429
+ "type": "uint64"
430
+ },
431
+ {
432
+ "internalType": "address",
433
+ "name": "exchange",
434
+ "type": "address"
435
+ },
436
+ {
437
+ "internalType": "uint256",
438
+ "name": "dstFee",
439
+ "type": "uint256"
440
+ },
441
+ {
442
+ "internalType": "uint32",
443
+ "name": "slippagePercent",
444
+ "type": "uint32"
445
+ },
446
+ {
447
+ "internalType": "bytes",
448
+ "name": "data",
449
+ "type": "bytes"
450
+ }
451
+ ],
452
+ "name": "bid",
453
+ "outputs": [],
454
+ "stateMutability": "nonpayable",
455
+ "type": "function"
456
+ },
457
+ {
458
+ "inputs": [
459
+ {
460
+ "internalType": "uint256",
461
+ "name": "",
462
+ "type": "uint256"
463
+ }
464
+ ],
465
+ "name": "book",
466
+ "outputs": [
467
+ {
468
+ "internalType": "uint64",
469
+ "name": "id",
470
+ "type": "uint64"
471
+ },
472
+ {
473
+ "internalType": "uint32",
474
+ "name": "status",
475
+ "type": "uint32"
476
+ },
477
+ {
478
+ "internalType": "uint32",
479
+ "name": "filledTime",
480
+ "type": "uint32"
481
+ },
482
+ {
483
+ "internalType": "uint256",
484
+ "name": "srcFilledAmount",
485
+ "type": "uint256"
486
+ },
487
+ {
488
+ "components": [
489
+ {
490
+ "internalType": "uint32",
491
+ "name": "time",
492
+ "type": "uint32"
493
+ },
494
+ {
495
+ "internalType": "uint32",
496
+ "name": "deadline",
497
+ "type": "uint32"
498
+ },
499
+ {
500
+ "internalType": "uint32",
501
+ "name": "bidDelay",
502
+ "type": "uint32"
503
+ },
504
+ {
505
+ "internalType": "uint32",
506
+ "name": "fillDelay",
507
+ "type": "uint32"
508
+ },
509
+ {
510
+ "internalType": "address",
511
+ "name": "maker",
512
+ "type": "address"
513
+ },
514
+ {
515
+ "internalType": "address",
516
+ "name": "exchange",
517
+ "type": "address"
518
+ },
519
+ {
520
+ "internalType": "address",
521
+ "name": "srcToken",
522
+ "type": "address"
523
+ },
524
+ {
525
+ "internalType": "address",
526
+ "name": "dstToken",
527
+ "type": "address"
528
+ },
529
+ {
530
+ "internalType": "uint256",
531
+ "name": "srcAmount",
532
+ "type": "uint256"
533
+ },
534
+ {
535
+ "internalType": "uint256",
536
+ "name": "srcBidAmount",
537
+ "type": "uint256"
538
+ },
539
+ {
540
+ "internalType": "uint256",
541
+ "name": "dstMinAmount",
542
+ "type": "uint256"
543
+ }
544
+ ],
545
+ "internalType": "struct OrderLib.Ask",
546
+ "name": "ask",
547
+ "type": "tuple"
548
+ },
549
+ {
550
+ "components": [
551
+ {
552
+ "internalType": "uint32",
553
+ "name": "time",
554
+ "type": "uint32"
555
+ },
556
+ {
557
+ "internalType": "address",
558
+ "name": "taker",
559
+ "type": "address"
560
+ },
561
+ {
562
+ "internalType": "address",
563
+ "name": "exchange",
564
+ "type": "address"
565
+ },
566
+ {
567
+ "internalType": "uint256",
568
+ "name": "dstAmount",
569
+ "type": "uint256"
570
+ },
571
+ {
572
+ "internalType": "uint256",
573
+ "name": "dstFee",
574
+ "type": "uint256"
575
+ },
576
+ {
577
+ "internalType": "bytes",
578
+ "name": "data",
579
+ "type": "bytes"
580
+ }
581
+ ],
582
+ "internalType": "struct OrderLib.Bid",
583
+ "name": "bid",
584
+ "type": "tuple"
585
+ }
586
+ ],
587
+ "stateMutability": "view",
588
+ "type": "function"
589
+ },
590
+ {
591
+ "inputs": [
592
+ {
593
+ "internalType": "uint64",
594
+ "name": "id",
595
+ "type": "uint64"
596
+ }
597
+ ],
598
+ "name": "cancel",
599
+ "outputs": [],
600
+ "stateMutability": "nonpayable",
601
+ "type": "function"
602
+ },
603
+ {
604
+ "inputs": [
605
+ {
606
+ "internalType": "uint64",
607
+ "name": "id",
608
+ "type": "uint64"
609
+ }
610
+ ],
611
+ "name": "fill",
612
+ "outputs": [],
613
+ "stateMutability": "nonpayable",
614
+ "type": "function"
615
+ },
616
+ {
617
+ "inputs": [],
618
+ "name": "length",
619
+ "outputs": [
620
+ {
621
+ "internalType": "uint64",
622
+ "name": "",
623
+ "type": "uint64"
624
+ }
625
+ ],
626
+ "stateMutability": "view",
627
+ "type": "function"
628
+ },
629
+ {
630
+ "inputs": [
631
+ {
632
+ "internalType": "address",
633
+ "name": "",
634
+ "type": "address"
635
+ },
636
+ {
637
+ "internalType": "uint256",
638
+ "name": "",
639
+ "type": "uint256"
640
+ }
641
+ ],
642
+ "name": "makerOrders",
643
+ "outputs": [
644
+ {
645
+ "internalType": "uint64",
646
+ "name": "",
647
+ "type": "uint64"
648
+ }
649
+ ],
650
+ "stateMutability": "view",
651
+ "type": "function"
652
+ },
653
+ {
654
+ "inputs": [
655
+ {
656
+ "internalType": "uint64",
657
+ "name": "id",
658
+ "type": "uint64"
659
+ }
660
+ ],
661
+ "name": "order",
662
+ "outputs": [
663
+ {
664
+ "components": [
665
+ {
666
+ "internalType": "uint64",
667
+ "name": "id",
668
+ "type": "uint64"
669
+ },
670
+ {
671
+ "internalType": "uint32",
672
+ "name": "status",
673
+ "type": "uint32"
674
+ },
675
+ {
676
+ "internalType": "uint32",
677
+ "name": "filledTime",
678
+ "type": "uint32"
679
+ },
680
+ {
681
+ "internalType": "uint256",
682
+ "name": "srcFilledAmount",
683
+ "type": "uint256"
684
+ },
685
+ {
686
+ "components": [
687
+ {
688
+ "internalType": "uint32",
689
+ "name": "time",
690
+ "type": "uint32"
691
+ },
692
+ {
693
+ "internalType": "uint32",
694
+ "name": "deadline",
695
+ "type": "uint32"
696
+ },
697
+ {
698
+ "internalType": "uint32",
699
+ "name": "bidDelay",
700
+ "type": "uint32"
701
+ },
702
+ {
703
+ "internalType": "uint32",
704
+ "name": "fillDelay",
705
+ "type": "uint32"
706
+ },
707
+ {
708
+ "internalType": "address",
709
+ "name": "maker",
710
+ "type": "address"
711
+ },
712
+ {
713
+ "internalType": "address",
714
+ "name": "exchange",
715
+ "type": "address"
716
+ },
717
+ {
718
+ "internalType": "address",
719
+ "name": "srcToken",
720
+ "type": "address"
721
+ },
722
+ {
723
+ "internalType": "address",
724
+ "name": "dstToken",
725
+ "type": "address"
726
+ },
727
+ {
728
+ "internalType": "uint256",
729
+ "name": "srcAmount",
730
+ "type": "uint256"
731
+ },
732
+ {
733
+ "internalType": "uint256",
734
+ "name": "srcBidAmount",
735
+ "type": "uint256"
736
+ },
737
+ {
738
+ "internalType": "uint256",
739
+ "name": "dstMinAmount",
740
+ "type": "uint256"
741
+ }
742
+ ],
743
+ "internalType": "struct OrderLib.Ask",
744
+ "name": "ask",
745
+ "type": "tuple"
746
+ },
747
+ {
748
+ "components": [
749
+ {
750
+ "internalType": "uint32",
751
+ "name": "time",
752
+ "type": "uint32"
753
+ },
754
+ {
755
+ "internalType": "address",
756
+ "name": "taker",
757
+ "type": "address"
758
+ },
759
+ {
760
+ "internalType": "address",
761
+ "name": "exchange",
762
+ "type": "address"
763
+ },
764
+ {
765
+ "internalType": "uint256",
766
+ "name": "dstAmount",
767
+ "type": "uint256"
768
+ },
769
+ {
770
+ "internalType": "uint256",
771
+ "name": "dstFee",
772
+ "type": "uint256"
773
+ },
774
+ {
775
+ "internalType": "bytes",
776
+ "name": "data",
777
+ "type": "bytes"
778
+ }
779
+ ],
780
+ "internalType": "struct OrderLib.Bid",
781
+ "name": "bid",
782
+ "type": "tuple"
783
+ }
784
+ ],
785
+ "internalType": "struct OrderLib.Order",
786
+ "name": "",
787
+ "type": "tuple"
788
+ }
789
+ ],
790
+ "stateMutability": "view",
791
+ "type": "function"
792
+ },
793
+ {
794
+ "inputs": [
795
+ {
796
+ "internalType": "address",
797
+ "name": "maker",
798
+ "type": "address"
799
+ }
800
+ ],
801
+ "name": "orderIdsByMaker",
802
+ "outputs": [
803
+ {
804
+ "internalType": "uint64[]",
805
+ "name": "",
806
+ "type": "uint64[]"
807
+ }
808
+ ],
809
+ "stateMutability": "view",
810
+ "type": "function"
811
+ },
812
+ {
813
+ "inputs": [
814
+ {
815
+ "internalType": "uint64",
816
+ "name": "id",
817
+ "type": "uint64"
818
+ }
819
+ ],
820
+ "name": "prune",
821
+ "outputs": [],
822
+ "stateMutability": "nonpayable",
823
+ "type": "function"
824
+ },
825
+ {
826
+ "inputs": [
827
+ {
828
+ "internalType": "uint256",
829
+ "name": "",
830
+ "type": "uint256"
831
+ }
832
+ ],
833
+ "name": "status",
834
+ "outputs": [
835
+ {
836
+ "internalType": "uint32",
837
+ "name": "",
838
+ "type": "uint32"
839
+ }
840
+ ],
841
+ "stateMutability": "view",
842
+ "type": "function"
843
+ }
844
+ ],
845
+ "bytecode": "0x608060405234801561001057600080fd5b50600160005561319b806100256000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c806356f65bee116100a257806385e471d51161007157806385e471d514610225578063a0b94e0b14610238578063a3d890b614610258578063f58e65b814610262578063ffa1ad741461027557600080fd5b806356f65bee146101f85780636352c26214610200578063724f27ee14610213578063805d835d1461021b57600080fd5b80633ab22f01116100e95780633ab22f01146101a257806342d21ef7146101b5578063454b1580146101c85780634c125e79146101d057806352e8b288146101e557600080fd5b80630392c34a1461011b5780631116fd0414610144578063112017a7146101695780631f7b6d3214610186575b600080fd5b61012e610129366004612955565b61028f565b60405161013b9190612970565b60405180910390f35b6101576101523660046129bd565b61032d565b60405161013b96959493929190612b61565b610171600a81565b60405163ffffffff909116815260200161013b565b6001545b6040516001600160401b03909116815260200161013b565b61018a6101b0366004612bad565b610508565b6101716101c33660046129bd565b610554565b610171600581565b6101e36101de366004612bee565b61058e565b005b6101e36101f3366004612bee565b6108b2565b610171600181565b61018a61020e366004612c1d565b610c1e565b610171600281565b610171620186a081565b6101e3610233366004612bee565b611203565b61024b610246366004612bee565b6113df565b60405161013b9190612cb0565b61017162018a8881565b6101e3610270366004612d1d565b61163c565b61027d600181565b60405160ff909116815260200161013b565b6001600160a01b03811660009081526003602090815260409182902080548351818402810184019094528084526060939283018282801561032157602002820191906000526020600020906000905b82829054906101000a90046001600160401b03166001600160401b0316815260200190600801906020826007010492830192600103820291508084116102de5790505b50505050509050919050565b6001818154811061033d57600080fd5b6000918252602091829020600f90910201805460018201546040805161016081018252600285015463ffffffff81811683526401000000008083048216848a0152600160401b808404831685870152600160601b93849004831660608087019190915260038a01546001600160a01b0390811660808089019190915260048c0154821660a0808a019190915260058d0154831660c0808b019190915260068e0154841660e08b015260078e01546101008b015260088e01546101208b015260098e01546101408b01528a519081018b52600a8e018054808a1683529790970484169e81019e909e52600b8d0154909216988d0198909852600c8b0154918c0191909152600d8a0154968b0196909652600e890180546001600160401b038a169c5091890484169a949098049092169795969395949293909284019161048190612dc9565b80601f01602080910402602001604051908101604052809291908181526020018280546104ad90612dc9565b80156104fa5780601f106104cf576101008083540402835291602001916104fa565b820191906000526020600020905b8154815290600101906020018083116104dd57829003601f168201915b505050505081525050905086565b6003602052816000526040600020818154811061052457600080fd5b9060005260206000209060049182820401919006600802915091509054906101000a90046001600160401b031681565b6002818154811061056457600080fd5b9060005260206000209060089182820401919006600402915054906101000a900463ffffffff1681565b61059661196a565b60006105a1826113df565b90508060800151608001516001600160a01b0316336001600160a01b0316146105f95760405162461bcd60e51b815260206004820152600560248201526436b0b5b2b960d91b60448201526064015b60405180910390fd5b60016002836001600160401b03168154811061061757610617612e03565b90600052602060002090600891828204019190066004026101000a81548163ffffffff021916908363ffffffff1602179055506001816020019063ffffffff16908163ffffffff1681525050806001836001600160401b03168154811061068057610680612e03565b60009182526020918290208351600f92909202018054848401516040808701516001600160401b039095166001600160601b031990931692909217600160401b63ffffffff92831681029190911763ffffffff60601b19908116600160601b968416870217855560608089015160018701556080808a01518051600289018054838d0151848b015185880151948b1667ffffffffffffffff1990931692909217640100000000918b1682021767ffffffffffffffff60401b1916918a169098029096169590951790871690990298909817909255868201516003870180546001600160a01b03199081166001600160a01b039384161790915560a0808a015160048a018054841691851691909117905560c08a015160058a018054841691851691909117905560e08a015160068a01805484169185169190911790556101008a015160078a01556101208a015160088a0155610140909901516009890155888b01518051600a8a0180549c830151919098166001600160c01b0319909c169b909b179a831690950299909917855594830151600b8701805490991695169490941790965591820151600c84015593810151600d83015591820151909290600e84019061084c9082612e75565b505050608080840151015183516040513381526001600160a01b0390921693506001600160401b031691507f84433a3c591ac98de0b89e7fc7a3d5d6705a3cbec760e7d529439c65d6feb3099060200160405180910390a3506108af6001600055565b50565b6108ba61196a565b60006108c5826113df565b90506000806000806108d6856119c3565b929650909450925090506108ea8584611d25565b60808581015181015160608088015160408051338152602081018990528082018890529283018690529382015291516001600160a01b03878116939216916001600160401b038a16917fc7529bc0224b03ba593d84e2064baeac956a4221ca93d37af0f1810ad17df7a99181900360a00190a461096685611d7d565b600003610a2057600280876001600160401b03168154811061098a5761098a612e03565b60009182526020918290206008820401805460079092166004026101000a63ffffffff81810219909316949092169190910292909217909155600286820152608080870151015186516040513381526001600160a01b03888116949316926001600160401b03909216917fd08d3326dcd14f1021feb19d05834c4f6d0b7ff1fecac35981f24fd5f73873c5910160405180910390a45b846001876001600160401b031681548110610a3d57610a3d612e03565b60009182526020918290208351600f92909202018054848401516040808701516001600160401b039095166001600160601b031990931692909217600160401b63ffffffff92831681029190911763ffffffff60601b19908116600160601b968416870217855560608089015160018701556080808a01518051600289018054838d0151848b015185880151948b1667ffffffffffffffff1990931692909217640100000000918b1682021767ffffffffffffffff60401b1916918a169098029096169590951790871690990298909817909255868201516003870180546001600160a01b03199081166001600160a01b039384161790915560a0808a015160048a018054841691851691909117905560c08a015160058a018054841691851691909117905560e08a015160068a01805484169185169190911790556101008a015160078a01556101208a015160088a0155610140909901516009890155888b01518051600a8a0180549c830151919098166001600160c01b0319909c169b909b179a831690950299909917855594830151600b8701805490991695169490941790965591820151600c84015593810151600d83015591820151909290600e840190610c099082612e75565b50505090505050505050506108af6001600055565b6000610c2861196a565b6001600160a01b03891615801590610c4857506001600160a01b03881615155b8015610c665750876001600160a01b0316896001600160a01b031614155b8015610c725750600087115b8015610c7e5750600086115b8015610c8a5750868611155b8015610c965750600085115b8015610ca75750428463ffffffff16115b8015610cba5750600a63ffffffff841610155b610cef5760405162461bcd60e51b8152602060048201526006602482015265706172616d7360d01b60448201526064016105f0565b6000610d0b610cfd60015490565b8686868f8f8f8f8f8f611db0565b9050610d1681611f9f565b60018054808201825560009190915281517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6600f90920291820180546020808601516040808801516001600160401b039096166001600160601b031990941693909317600160401b63ffffffff92831681029190911763ffffffff60601b19908116600160601b97841688021786556060808a01517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf78a01556080808b015180517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf88c018054838a0151848c015185880151948b1667ffffffffffffffff1990931692909217640100000000918b1682021767ffffffffffffffff60401b1916918a1690980290961695909517908716909a0299909917909255878201517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf98a0180546001600160a01b03199081166001600160a01b039384161790915560a0808b01517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cfa8d018054841691851691909117905560c08b01517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cfb8d018054841691851691909117905560e08b01517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cfc8d01805484169185169190911790556101008b01517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cfd8d01556101208b01517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cfe8d0155610140909a01517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cff8c0155898c015180517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0d008d01805499830151919098166001600160c01b031990991698909817978316909502969096178555958301517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0d018a018054909616961695909517909355928301517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0d02870155908201517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0d03860155928101518594929391927fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0d0401906110be9082612e75565b505050505060028590806001815401808255809150506001900390600052602060002090600891828204019190066004029091909190916101000a81548163ffffffff021916908363ffffffff16021790555060036000336001600160a01b03166001600160a01b03168152602001908152602001600020816000015190806001815401808255809150506001900390600052602060002090600491828204019190066008029091909190916101000a8154816001600160401b0302191690836001600160401b031602179055508a6001600160a01b0316336001600160a01b031682600001516001600160401b03167f831701c9313a778469897164a19ddd1867959a91eada7cc21adf0936761c837084608001516040516111e19190612f34565b60405180910390a45190506111f66001600055565b9998505050505050505050565b61120b61196a565b6000611216826113df565b9050806020015163ffffffff1642106112415760405162461bcd60e51b81526004016105f090612f43565b80608001516060015181604001516112599190612f79565b63ffffffff16421161129a5760405162461bcd60e51b815260206004820152600a60248201526966696c6c2064656c617960b01b60448201526064016105f0565b6112a381611d7d565b60808281015160c0810151910151604051636eb1769f60e11b81526001600160a01b03918216600482015230602482015291169063dd62ed3e90604401602060405180830381865afa1580156112fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113219190612f9d565b10806113ab575061133181611d7d565b60808281015160c08101519101516040516370a0823160e01b81526001600160a01b0391821660048201529116906370a0823190602401602060405180830381865afa158015611385573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113a99190612f9d565b105b6105f95760405162461bcd60e51b81526020600482015260056024820152641d985b1a5960da1b60448201526064016105f0565b6113e761285d565b6001546001600160401b0316826001600160401b0316106114375760405162461bcd60e51b815260206004820152600a6024820152691a5b9d985b1a59081a5960b21b60448201526064016105f0565b6001826001600160401b03168154811061145357611453612e03565b60009182526020918290206040805160c08082018352600f90940290920180546001600160401b038116845263ffffffff600160401b808304821686890152600160601b928390048216868601526001840154606080880191909152855161016081018752600286015480851682526401000000008082048616838d01529381048516828901529490940483168482015260038501546001600160a01b039081166080868101919091526004870154821660a08088019190915260058801548316878c01526006880154831660e0880152600788015461010088015260088801546101208801526009880154610140880152818a01969096528751998a018852600a870180549586168b5293909404811699890199909952600b85015490981694870194909452600c83015496860196909652600d82015495850195909552600e810180549395919482870194909392840191906115b090612dc9565b80601f01602080910402602001604051908101604052809291908181526020018280546115dc90612dc9565b80156116295780601f106115fe57610100808354040283529160200191611629565b820191906000526020600020905b81548152906001019060200180831161160c57829003601f168201915b5050509190925250505090525092915050565b61164461196a565b6001600160a01b038516158015906116645750620186a063ffffffff8416105b6116995760405162461bcd60e51b8152602060048201526006602482015265706172616d7360d01b60448201526064016105f0565b60006116a4876113df565b905060006116b6828888888888612125565b905061170087828887878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525089969594939250506123c49050565b816001896001600160401b03168154811061171d5761171d612e03565b60009182526020918290208351600f92909202018054848401516040808701516001600160401b039095166001600160601b031990931692909217600160401b63ffffffff92831681029190911763ffffffff60601b19908116600160601b968416870217855560608089015160018701556080808a01518051600289018054838d0151848b015185880151948b1667ffffffffffffffff1990931692909217640100000000918b1682021767ffffffffffffffff60401b1916918a169098029096169590951790871690990298909817909255868201516003870180546001600160a01b03199081166001600160a01b039384161790915560a0808a015160048a018054841691851691909117905560c08a015160058a018054841691851691909117905560e08a015160068a01805484169185169190911790556101008a015160078a01556101208a015160088a0155610140909901516009890155888b01518051600a8a0180549c830151919098166001600160c01b0319909c169b909b179a831690950299909917855594830151600b8701805490991695169490941790965591820151600c84015593810151600d83015591820151909290600e8401906118e99082612e75565b505050905050866001600160a01b03168260800151608001516001600160a01b031683600001516001600160401b03167fc6c7dd24446d66051e106d8289c1e1e3657b16ae283f4824b89417b1ec39664f888660a0015160405161194e929190612fb6565b60405180910390a450506119626001600055565b505050505050565b6002600054036119bc5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016105f0565b6002600055565b6000806000808460a00151602001516001600160a01b0316336001600160a01b031614611a1a5760405162461bcd60e51b81526020600482015260056024820152643a30b5b2b960d91b60448201526064016105f0565b846020015163ffffffff164210611a435760405162461bcd60e51b81526004016105f090612f43565b60808501516040015160a086015151611a5c9190612f79565b63ffffffff164211611a9c5760405162461bcd60e51b81526020600482015260096024820152686269642064656c617960b81b60448201526064016105f0565b5060a08401516040810151608090910151909350611ab985611d7d565b92506000611ac68661242d565b6080808801519081015160c090910151919250611aee916001600160a01b0316903087612449565b608086015160c001516040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015611b3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b609190612f9d565b608087015160c00151909450611b80906001600160a01b031686866124ba565b608086015160c081015160e0909101516001600160a01b03871691632506c0189187611bac8787612fd5565b8b60a0015160a001516040518663ffffffff1660e01b8152600401611bd5959493929190612fe8565b600060405180830381600087803b158015611bef57600080fd5b505af1158015611c03573d6000803e3d6000fd5b505050608087015160e001516040516370a0823160e01b81523060048201526001600160a01b0390911691506370a0823190602401602060405180830381865afa158015611c55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c799190612f9d565b9250611c858284613022565b925080831015611cc15760405162461bcd60e51b81526020600482015260076024820152661b5a5b881bdd5d60ca1b60448201526064016105f0565b611cef8660a001516020015183886080015160e001516001600160a01b031661256c9092919063ffffffff16565b611d1d86608001516080015184886080015160e001516001600160a01b031661256c9092919063ffffffff16565b509193509193565b63ffffffff4210611d485760405162461bcd60e51b81526004016105f090613035565b8160a001611d546128eb565b905263ffffffff42166040830152606082018051829190611d76908390612fd5565b9052505050565b6000611daa82608001516101200151836060015184608001516101000151611da59190613022565b6125a1565b92915050565b611db861285d565b63ffffffff4210611ddb5760405162461bcd60e51b81526004016105f090613035565b63ffffffff8a8116108015611df5575063ffffffff898116105b8015611e06575063ffffffff888116105b611e3b5760405162461bcd60e51b81526020600482015260066024820152653ab4b73a199960d11b60448201526064016105f0565b6040518060c001604052808c6001600160401b031681526020018b63ffffffff168152602001600063ffffffff168152602001600081526020016040518061016001604052804263ffffffff1681526020018d63ffffffff1681526020018c63ffffffff1681526020018b63ffffffff168152602001336001600160a01b031681526020018a6001600160a01b03168152602001896001600160a01b03168152602001886001600160a01b031681526020018781526020018681526020018581525081526020016040518060c00160405280600063ffffffff16815260200160006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160006001600160401b03811115611f6157611f61612e19565b6040519080825280601f01601f191660200182016040528015611f8b576020820181803683370190505b50905290529b9a5050505050505050505050565b611fa881611d7d565b60808281015160c0810151910151604051636eb1769f60e11b81526001600160a01b03918216600482015230602482015291169063dd62ed3e90604401602060405180830381865afa158015612002573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120269190612f9d565b10156120665760405162461bcd60e51b815260206004820152600f60248201526e6d616b657220616c6c6f77616e636560881b60448201526064016105f0565b61206f81611d7d565b60808281015160c08101519101516040516370a0823160e01b81526001600160a01b0391821660048201529116906370a0823190602401602060405180830381865afa1580156120c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120e79190612f9d565b10156108af5760405162461bcd60e51b815260206004820152600d60248201526c6d616b65722062616c616e636560981b60448201526064016105f0565b6000866020015163ffffffff1642106121505760405162461bcd60e51b81526004016105f090612f43565b86608001516060015187604001516121689190612f79565b63ffffffff1642116121a95760405162461bcd60e51b815260206004820152600a60248201526966696c6c2064656c617960b01b60448201526064016105f0565b608087015160a001516001600160a01b031615806121e05750856001600160a01b0316876080015160a001516001600160a01b0316145b6122175760405162461bcd60e51b815260206004820152600860248201526765786368616e676560c01b60448201526064016105f0565b856001600160a01b031663650967b5886080015160c00151896080015160e001516122418b611d7d565b87876040518663ffffffff1660e01b8152600401612263959493929190613053565b602060405180830381865afa158015612280573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122a49190612f9d565b9050620186a06122ba63ffffffff8616836130a7565b6122c491906130c6565b6122ce9082613022565b90506122da8582613022565b60a088015160600151909150620186a0906122f99062018a88906130a7565b61230391906130c6565b8111806123395750600587608001516040015161232091906130e8565b60a0880151516123309190612f79565b63ffffffff1642115b61236f5760405162461bcd60e51b81526020600482015260076024820152661b1bddc8189a5960ca1b60448201526064016105f0565b612378876125b9565b8110156123b15760405162461bcd60e51b81526020600482015260076024820152661b5a5b881bdd5d60ca1b60448201526064016105f0565b6123ba87611f9f565b9695505050505050565b63ffffffff42106123e75760405162461bcd60e51b81526004016105f090613035565b6040805160c08101825263ffffffff421681523360208201526001600160a01b0395909516908501526060840192909252608083015260a0808301919091529190910152565b6000611daa8260a0015160600151612444846125b9565b6125ec565b6040516001600160a01b03808516602483015283166044820152606481018290526124b49085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526125fb565b50505050565b604051636eb1769f60e11b81523060048201526001600160a01b038381166024830152600091839186169063dd62ed3e90604401602060405180830381865afa15801561250b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061252f9190612f9d565b6125399190612fd5565b6040516001600160a01b0385166024820152604481018290529091506124b490859063095ea7b360e01b9060640161247d565b6040516001600160a01b03831660248201526044810182905261259c90849063a9059cbb60e01b9060640161247d565b505050565b60008183106125b057816125b2565b825b9392505050565b6000816080015161012001516125ce83611d7d565b836080015161014001516125e291906130a7565b611daa91906130c6565b60008183116125b057816125b2565b6000612650826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166126cd9092919063ffffffff16565b80519091501561259c578080602001905181019061266e9190613114565b61259c5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016105f0565b60606126dc84846000856126e4565b949350505050565b6060824710156127455760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016105f0565b600080866001600160a01b031685876040516127619190613136565b60006040518083038185875af1925050503d806000811461279e576040519150601f19603f3d011682016040523d82523d6000602084013e6127a3565b606091505b50915091506127b4878383876127bf565b979650505050505050565b6060831561282e578251600003612827576001600160a01b0385163b6128275760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016105f0565b50816126dc565b6126dc83838151156128435781518083602001fd5b8060405162461bcd60e51b81526004016105f09190613152565b6040805160c08082018352600080835260208084018290528385018290526060808501839052855161016081018752838152918201839052948101829052938401819052608084810182905260a0850182905291840181905260e084018190526101008401819052610120840181905261014084015290919082019081526020016128e66128eb565b905290565b6040518060c00160405280600063ffffffff16815260200160006001600160a01b0316815260200160006001600160a01b031681526020016000815260200160008152602001606081525090565b80356001600160a01b038116811461295057600080fd5b919050565b60006020828403121561296757600080fd5b6125b282612939565b6020808252825182820181905260009190848201906040850190845b818110156129b15783516001600160401b03168352928401929184019160010161298c565b50909695505050505050565b6000602082840312156129cf57600080fd5b5035919050565b805163ffffffff16825260208101516129f7602084018263ffffffff169052565b506040810151612a0f604084018263ffffffff169052565b506060810151612a27606084018263ffffffff169052565b506080810151612a4260808401826001600160a01b03169052565b5060a0810151612a5d60a08401826001600160a01b03169052565b5060c0810151612a7860c08401826001600160a01b03169052565b5060e0810151612a9360e08401826001600160a01b03169052565b506101008181015190830152610120808201519083015261014090810151910152565b60005b83811015612ad1578181015183820152602001612ab9565b50506000910152565b60008151808452612af2816020860160208601612ab6565b601f01601f19169290920160200192915050565b63ffffffff81511682526000602082015160018060a01b0380821660208601528060408501511660408601525050606082015160608401526080820151608084015260a082015160c060a08501526126dc60c0850182612ada565b6001600160401b038716815263ffffffff868116602083015285166040820152606081018490526000610200612b9a60808401866129d6565b806101e08401526111f681840185612b06565b60008060408385031215612bc057600080fd5b612bc983612939565b946020939093013593505050565b80356001600160401b038116811461295057600080fd5b600060208284031215612c0057600080fd5b6125b282612bd7565b803563ffffffff8116811461295057600080fd5b60008060008060008060008060006101208a8c031215612c3c57600080fd5b612c458a612939565b9850612c5360208b01612939565b9750612c6160408b01612939565b965060608a0135955060808a0135945060a08a01359350612c8460c08b01612c09565b9250612c9260e08b01612c09565b9150612ca16101008b01612c09565b90509295985092959850929598565b602081526001600160401b0382511660208201526000602083015163ffffffff80821660408501528060408601511660608501525050606083015160808301526080830151612d0260a08401826129d6565b5060a0830151610200838101526126dc610220840182612b06565b60008060008060008060a08789031215612d3657600080fd5b612d3f87612bd7565b9550612d4d60208801612939565b945060408701359350612d6260608801612c09565b925060808701356001600160401b0380821115612d7e57600080fd5b818901915089601f830112612d9257600080fd5b813581811115612da157600080fd5b8a6020828501011115612db357600080fd5b6020830194508093505050509295509295509295565b600181811c90821680612ddd57607f821691505b602082108103612dfd57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b601f82111561259c57600081815260208120601f850160051c81016020861015612e565750805b601f850160051c820191505b8181101561196257828155600101612e62565b81516001600160401b03811115612e8e57612e8e612e19565b612ea281612e9c8454612dc9565b84612e2f565b602080601f831160018114612ed75760008415612ebf5750858301515b600019600386901b1c1916600185901b178555611962565b600085815260208120601f198616915b82811015612f0657888601518255948401946001909101908401612ee7565b5085821015612f245787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6101608101611daa82846129d6565b60208082526006908201526573746174757360d01b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b63ffffffff818116838216019080821115612f9657612f96612f63565b5092915050565b600060208284031215612faf57600080fd5b5051919050565b63ffffffff831681526040602082015260006126dc6040830184612b06565b80820180821115611daa57611daa612f63565b6001600160a01b03868116825285166020820152604081018490526060810183905260a0608082018190526000906127b490830184612ada565b81810381811115611daa57611daa612f63565b60208082526004908201526374696d6560e01b604082015260600190565b6001600160a01b038681168252851660208201526040810184905260806060820181905281018290526000828460a0840137600060a0848401015260a0601f19601f85011683010190509695505050505050565b60008160001904831182151516156130c1576130c1612f63565b500290565b6000826130e357634e487b7160e01b600052601260045260246000fd5b500490565b600063ffffffff8083168185168183048111821515161561310b5761310b612f63565b02949350505050565b60006020828403121561312657600080fd5b815180151581146125b257600080fd5b60008251613148818460208701612ab6565b9190910192915050565b6020815260006125b26020830184612ada56fea26469706673582212205b239beb7bcd1f937eb012c7b1180d90d16c9544f64ff8d870395736e229431864736f6c63430008100033",
846
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101165760003560e01c806356f65bee116100a257806385e471d51161007157806385e471d514610225578063a0b94e0b14610238578063a3d890b614610258578063f58e65b814610262578063ffa1ad741461027557600080fd5b806356f65bee146101f85780636352c26214610200578063724f27ee14610213578063805d835d1461021b57600080fd5b80633ab22f01116100e95780633ab22f01146101a257806342d21ef7146101b5578063454b1580146101c85780634c125e79146101d057806352e8b288146101e557600080fd5b80630392c34a1461011b5780631116fd0414610144578063112017a7146101695780631f7b6d3214610186575b600080fd5b61012e610129366004612955565b61028f565b60405161013b9190612970565b60405180910390f35b6101576101523660046129bd565b61032d565b60405161013b96959493929190612b61565b610171600a81565b60405163ffffffff909116815260200161013b565b6001545b6040516001600160401b03909116815260200161013b565b61018a6101b0366004612bad565b610508565b6101716101c33660046129bd565b610554565b610171600581565b6101e36101de366004612bee565b61058e565b005b6101e36101f3366004612bee565b6108b2565b610171600181565b61018a61020e366004612c1d565b610c1e565b610171600281565b610171620186a081565b6101e3610233366004612bee565b611203565b61024b610246366004612bee565b6113df565b60405161013b9190612cb0565b61017162018a8881565b6101e3610270366004612d1d565b61163c565b61027d600181565b60405160ff909116815260200161013b565b6001600160a01b03811660009081526003602090815260409182902080548351818402810184019094528084526060939283018282801561032157602002820191906000526020600020906000905b82829054906101000a90046001600160401b03166001600160401b0316815260200190600801906020826007010492830192600103820291508084116102de5790505b50505050509050919050565b6001818154811061033d57600080fd5b6000918252602091829020600f90910201805460018201546040805161016081018252600285015463ffffffff81811683526401000000008083048216848a0152600160401b808404831685870152600160601b93849004831660608087019190915260038a01546001600160a01b0390811660808089019190915260048c0154821660a0808a019190915260058d0154831660c0808b019190915260068e0154841660e08b015260078e01546101008b015260088e01546101208b015260098e01546101408b01528a519081018b52600a8e018054808a1683529790970484169e81019e909e52600b8d0154909216988d0198909852600c8b0154918c0191909152600d8a0154968b0196909652600e890180546001600160401b038a169c5091890484169a949098049092169795969395949293909284019161048190612dc9565b80601f01602080910402602001604051908101604052809291908181526020018280546104ad90612dc9565b80156104fa5780601f106104cf576101008083540402835291602001916104fa565b820191906000526020600020905b8154815290600101906020018083116104dd57829003601f168201915b505050505081525050905086565b6003602052816000526040600020818154811061052457600080fd5b9060005260206000209060049182820401919006600802915091509054906101000a90046001600160401b031681565b6002818154811061056457600080fd5b9060005260206000209060089182820401919006600402915054906101000a900463ffffffff1681565b61059661196a565b60006105a1826113df565b90508060800151608001516001600160a01b0316336001600160a01b0316146105f95760405162461bcd60e51b815260206004820152600560248201526436b0b5b2b960d91b60448201526064015b60405180910390fd5b60016002836001600160401b03168154811061061757610617612e03565b90600052602060002090600891828204019190066004026101000a81548163ffffffff021916908363ffffffff1602179055506001816020019063ffffffff16908163ffffffff1681525050806001836001600160401b03168154811061068057610680612e03565b60009182526020918290208351600f92909202018054848401516040808701516001600160401b039095166001600160601b031990931692909217600160401b63ffffffff92831681029190911763ffffffff60601b19908116600160601b968416870217855560608089015160018701556080808a01518051600289018054838d0151848b015185880151948b1667ffffffffffffffff1990931692909217640100000000918b1682021767ffffffffffffffff60401b1916918a169098029096169590951790871690990298909817909255868201516003870180546001600160a01b03199081166001600160a01b039384161790915560a0808a015160048a018054841691851691909117905560c08a015160058a018054841691851691909117905560e08a015160068a01805484169185169190911790556101008a015160078a01556101208a015160088a0155610140909901516009890155888b01518051600a8a0180549c830151919098166001600160c01b0319909c169b909b179a831690950299909917855594830151600b8701805490991695169490941790965591820151600c84015593810151600d83015591820151909290600e84019061084c9082612e75565b505050608080840151015183516040513381526001600160a01b0390921693506001600160401b031691507f84433a3c591ac98de0b89e7fc7a3d5d6705a3cbec760e7d529439c65d6feb3099060200160405180910390a3506108af6001600055565b50565b6108ba61196a565b60006108c5826113df565b90506000806000806108d6856119c3565b929650909450925090506108ea8584611d25565b60808581015181015160608088015160408051338152602081018990528082018890529283018690529382015291516001600160a01b03878116939216916001600160401b038a16917fc7529bc0224b03ba593d84e2064baeac956a4221ca93d37af0f1810ad17df7a99181900360a00190a461096685611d7d565b600003610a2057600280876001600160401b03168154811061098a5761098a612e03565b60009182526020918290206008820401805460079092166004026101000a63ffffffff81810219909316949092169190910292909217909155600286820152608080870151015186516040513381526001600160a01b03888116949316926001600160401b03909216917fd08d3326dcd14f1021feb19d05834c4f6d0b7ff1fecac35981f24fd5f73873c5910160405180910390a45b846001876001600160401b031681548110610a3d57610a3d612e03565b60009182526020918290208351600f92909202018054848401516040808701516001600160401b039095166001600160601b031990931692909217600160401b63ffffffff92831681029190911763ffffffff60601b19908116600160601b968416870217855560608089015160018701556080808a01518051600289018054838d0151848b015185880151948b1667ffffffffffffffff1990931692909217640100000000918b1682021767ffffffffffffffff60401b1916918a169098029096169590951790871690990298909817909255868201516003870180546001600160a01b03199081166001600160a01b039384161790915560a0808a015160048a018054841691851691909117905560c08a015160058a018054841691851691909117905560e08a015160068a01805484169185169190911790556101008a015160078a01556101208a015160088a0155610140909901516009890155888b01518051600a8a0180549c830151919098166001600160c01b0319909c169b909b179a831690950299909917855594830151600b8701805490991695169490941790965591820151600c84015593810151600d83015591820151909290600e840190610c099082612e75565b50505090505050505050506108af6001600055565b6000610c2861196a565b6001600160a01b03891615801590610c4857506001600160a01b03881615155b8015610c665750876001600160a01b0316896001600160a01b031614155b8015610c725750600087115b8015610c7e5750600086115b8015610c8a5750868611155b8015610c965750600085115b8015610ca75750428463ffffffff16115b8015610cba5750600a63ffffffff841610155b610cef5760405162461bcd60e51b8152602060048201526006602482015265706172616d7360d01b60448201526064016105f0565b6000610d0b610cfd60015490565b8686868f8f8f8f8f8f611db0565b9050610d1681611f9f565b60018054808201825560009190915281517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6600f90920291820180546020808601516040808801516001600160401b039096166001600160601b031990941693909317600160401b63ffffffff92831681029190911763ffffffff60601b19908116600160601b97841688021786556060808a01517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf78a01556080808b015180517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf88c018054838a0151848c015185880151948b1667ffffffffffffffff1990931692909217640100000000918b1682021767ffffffffffffffff60401b1916918a1690980290961695909517908716909a0299909917909255878201517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf98a0180546001600160a01b03199081166001600160a01b039384161790915560a0808b01517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cfa8d018054841691851691909117905560c08b01517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cfb8d018054841691851691909117905560e08b01517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cfc8d01805484169185169190911790556101008b01517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cfd8d01556101208b01517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cfe8d0155610140909a01517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cff8c0155898c015180517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0d008d01805499830151919098166001600160c01b031990991698909817978316909502969096178555958301517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0d018a018054909616961695909517909355928301517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0d02870155908201517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0d03860155928101518594929391927fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0d0401906110be9082612e75565b505050505060028590806001815401808255809150506001900390600052602060002090600891828204019190066004029091909190916101000a81548163ffffffff021916908363ffffffff16021790555060036000336001600160a01b03166001600160a01b03168152602001908152602001600020816000015190806001815401808255809150506001900390600052602060002090600491828204019190066008029091909190916101000a8154816001600160401b0302191690836001600160401b031602179055508a6001600160a01b0316336001600160a01b031682600001516001600160401b03167f831701c9313a778469897164a19ddd1867959a91eada7cc21adf0936761c837084608001516040516111e19190612f34565b60405180910390a45190506111f66001600055565b9998505050505050505050565b61120b61196a565b6000611216826113df565b9050806020015163ffffffff1642106112415760405162461bcd60e51b81526004016105f090612f43565b80608001516060015181604001516112599190612f79565b63ffffffff16421161129a5760405162461bcd60e51b815260206004820152600a60248201526966696c6c2064656c617960b01b60448201526064016105f0565b6112a381611d7d565b60808281015160c0810151910151604051636eb1769f60e11b81526001600160a01b03918216600482015230602482015291169063dd62ed3e90604401602060405180830381865afa1580156112fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113219190612f9d565b10806113ab575061133181611d7d565b60808281015160c08101519101516040516370a0823160e01b81526001600160a01b0391821660048201529116906370a0823190602401602060405180830381865afa158015611385573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113a99190612f9d565b105b6105f95760405162461bcd60e51b81526020600482015260056024820152641d985b1a5960da1b60448201526064016105f0565b6113e761285d565b6001546001600160401b0316826001600160401b0316106114375760405162461bcd60e51b815260206004820152600a6024820152691a5b9d985b1a59081a5960b21b60448201526064016105f0565b6001826001600160401b03168154811061145357611453612e03565b60009182526020918290206040805160c08082018352600f90940290920180546001600160401b038116845263ffffffff600160401b808304821686890152600160601b928390048216868601526001840154606080880191909152855161016081018752600286015480851682526401000000008082048616838d01529381048516828901529490940483168482015260038501546001600160a01b039081166080868101919091526004870154821660a08088019190915260058801548316878c01526006880154831660e0880152600788015461010088015260088801546101208801526009880154610140880152818a01969096528751998a018852600a870180549586168b5293909404811699890199909952600b85015490981694870194909452600c83015496860196909652600d82015495850195909552600e810180549395919482870194909392840191906115b090612dc9565b80601f01602080910402602001604051908101604052809291908181526020018280546115dc90612dc9565b80156116295780601f106115fe57610100808354040283529160200191611629565b820191906000526020600020905b81548152906001019060200180831161160c57829003601f168201915b5050509190925250505090525092915050565b61164461196a565b6001600160a01b038516158015906116645750620186a063ffffffff8416105b6116995760405162461bcd60e51b8152602060048201526006602482015265706172616d7360d01b60448201526064016105f0565b60006116a4876113df565b905060006116b6828888888888612125565b905061170087828887878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525089969594939250506123c49050565b816001896001600160401b03168154811061171d5761171d612e03565b60009182526020918290208351600f92909202018054848401516040808701516001600160401b039095166001600160601b031990931692909217600160401b63ffffffff92831681029190911763ffffffff60601b19908116600160601b968416870217855560608089015160018701556080808a01518051600289018054838d0151848b015185880151948b1667ffffffffffffffff1990931692909217640100000000918b1682021767ffffffffffffffff60401b1916918a169098029096169590951790871690990298909817909255868201516003870180546001600160a01b03199081166001600160a01b039384161790915560a0808a015160048a018054841691851691909117905560c08a015160058a018054841691851691909117905560e08a015160068a01805484169185169190911790556101008a015160078a01556101208a015160088a0155610140909901516009890155888b01518051600a8a0180549c830151919098166001600160c01b0319909c169b909b179a831690950299909917855594830151600b8701805490991695169490941790965591820151600c84015593810151600d83015591820151909290600e8401906118e99082612e75565b505050905050866001600160a01b03168260800151608001516001600160a01b031683600001516001600160401b03167fc6c7dd24446d66051e106d8289c1e1e3657b16ae283f4824b89417b1ec39664f888660a0015160405161194e929190612fb6565b60405180910390a450506119626001600055565b505050505050565b6002600054036119bc5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016105f0565b6002600055565b6000806000808460a00151602001516001600160a01b0316336001600160a01b031614611a1a5760405162461bcd60e51b81526020600482015260056024820152643a30b5b2b960d91b60448201526064016105f0565b846020015163ffffffff164210611a435760405162461bcd60e51b81526004016105f090612f43565b60808501516040015160a086015151611a5c9190612f79565b63ffffffff164211611a9c5760405162461bcd60e51b81526020600482015260096024820152686269642064656c617960b81b60448201526064016105f0565b5060a08401516040810151608090910151909350611ab985611d7d565b92506000611ac68661242d565b6080808801519081015160c090910151919250611aee916001600160a01b0316903087612449565b608086015160c001516040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015611b3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b609190612f9d565b608087015160c00151909450611b80906001600160a01b031686866124ba565b608086015160c081015160e0909101516001600160a01b03871691632506c0189187611bac8787612fd5565b8b60a0015160a001516040518663ffffffff1660e01b8152600401611bd5959493929190612fe8565b600060405180830381600087803b158015611bef57600080fd5b505af1158015611c03573d6000803e3d6000fd5b505050608087015160e001516040516370a0823160e01b81523060048201526001600160a01b0390911691506370a0823190602401602060405180830381865afa158015611c55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c799190612f9d565b9250611c858284613022565b925080831015611cc15760405162461bcd60e51b81526020600482015260076024820152661b5a5b881bdd5d60ca1b60448201526064016105f0565b611cef8660a001516020015183886080015160e001516001600160a01b031661256c9092919063ffffffff16565b611d1d86608001516080015184886080015160e001516001600160a01b031661256c9092919063ffffffff16565b509193509193565b63ffffffff4210611d485760405162461bcd60e51b81526004016105f090613035565b8160a001611d546128eb565b905263ffffffff42166040830152606082018051829190611d76908390612fd5565b9052505050565b6000611daa82608001516101200151836060015184608001516101000151611da59190613022565b6125a1565b92915050565b611db861285d565b63ffffffff4210611ddb5760405162461bcd60e51b81526004016105f090613035565b63ffffffff8a8116108015611df5575063ffffffff898116105b8015611e06575063ffffffff888116105b611e3b5760405162461bcd60e51b81526020600482015260066024820152653ab4b73a199960d11b60448201526064016105f0565b6040518060c001604052808c6001600160401b031681526020018b63ffffffff168152602001600063ffffffff168152602001600081526020016040518061016001604052804263ffffffff1681526020018d63ffffffff1681526020018c63ffffffff1681526020018b63ffffffff168152602001336001600160a01b031681526020018a6001600160a01b03168152602001896001600160a01b03168152602001886001600160a01b031681526020018781526020018681526020018581525081526020016040518060c00160405280600063ffffffff16815260200160006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160006001600160401b03811115611f6157611f61612e19565b6040519080825280601f01601f191660200182016040528015611f8b576020820181803683370190505b50905290529b9a5050505050505050505050565b611fa881611d7d565b60808281015160c0810151910151604051636eb1769f60e11b81526001600160a01b03918216600482015230602482015291169063dd62ed3e90604401602060405180830381865afa158015612002573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120269190612f9d565b10156120665760405162461bcd60e51b815260206004820152600f60248201526e6d616b657220616c6c6f77616e636560881b60448201526064016105f0565b61206f81611d7d565b60808281015160c08101519101516040516370a0823160e01b81526001600160a01b0391821660048201529116906370a0823190602401602060405180830381865afa1580156120c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120e79190612f9d565b10156108af5760405162461bcd60e51b815260206004820152600d60248201526c6d616b65722062616c616e636560981b60448201526064016105f0565b6000866020015163ffffffff1642106121505760405162461bcd60e51b81526004016105f090612f43565b86608001516060015187604001516121689190612f79565b63ffffffff1642116121a95760405162461bcd60e51b815260206004820152600a60248201526966696c6c2064656c617960b01b60448201526064016105f0565b608087015160a001516001600160a01b031615806121e05750856001600160a01b0316876080015160a001516001600160a01b0316145b6122175760405162461bcd60e51b815260206004820152600860248201526765786368616e676560c01b60448201526064016105f0565b856001600160a01b031663650967b5886080015160c00151896080015160e001516122418b611d7d565b87876040518663ffffffff1660e01b8152600401612263959493929190613053565b602060405180830381865afa158015612280573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122a49190612f9d565b9050620186a06122ba63ffffffff8616836130a7565b6122c491906130c6565b6122ce9082613022565b90506122da8582613022565b60a088015160600151909150620186a0906122f99062018a88906130a7565b61230391906130c6565b8111806123395750600587608001516040015161232091906130e8565b60a0880151516123309190612f79565b63ffffffff1642115b61236f5760405162461bcd60e51b81526020600482015260076024820152661b1bddc8189a5960ca1b60448201526064016105f0565b612378876125b9565b8110156123b15760405162461bcd60e51b81526020600482015260076024820152661b5a5b881bdd5d60ca1b60448201526064016105f0565b6123ba87611f9f565b9695505050505050565b63ffffffff42106123e75760405162461bcd60e51b81526004016105f090613035565b6040805160c08101825263ffffffff421681523360208201526001600160a01b0395909516908501526060840192909252608083015260a0808301919091529190910152565b6000611daa8260a0015160600151612444846125b9565b6125ec565b6040516001600160a01b03808516602483015283166044820152606481018290526124b49085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526125fb565b50505050565b604051636eb1769f60e11b81523060048201526001600160a01b038381166024830152600091839186169063dd62ed3e90604401602060405180830381865afa15801561250b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061252f9190612f9d565b6125399190612fd5565b6040516001600160a01b0385166024820152604481018290529091506124b490859063095ea7b360e01b9060640161247d565b6040516001600160a01b03831660248201526044810182905261259c90849063a9059cbb60e01b9060640161247d565b505050565b60008183106125b057816125b2565b825b9392505050565b6000816080015161012001516125ce83611d7d565b836080015161014001516125e291906130a7565b611daa91906130c6565b60008183116125b057816125b2565b6000612650826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166126cd9092919063ffffffff16565b80519091501561259c578080602001905181019061266e9190613114565b61259c5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016105f0565b60606126dc84846000856126e4565b949350505050565b6060824710156127455760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016105f0565b600080866001600160a01b031685876040516127619190613136565b60006040518083038185875af1925050503d806000811461279e576040519150601f19603f3d011682016040523d82523d6000602084013e6127a3565b606091505b50915091506127b4878383876127bf565b979650505050505050565b6060831561282e578251600003612827576001600160a01b0385163b6128275760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016105f0565b50816126dc565b6126dc83838151156128435781518083602001fd5b8060405162461bcd60e51b81526004016105f09190613152565b6040805160c08082018352600080835260208084018290528385018290526060808501839052855161016081018752838152918201839052948101829052938401819052608084810182905260a0850182905291840181905260e084018190526101008401819052610120840181905261014084015290919082019081526020016128e66128eb565b905290565b6040518060c00160405280600063ffffffff16815260200160006001600160a01b0316815260200160006001600160a01b031681526020016000815260200160008152602001606081525090565b80356001600160a01b038116811461295057600080fd5b919050565b60006020828403121561296757600080fd5b6125b282612939565b6020808252825182820181905260009190848201906040850190845b818110156129b15783516001600160401b03168352928401929184019160010161298c565b50909695505050505050565b6000602082840312156129cf57600080fd5b5035919050565b805163ffffffff16825260208101516129f7602084018263ffffffff169052565b506040810151612a0f604084018263ffffffff169052565b506060810151612a27606084018263ffffffff169052565b506080810151612a4260808401826001600160a01b03169052565b5060a0810151612a5d60a08401826001600160a01b03169052565b5060c0810151612a7860c08401826001600160a01b03169052565b5060e0810151612a9360e08401826001600160a01b03169052565b506101008181015190830152610120808201519083015261014090810151910152565b60005b83811015612ad1578181015183820152602001612ab9565b50506000910152565b60008151808452612af2816020860160208601612ab6565b601f01601f19169290920160200192915050565b63ffffffff81511682526000602082015160018060a01b0380821660208601528060408501511660408601525050606082015160608401526080820151608084015260a082015160c060a08501526126dc60c0850182612ada565b6001600160401b038716815263ffffffff868116602083015285166040820152606081018490526000610200612b9a60808401866129d6565b806101e08401526111f681840185612b06565b60008060408385031215612bc057600080fd5b612bc983612939565b946020939093013593505050565b80356001600160401b038116811461295057600080fd5b600060208284031215612c0057600080fd5b6125b282612bd7565b803563ffffffff8116811461295057600080fd5b60008060008060008060008060006101208a8c031215612c3c57600080fd5b612c458a612939565b9850612c5360208b01612939565b9750612c6160408b01612939565b965060608a0135955060808a0135945060a08a01359350612c8460c08b01612c09565b9250612c9260e08b01612c09565b9150612ca16101008b01612c09565b90509295985092959850929598565b602081526001600160401b0382511660208201526000602083015163ffffffff80821660408501528060408601511660608501525050606083015160808301526080830151612d0260a08401826129d6565b5060a0830151610200838101526126dc610220840182612b06565b60008060008060008060a08789031215612d3657600080fd5b612d3f87612bd7565b9550612d4d60208801612939565b945060408701359350612d6260608801612c09565b925060808701356001600160401b0380821115612d7e57600080fd5b818901915089601f830112612d9257600080fd5b813581811115612da157600080fd5b8a6020828501011115612db357600080fd5b6020830194508093505050509295509295509295565b600181811c90821680612ddd57607f821691505b602082108103612dfd57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b601f82111561259c57600081815260208120601f850160051c81016020861015612e565750805b601f850160051c820191505b8181101561196257828155600101612e62565b81516001600160401b03811115612e8e57612e8e612e19565b612ea281612e9c8454612dc9565b84612e2f565b602080601f831160018114612ed75760008415612ebf5750858301515b600019600386901b1c1916600185901b178555611962565b600085815260208120601f198616915b82811015612f0657888601518255948401946001909101908401612ee7565b5085821015612f245787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6101608101611daa82846129d6565b60208082526006908201526573746174757360d01b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b63ffffffff818116838216019080821115612f9657612f96612f63565b5092915050565b600060208284031215612faf57600080fd5b5051919050565b63ffffffff831681526040602082015260006126dc6040830184612b06565b80820180821115611daa57611daa612f63565b6001600160a01b03868116825285166020820152604081018490526060810183905260a0608082018190526000906127b490830184612ada565b81810381811115611daa57611daa612f63565b60208082526004908201526374696d6560e01b604082015260600190565b6001600160a01b038681168252851660208201526040810184905260806060820181905281018290526000828460a0840137600060a0848401015260a0601f19601f85011683010190509695505050505050565b60008160001904831182151516156130c1576130c1612f63565b500290565b6000826130e357634e487b7160e01b600052601260045260246000fd5b500490565b600063ffffffff8083168185168183048111821515161561310b5761310b612f63565b02949350505050565b60006020828403121561312657600080fd5b815180151581146125b257600080fd5b60008251613148818460208701612ab6565b9190910192915050565b6020815260006125b26020830184612ada56fea26469706673582212205b239beb7bcd1f937eb012c7b1180d90d16c9544f64ff8d870395736e229431864736f6c63430008100033",
847
+ "linkReferences": {},
848
+ "deployedLinkReferences": {}
849
+ }