UNPKG

67.1 kBJSONView Raw
1{
2 "_format": "hh-sol-artifact-1",
3 "contractName": "CombinedContract",
4 "sourceName": "contracts/CombinedContract.sol",
5 "abi": [
6 {
7 "inputs": [
8 {
9 "internalType": "string",
10 "name": "name",
11 "type": "string"
12 },
13 {
14 "internalType": "string",
15 "name": "symbol",
16 "type": "string"
17 }
18 ],
19 "stateMutability": "nonpayable",
20 "type": "constructor"
21 },
22 {
23 "anonymous": false,
24 "inputs": [
25 {
26 "indexed": true,
27 "internalType": "address",
28 "name": "owner",
29 "type": "address"
30 },
31 {
32 "indexed": true,
33 "internalType": "address",
34 "name": "approved",
35 "type": "address"
36 },
37 {
38 "indexed": true,
39 "internalType": "uint256",
40 "name": "tokenId",
41 "type": "uint256"
42 }
43 ],
44 "name": "Approval",
45 "type": "event"
46 },
47 {
48 "anonymous": false,
49 "inputs": [
50 {
51 "indexed": true,
52 "internalType": "address",
53 "name": "owner",
54 "type": "address"
55 },
56 {
57 "indexed": true,
58 "internalType": "address",
59 "name": "operator",
60 "type": "address"
61 },
62 {
63 "indexed": false,
64 "internalType": "bool",
65 "name": "approved",
66 "type": "bool"
67 }
68 ],
69 "name": "ApprovalForAll",
70 "type": "event"
71 },
72 {
73 "anonymous": false,
74 "inputs": [
75 {
76 "indexed": false,
77 "internalType": "uint256",
78 "name": "_fromTokenId",
79 "type": "uint256"
80 },
81 {
82 "indexed": false,
83 "internalType": "uint256",
84 "name": "_toTokenId",
85 "type": "uint256"
86 }
87 ],
88 "name": "BatchMetadataUpdate",
89 "type": "event"
90 },
91 {
92 "anonymous": false,
93 "inputs": [
94 {
95 "indexed": false,
96 "internalType": "uint256",
97 "name": "_tokenId",
98 "type": "uint256"
99 }
100 ],
101 "name": "MetadataUpdate",
102 "type": "event"
103 },
104 {
105 "anonymous": false,
106 "inputs": [
107 {
108 "indexed": true,
109 "internalType": "address",
110 "name": "from",
111 "type": "address"
112 },
113 {
114 "indexed": true,
115 "internalType": "address",
116 "name": "to",
117 "type": "address"
118 },
119 {
120 "indexed": true,
121 "internalType": "uint256",
122 "name": "tokenId",
123 "type": "uint256"
124 }
125 ],
126 "name": "Transfer",
127 "type": "event"
128 },
129 {
130 "inputs": [
131 {
132 "internalType": "uint256",
133 "name": "_price",
134 "type": "uint256"
135 }
136 ],
137 "name": "activateSale",
138 "outputs": [],
139 "stateMutability": "nonpayable",
140 "type": "function"
141 },
142 {
143 "inputs": [
144 {
145 "internalType": "uint256",
146 "name": "_price",
147 "type": "uint256"
148 },
149 {
150 "internalType": "address",
151 "name": "_tokenContractAddress",
152 "type": "address"
153 }
154 ],
155 "name": "activateSale",
156 "outputs": [],
157 "stateMutability": "nonpayable",
158 "type": "function"
159 },
160 {
161 "inputs": [
162 {
163 "internalType": "address",
164 "name": "customerAddress",
165 "type": "address"
166 }
167 ],
168 "name": "addAuthorizedReseller",
169 "outputs": [],
170 "stateMutability": "nonpayable",
171 "type": "function"
172 },
173 {
174 "inputs": [
175 {
176 "internalType": "address",
177 "name": "newOwner",
178 "type": "address"
179 }
180 ],
181 "name": "addOwner",
182 "outputs": [],
183 "stateMutability": "nonpayable",
184 "type": "function"
185 },
186 {
187 "inputs": [
188 {
189 "internalType": "address",
190 "name": "to",
191 "type": "address"
192 },
193 {
194 "internalType": "uint256",
195 "name": "tokenId",
196 "type": "uint256"
197 }
198 ],
199 "name": "adminTransfer",
200 "outputs": [],
201 "stateMutability": "nonpayable",
202 "type": "function"
203 },
204 {
205 "inputs": [
206 {
207 "internalType": "address",
208 "name": "to",
209 "type": "address"
210 },
211 {
212 "internalType": "uint256",
213 "name": "tokenId",
214 "type": "uint256"
215 }
216 ],
217 "name": "approve",
218 "outputs": [],
219 "stateMutability": "nonpayable",
220 "type": "function"
221 },
222 {
223 "inputs": [
224 {
225 "internalType": "address",
226 "name": "owner",
227 "type": "address"
228 }
229 ],
230 "name": "balanceOf",
231 "outputs": [
232 {
233 "internalType": "uint256",
234 "name": "",
235 "type": "uint256"
236 }
237 ],
238 "stateMutability": "view",
239 "type": "function"
240 },
241 {
242 "inputs": [
243 {
244 "internalType": "uint256",
245 "name": "tokenId",
246 "type": "uint256"
247 }
248 ],
249 "name": "burn",
250 "outputs": [],
251 "stateMutability": "nonpayable",
252 "type": "function"
253 },
254 {
255 "inputs": [
256 {
257 "internalType": "address",
258 "name": "tokenOwner",
259 "type": "address"
260 },
261 {
262 "internalType": "address",
263 "name": "seller",
264 "type": "address"
265 },
266 {
267 "internalType": "uint256",
268 "name": "tokenId",
269 "type": "uint256"
270 }
271 ],
272 "name": "buyToken",
273 "outputs": [],
274 "stateMutability": "payable",
275 "type": "function"
276 },
277 {
278 "inputs": [
279 {
280 "internalType": "uint256",
281 "name": "tokenId",
282 "type": "uint256"
283 },
284 {
285 "internalType": "uint256",
286 "name": "upsellID",
287 "type": "uint256"
288 }
289 ],
290 "name": "checkUpsell",
291 "outputs": [
292 {
293 "internalType": "bool",
294 "name": "",
295 "type": "bool"
296 }
297 ],
298 "stateMutability": "view",
299 "type": "function"
300 },
301 {
302 "inputs": [],
303 "name": "deActivateSale",
304 "outputs": [],
305 "stateMutability": "nonpayable",
306 "type": "function"
307 },
308 {
309 "inputs": [
310 {
311 "internalType": "uint256",
312 "name": "tokenId",
313 "type": "uint256"
314 },
315 {
316 "internalType": "uint256",
317 "name": "upsellID",
318 "type": "uint256"
319 }
320 ],
321 "name": "forfeitUpsell",
322 "outputs": [],
323 "stateMutability": "nonpayable",
324 "type": "function"
325 },
326 {
327 "inputs": [
328 {
329 "internalType": "uint256",
330 "name": "tokenId",
331 "type": "uint256"
332 }
333 ],
334 "name": "getApproved",
335 "outputs": [
336 {
337 "internalType": "address",
338 "name": "",
339 "type": "address"
340 }
341 ],
342 "stateMutability": "view",
343 "type": "function"
344 },
345 {
346 "inputs": [],
347 "name": "getDescription",
348 "outputs": [
349 {
350 "internalType": "string",
351 "name": "",
352 "type": "string"
353 }
354 ],
355 "stateMutability": "view",
356 "type": "function"
357 },
358 {
359 "inputs": [],
360 "name": "getOwners",
361 "outputs": [
362 {
363 "internalType": "address[]",
364 "name": "",
365 "type": "address[]"
366 }
367 ],
368 "stateMutability": "view",
369 "type": "function"
370 },
371 {
372 "inputs": [],
373 "name": "getTrustedForwarder",
374 "outputs": [
375 {
376 "internalType": "address",
377 "name": "forwarder",
378 "type": "address"
379 }
380 ],
381 "stateMutability": "view",
382 "type": "function"
383 },
384 {
385 "inputs": [],
386 "name": "getVersion",
387 "outputs": [
388 {
389 "internalType": "string",
390 "name": "",
391 "type": "string"
392 }
393 ],
394 "stateMutability": "pure",
395 "type": "function"
396 },
397 {
398 "inputs": [
399 {
400 "internalType": "address",
401 "name": "owner",
402 "type": "address"
403 },
404 {
405 "internalType": "address",
406 "name": "operator",
407 "type": "address"
408 }
409 ],
410 "name": "isApprovedForAll",
411 "outputs": [
412 {
413 "internalType": "bool",
414 "name": "",
415 "type": "bool"
416 }
417 ],
418 "stateMutability": "view",
419 "type": "function"
420 },
421 {
422 "inputs": [
423 {
424 "internalType": "address",
425 "name": "customerAddress",
426 "type": "address"
427 }
428 ],
429 "name": "isAuthorizedReseller",
430 "outputs": [
431 {
432 "internalType": "bool",
433 "name": "",
434 "type": "bool"
435 }
436 ],
437 "stateMutability": "view",
438 "type": "function"
439 },
440 {
441 "inputs": [
442 {
443 "internalType": "address",
444 "name": "addr",
445 "type": "address"
446 }
447 ],
448 "name": "isOwner",
449 "outputs": [
450 {
451 "internalType": "bool",
452 "name": "",
453 "type": "bool"
454 }
455 ],
456 "stateMutability": "view",
457 "type": "function"
458 },
459 {
460 "inputs": [
461 {
462 "internalType": "address",
463 "name": "forwarder",
464 "type": "address"
465 }
466 ],
467 "name": "isTrustedForwarder",
468 "outputs": [
469 {
470 "internalType": "bool",
471 "name": "",
472 "type": "bool"
473 }
474 ],
475 "stateMutability": "view",
476 "type": "function"
477 },
478 {
479 "inputs": [
480 {
481 "internalType": "address",
482 "name": "recipient",
483 "type": "address"
484 },
485 {
486 "internalType": "string",
487 "name": "tokenURI",
488 "type": "string"
489 }
490 ],
491 "name": "mint",
492 "outputs": [
493 {
494 "internalType": "uint256",
495 "name": "",
496 "type": "uint256"
497 }
498 ],
499 "stateMutability": "nonpayable",
500 "type": "function"
501 },
502 {
503 "inputs": [],
504 "name": "name",
505 "outputs": [
506 {
507 "internalType": "string",
508 "name": "",
509 "type": "string"
510 }
511 ],
512 "stateMutability": "view",
513 "type": "function"
514 },
515 {
516 "inputs": [
517 {
518 "internalType": "uint256",
519 "name": "tokenId",
520 "type": "uint256"
521 }
522 ],
523 "name": "ownerOf",
524 "outputs": [
525 {
526 "internalType": "address",
527 "name": "",
528 "type": "address"
529 }
530 ],
531 "stateMutability": "view",
532 "type": "function"
533 },
534 {
535 "inputs": [],
536 "name": "ownerRenderData",
537 "outputs": [
538 {
539 "internalType": "string",
540 "name": "",
541 "type": "string"
542 }
543 ],
544 "stateMutability": "view",
545 "type": "function"
546 },
547 {
548 "inputs": [
549 {
550 "internalType": "uint256",
551 "name": "tokenId",
552 "type": "uint256"
553 },
554 {
555 "internalType": "uint256",
556 "name": "upsellID",
557 "type": "uint256"
558 }
559 ],
560 "name": "purchaseUpsell",
561 "outputs": [],
562 "stateMutability": "nonpayable",
563 "type": "function"
564 },
565 {
566 "inputs": [],
567 "name": "readOwnerRenderData",
568 "outputs": [
569 {
570 "internalType": "string",
571 "name": "",
572 "type": "string"
573 }
574 ],
575 "stateMutability": "view",
576 "type": "function"
577 },
578 {
579 "inputs": [],
580 "name": "readRenderData",
581 "outputs": [
582 {
583 "internalType": "string",
584 "name": "",
585 "type": "string"
586 }
587 ],
588 "stateMutability": "view",
589 "type": "function"
590 },
591 {
592 "inputs": [
593 {
594 "internalType": "address",
595 "name": "customerAddress",
596 "type": "address"
597 }
598 ],
599 "name": "removeAuthorizedReseller",
600 "outputs": [],
601 "stateMutability": "nonpayable",
602 "type": "function"
603 },
604 {
605 "inputs": [
606 {
607 "internalType": "address",
608 "name": "owner",
609 "type": "address"
610 }
611 ],
612 "name": "removeOwner",
613 "outputs": [],
614 "stateMutability": "nonpayable",
615 "type": "function"
616 },
617 {
618 "inputs": [],
619 "name": "renderData",
620 "outputs": [
621 {
622 "internalType": "string",
623 "name": "",
624 "type": "string"
625 }
626 ],
627 "stateMutability": "view",
628 "type": "function"
629 },
630 {
631 "inputs": [
632 {
633 "internalType": "address",
634 "name": "from",
635 "type": "address"
636 },
637 {
638 "internalType": "address",
639 "name": "to",
640 "type": "address"
641 },
642 {
643 "internalType": "uint256",
644 "name": "tokenId",
645 "type": "uint256"
646 }
647 ],
648 "name": "safeTransferFrom",
649 "outputs": [],
650 "stateMutability": "nonpayable",
651 "type": "function"
652 },
653 {
654 "inputs": [
655 {
656 "internalType": "address",
657 "name": "from",
658 "type": "address"
659 },
660 {
661 "internalType": "address",
662 "name": "to",
663 "type": "address"
664 },
665 {
666 "internalType": "uint256",
667 "name": "tokenId",
668 "type": "uint256"
669 },
670 {
671 "internalType": "bytes",
672 "name": "data",
673 "type": "bytes"
674 }
675 ],
676 "name": "safeTransferFrom",
677 "outputs": [],
678 "stateMutability": "nonpayable",
679 "type": "function"
680 },
681 {
682 "inputs": [
683 {
684 "internalType": "address",
685 "name": "operator",
686 "type": "address"
687 },
688 {
689 "internalType": "bool",
690 "name": "approved",
691 "type": "bool"
692 }
693 ],
694 "name": "setApprovalForAll",
695 "outputs": [],
696 "stateMutability": "nonpayable",
697 "type": "function"
698 },
699 {
700 "inputs": [
701 {
702 "internalType": "address",
703 "name": "newCreator",
704 "type": "address"
705 }
706 ],
707 "name": "setCreator",
708 "outputs": [],
709 "stateMutability": "nonpayable",
710 "type": "function"
711 },
712 {
713 "inputs": [
714 {
715 "internalType": "address",
716 "name": "tokenAddress",
717 "type": "address"
718 }
719 ],
720 "name": "setCurrencyToken",
721 "outputs": [],
722 "stateMutability": "nonpayable",
723 "type": "function"
724 },
725 {
726 "inputs": [
727 {
728 "internalType": "string",
729 "name": "description",
730 "type": "string"
731 }
732 ],
733 "name": "setDescription",
734 "outputs": [],
735 "stateMutability": "nonpayable",
736 "type": "function"
737 },
738 {
739 "inputs": [
740 {
741 "internalType": "uint256",
742 "name": "_ownerPct",
743 "type": "uint256"
744 },
745 {
746 "internalType": "uint256",
747 "name": "_sellerPct",
748 "type": "uint256"
749 },
750 {
751 "internalType": "uint256",
752 "name": "_creatorPct",
753 "type": "uint256"
754 }
755 ],
756 "name": "setRoyaltySplit",
757 "outputs": [],
758 "stateMutability": "nonpayable",
759 "type": "function"
760 },
761 {
762 "inputs": [
763 {
764 "internalType": "address",
765 "name": "_forwarder",
766 "type": "address"
767 }
768 ],
769 "name": "setTrustedForwarder",
770 "outputs": [],
771 "stateMutability": "nonpayable",
772 "type": "function"
773 },
774 {
775 "inputs": [
776 {
777 "internalType": "bytes4",
778 "name": "interfaceId",
779 "type": "bytes4"
780 }
781 ],
782 "name": "supportsInterface",
783 "outputs": [
784 {
785 "internalType": "bool",
786 "name": "",
787 "type": "bool"
788 }
789 ],
790 "stateMutability": "view",
791 "type": "function"
792 },
793 {
794 "inputs": [],
795 "name": "symbol",
796 "outputs": [
797 {
798 "internalType": "string",
799 "name": "",
800 "type": "string"
801 }
802 ],
803 "stateMutability": "view",
804 "type": "function"
805 },
806 {
807 "inputs": [
808 {
809 "internalType": "uint256",
810 "name": "tokenId",
811 "type": "uint256"
812 }
813 ],
814 "name": "tokenURI",
815 "outputs": [
816 {
817 "internalType": "string",
818 "name": "",
819 "type": "string"
820 }
821 ],
822 "stateMutability": "view",
823 "type": "function"
824 },
825 {
826 "inputs": [
827 {
828 "internalType": "address",
829 "name": "from",
830 "type": "address"
831 },
832 {
833 "internalType": "address",
834 "name": "to",
835 "type": "address"
836 },
837 {
838 "internalType": "uint256",
839 "name": "tokenId",
840 "type": "uint256"
841 }
842 ],
843 "name": "transferFrom",
844 "outputs": [],
845 "stateMutability": "nonpayable",
846 "type": "function"
847 },
848 {
849 "inputs": [
850 {
851 "internalType": "string",
852 "name": "HTMLstring",
853 "type": "string"
854 }
855 ],
856 "name": "writeOwnerRenderData",
857 "outputs": [],
858 "stateMutability": "nonpayable",
859 "type": "function"
860 },
861 {
862 "inputs": [
863 {
864 "internalType": "string",
865 "name": "HTMLstring",
866 "type": "string"
867 }
868 ],
869 "name": "writeRenderData",
870 "outputs": [],
871 "stateMutability": "nonpayable",
872 "type": "function"
873 }
874 ],
875 "bytecode": "0x60806040526011805460ff60a01b191690556064601255600060138190556014553480156200002d57600080fd5b50604051620031f8380380620031f8833981016040819052620000509162000398565b8181818181600090805190602001906200006c9291906200023f565b508051620000829060019060208401906200023f565b5050506200009f62000099620000e360201b60201c565b620000ff565b50620000b0905062000099620000e3565b620000ba620000e3565b600f80546001600160a01b0319166001600160a01b039290921691909117905550620004529050565b6000620000fa6200020960201b620019d91760201c565b905090565b600854158015906200012157503360009081526007602052604090205460ff16155b156200017e5760405162461bcd60e51b815260206004820152602260248201527f4f6e6c79206f776e65722063616e2063616c6c20746869732066756e6374696f604482015261371760f11b606482015260840160405180910390fd5b6001600160a01b03811660009081526007602052604090205460ff1615620001a35750565b6001600160a01b03166000818152600760205260408120805460ff191660019081179091556008805491820181559091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30180546001600160a01b0319169091179055565b600060143610801590620002275750600a546001600160a01b031633145b156200023a575060131936013560601c90565b503390565b8280546200024d90620003ff565b90600052602060002090601f016020900481019282620002715760008555620002bc565b82601f106200028c57805160ff1916838001178555620002bc565b82800160010185558215620002bc579182015b82811115620002bc5782518255916020019190600101906200029f565b50620002ca929150620002ce565b5090565b5b80821115620002ca5760008155600101620002cf565b600082601f830112620002f6578081fd5b81516001600160401b03808211156200031357620003136200043c565b604051601f8301601f19908116603f011681019082821181831017156200033e576200033e6200043c565b816040528381526020925086838588010111156200035a578485fd5b8491505b838210156200037d57858201830151818301840152908201906200035e565b838211156200038e57848385830101525b9695505050505050565b60008060408385031215620003ab578182fd5b82516001600160401b0380821115620003c2578384fd5b620003d086838701620002e5565b93506020850151915080821115620003e6578283fd5b50620003f585828601620002e5565b9150509250929050565b600181811c908216806200041457607f821691505b602082108114156200043657634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052604160045260246000fd5b612d9680620004626000396000f3fe6080604052600436106102725760003560e01c80637065cb481161014f578063b7ceb5f8116100c1578063d0def5211161007a578063d0def521146107a3578063d2d73963146107c3578063da742228146107fe578063e985e9c51461081e578063f17e48ec14610867578063f905434f1461088757600080fd5b8063b7ceb5f814610708578063b88d4fde1461071d578063bb4a6a5d1461073d578063c1d5725f14610752578063c87b56dd14610765578063ce1b815f1461078557600080fd5b806395d89b411161011357806395d89b41146106385780639eda8aae1461064d578063a0e67e2b14610686578063a22cb465146106a8578063a311e6b4146106c8578063abb9b577146106e857600080fd5b80637065cb481461058a5780637075c269146105aa57806370a08231146105ca5780637ab12bb6146105f857806390c3f38f1461061857600080fd5b806323b872dd116101e85780633f516018116101ac5780633f516018146104bb57806342842e0e146104db57806342966c68146104fb578063572b6c051461051b5780636352211e1461054a5780636df04a331461056a57600080fd5b806323b872dd1461040d57806324c85a091461042d5780632f54bf6e14610442578063331e29f41461047b5780633c695e391461049b57600080fd5b8063095ea7b31161023a578063095ea7b31461033057806309f5b226146103525780630d8e6e2c14610372578063173825d9146103b85780631a092541146103d85780631df5c02c146103ed57600080fd5b806301ffc9a714610277578063055789b7146102ac57806305cb3d7e146102ce57806306fdde03146102e3578063081812fc146102f8575b600080fd5b34801561028357600080fd5b506102976102923660046128ee565b6108a7565b60405190151581526020015b60405180910390f35b3480156102b857600080fd5b506102c16108d2565b6040516102a39190612aea565b3480156102da57600080fd5b506102c1610960565b3480156102ef57600080fd5b506102c1610a12565b34801561030457600080fd5b50610318610313366004612959565b610a21565b6040516001600160a01b0390911681526020016102a3565b34801561033c57600080fd5b5061035061034b3660046128a7565b610a48565b005b34801561035e57600080fd5b5061035061036d3660046126ff565b610b75565b34801561037e57600080fd5b5060408051808201909152601881527f436f6d62696e6564436f6e7472616374207620302e302e32000000000000000060208201526102c1565b3480156103c457600080fd5b506103506103d33660046126ff565b610bbe565b3480156103e457600080fd5b506102c1610c7b565b3480156103f957600080fd5b506103506104083660046126ff565b610c8a565b34801561041957600080fd5b5061035061042836600461276f565b610cd2565b34801561043957600080fd5b506102c1610d0a565b34801561044e57600080fd5b5061029761045d3660046126ff565b6001600160a01b031660009081526007602052604090205460ff1690565b34801561048757600080fd5b50610350610496366004612926565b610d19565b3480156104a757600080fd5b506103506104b63660046126ff565b610d57565b3480156104c757600080fd5b506103506104d63660046126ff565b610da2565b3480156104e757600080fd5b506103506104f636600461276f565b610deb565b34801561050757600080fd5b50610350610516366004612959565b610e06565b34801561052757600080fd5b506102976105363660046126ff565b600a546001600160a01b0391821691161490565b34801561055657600080fd5b50610318610565366004612959565b610e36565b34801561057657600080fd5b50610350610585366004612995565b610e96565b34801561059657600080fd5b506103506105a53660046126ff565b610ee3565b3480156105b657600080fd5b506103506105c5366004612926565b610fab565b3480156105d657600080fd5b506105ea6105e53660046126ff565b610fe5565b6040519081526020016102a3565b34801561060457600080fd5b50610350610613366004612959565b61106b565b34801561062457600080fd5b50610350610633366004612926565b6110bc565b34801561064457600080fd5b506102c16110f6565b34801561065957600080fd5b506102976106683660046126ff565b6001600160a01b03166000908152600e602052604090205460ff1690565b34801561069257600080fd5b5061069b611105565b6040516102a39190612a9d565b3480156106b457600080fd5b506103506106c336600461282c565b611166565b3480156106d457600080fd5b506103506106e3366004612971565b611178565b3480156106f457600080fd5b506103506107033660046129b6565b6111db565b34801561071457600080fd5b50610350611210565b34801561072957600080fd5b506103506107383660046127af565b611246565b34801561074957600080fd5b506102c1611285565b61035061076036600461276f565b611292565b34801561077157600080fd5b506102c1610780366004612959565b611790565b34801561079157600080fd5b50600a546001600160a01b0316610318565b3480156107af57600080fd5b506105ea6107be366004612859565b6118a1565b3480156107cf57600080fd5b506102976107de366004612995565b600091825260166020908152604080842092845291905290205460ff1690565b34801561080a57600080fd5b506103506108193660046126ff565b611900565b34801561082a57600080fd5b50610297610839366004612737565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b34801561087357600080fd5b506103506108823660046128a7565b611945565b34801561089357600080fd5b506103506108a2366004612995565b61198f565b60006001600160e01b03198216632483248360e11b14806108cc57506108cc82611a0d565b92915050565b600d80546108df90612ca5565b80601f016020809104026020016040519081016040528092919081815260200182805461090b90612ca5565b80156109585780601f1061092d57610100808354040283529160200191610958565b820191906000526020600020905b81548152906001019060200180831161093b57829003601f168201915b505050505081565b6060600061096f6105e5611a5d565b1115610a0557600d805461098290612ca5565b80601f01602080910402602001604051908101604052809291908181526020018280546109ae90612ca5565b80156109fb5780601f106109d0576101008083540402835291602001916109fb565b820191906000526020600020905b8154815290600101906020018083116109de57829003601f168201915b5050505050905090565b600c805461098290612ca5565b60606000805461098290612ca5565b6000610a2c82611a6c565b506000908152600460205260409020546001600160a01b031690565b6000610a5382610e36565b9050806001600160a01b0316836001600160a01b03161415610ac65760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b806001600160a01b0316610ad8611a5d565b6001600160a01b03161480610af45750610af481610839611a5d565b610b665760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610abd565b610b708383611acb565b505050565b610b8061045d611a5d565b610b9c5760405162461bcd60e51b8152600401610abd90612afd565b601180546001600160a01b0319166001600160a01b0392909216919091179055565b610bc961045d611a5d565b610be55760405162461bcd60e51b8152600401610abd90612afd565b6001600160a01b03811660009081526007602052604090205460ff16610c4d5760405162461bcd60e51b815260206004820152601e60248201527f5461726765742061646472657373206973206e6f7420616e206f776e657200006044820152606401610abd565b6001600160a01b0381166000908152600760205260409020805460ff19169055610c78600882611b39565b50565b60606009805461098290612ca5565b610c9561045d611a5d565b610cb15760405162461bcd60e51b8152600401610abd90612afd565b6001600160a01b03166000908152600e60205260409020805460ff19169055565b610ce3610cdd611a5d565b82611c7b565b610cff5760405162461bcd60e51b8152600401610abd90612b3f565b610b70838383611cf9565b6060600d805461098290612ca5565b610d2461045d611a5d565b610d405760405162461bcd60e51b8152600401610abd90612afd565b8051610d5390600d90602084019061259b565b5050565b610d6261045d611a5d565b610d7e5760405162461bcd60e51b8152600401610abd90612afd565b6001600160a01b03166000908152600e60205260409020805460ff19166001179055565b610dad61045d611a5d565b610dc95760405162461bcd60e51b8152600401610abd90612afd565b600f80546001600160a01b0319166001600160a01b0392909216919091179055565b610b7083838360405180602001604052806000815250611246565b610e1161045d611a5d565b610e2d5760405162461bcd60e51b8152600401610abd90612afd565b610c7881611e5d565b6000818152600260205260408120546001600160a01b0316806108cc5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610abd565b610ea161045d611a5d565b610ebd5760405162461bcd60e51b8152600401610abd90612afd565b60009182526016602090815260408084209284529190529020805460ff19166001179055565b60085415801590610f0457503360009081526007602052604090205460ff16155b15610f215760405162461bcd60e51b8152600401610abd90612afd565b6001600160a01b03811660009081526007602052604090205460ff1615610f455750565b6001600160a01b03166000818152600760205260408120805460ff191660019081179091556008805491820181559091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30180546001600160a01b0319169091179055565b610fb661045d611a5d565b610fd25760405162461bcd60e51b8152600401610abd90612afd565b8051610d5390600c90602084019061259b565b60006001600160a01b03821661104f5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610abd565b506001600160a01b031660009081526003602052604090205490565b61107661045d611a5d565b6110925760405162461bcd60e51b8152600401610abd90612afd565b601555601080546001600160a01b031916301790556011805460ff60a01b1916600160a01b179055565b6110c761045d611a5d565b6110e35760405162461bcd60e51b8152600401610abd90612afd565b8051610d5390600990602084019061259b565b60606001805461098290612ca5565b606060088054806020026020016040519081016040528092919081815260200182805480156109fb57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161113f575050505050905090565b610d53611171611a5d565b8383611e9d565b61118361045d611a5d565b61119f5760405162461bcd60e51b8152600401610abd90612afd565b601591909155601080546001600160a01b039092166001600160a01b03199092169190911790556011805460ff60a01b1916600160a01b179055565b6111e661045d611a5d565b6112025760405162461bcd60e51b8152600401610abd90612afd565b601292909255601355601455565b61121b61045d611a5d565b6112375760405162461bcd60e51b8152600401610abd90612afd565b6011805460ff60a01b19169055565b611257611251611a5d565b83611c7b565b6112735760405162461bcd60e51b8152600401610abd90612b3f565b61127f84848484611f6c565b50505050565b600c80546108df90612ca5565b601154600160a01b900460ff166112de5760405162461bcd60e51b815260206004820152601060248201526f53414c455f49535f494e41435449564560801b6044820152606401610abd565b60115460009081906001600160a01b03166113415760155434101561133a5760405162461bcd60e51b8152602060048201526012602482015271494e53554646494349454e545f56414c554560701b6044820152606401610abd565b5034611356565b50506011546015546001600160a01b03909116905b6010546040516331a9108f60e11b8152600481018590526001600160a01b03918216918716908290636352211e9060240160206040518083038186803b15801561139f57600080fd5b505afa1580156113b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d7919061271b565b6001600160a01b03161461141c5760405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b6044820152606401610abd565b600060646013548461142e9190612c43565b6114389190612c23565b9050600060646014548561144c9190612c43565b6114569190612c23565b90506000816114658487612c62565b61146f9190612c62565b9050801561154e576011546001600160a01b03166114c3576040516001600160a01b038a169082156108fc029083906000818181858888f193505050501580156114bd573d6000803e3d6000fd5b5061154e565b856001600160a01b03166323b872dd6114da611a5d565b8b846040518463ffffffff1660e01b81526004016114fa93929190612a3c565b602060405180830381600087803b15801561151457600080fd5b505af1158015611528573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061154c91906128d2565b505b821561162b576011546001600160a01b03166115a0576040516001600160a01b0389169084156108fc029085906000818181858888f1935050505015801561159a573d6000803e3d6000fd5b5061162b565b856001600160a01b03166323b872dd6115b7611a5d565b8a866040518463ffffffff1660e01b81526004016115d793929190612a3c565b602060405180830381600087803b1580156115f157600080fd5b505af1158015611605573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061162991906128d2565b505b811561171c576011546001600160a01b031661168157600f546040516001600160a01b039091169083156108fc029084906000818181858888f1935050505015801561167b573d6000803e3d6000fd5b5061171c565b856001600160a01b03166323b872dd611698611a5d565b600f546040516001600160e01b031960e085901b1681526116c892916001600160a01b0316908790600401612a3c565b602060405180830381600087803b1580156116e257600080fd5b505af11580156116f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061171a91906128d2565b505b836001600160a01b03166323b872dd8a611734611a5d565b8a6040518463ffffffff1660e01b815260040161175393929190612a3c565b600060405180830381600087803b15801561176d57600080fd5b505af1158015611781573d6000803e3d6000fd5b50505050505050505050505050565b606061179b82611a6c565b600082815260066020526040812080546117b490612ca5565b80601f01602080910402602001604051908101604052809291908181526020018280546117e090612ca5565b801561182d5780601f106118025761010080835404028352916020019161182d565b820191906000526020600020905b81548152906001019060200180831161181057829003601f168201915b50505050509050600061184b60408051602081019091526000815290565b905080516000141561185e575092915050565b815115611890578082604051602001611878929190612a0d565b60405160208183030381529060405292505050919050565b61189984611f9f565b949350505050565b60006118ae61045d611a5d565b6118ca5760405162461bcd60e51b8152600401610abd90612afd565b6118d8600b80546001019055565b60006118e3600b5490565b90506118ef8482612012565b6118f9818461219d565b9392505050565b61190b61045d611a5d565b6119275760405162461bcd60e51b8152600401610abd90612afd565b600a80546001600160a01b0319166001600160a01b03831617905550565b61195061045d611a5d565b61196c5760405162461bcd60e51b8152600401610abd90612afd565b610d5361197882610e36565b838360405180602001604052806000815250611f6c565b61199a61045d611a5d565b6119b65760405162461bcd60e51b8152600401610abd90612afd565b60009182526016602090815260408084209284529190529020805460ff19169055565b6000601436108015906119f65750600a546001600160a01b031633145b15611a08575060131936013560601c90565b503390565b60006001600160e01b031982166380ac58cd60e01b1480611a3e57506001600160e01b03198216635b5e139f60e01b145b806108cc57506301ffc9a760e01b6001600160e01b03198316146108cc565b6000611a676119d9565b905090565b6000818152600260205260409020546001600160a01b0316610c785760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610abd565b600081815260046020526040902080546001600160a01b0319166001600160a01b0384169081179091558190611b0082610e36565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60005b8254811015610b7057816001600160a01b0316838281548110611b6f57634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b03161415611c695782548390611b9a90600190612c62565b81548110611bb857634e487b7160e01b600052603260045260246000fd5b9060005260206000200160009054906101000a90046001600160a01b0316838281548110611bf657634e487b7160e01b600052603260045260246000fd5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555082805480611c4257634e487b7160e01b600052603160045260246000fd5b600082815260209020810160001990810180546001600160a01b0319169055019055505050565b80611c7381612ce0565b915050611b3c565b600080611c8783610e36565b9050806001600160a01b0316846001600160a01b03161480611cce57506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b806118995750836001600160a01b0316611ce784610a21565b6001600160a01b031614949350505050565b826001600160a01b0316611d0c82610e36565b6001600160a01b031614611d325760405162461bcd60e51b8152600401610abd90612bde565b6001600160a01b038216611d945760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610abd565b826001600160a01b0316611da782610e36565b6001600160a01b031614611dcd5760405162461bcd60e51b8152600401610abd90612bde565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b611e668161226f565b60008181526006602052604090208054611e7f90612ca5565b159050610c78576000818152600660205260408120610c789161261f565b816001600160a01b0316836001600160a01b03161415611eff5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610abd565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b611f77848484611cf9565b611f8384848484612304565b61127f5760405162461bcd60e51b8152600401610abd90612b8c565b6060611faa82611a6c565b6000611fc160408051602081019091526000815290565b90506000815111611fe157604051806020016040528060008152506118f9565b80611feb84612418565b604051602001611ffc929190612a0d565b6040516020818303038152906040529392505050565b6001600160a01b0382166120685760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610abd565b6000818152600260205260409020546001600160a01b0316156120cd5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610abd565b6000818152600260205260409020546001600160a01b0316156121325760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610abd565b6001600160a01b038216600081815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6000828152600260205260409020546001600160a01b03166122185760405162461bcd60e51b815260206004820152602e60248201527f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60448201526d32bc34b9ba32b73a103a37b5b2b760911b6064820152608401610abd565b600082815260066020908152604090912082516122379284019061259b565b506040518281527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a15050565b600061227a82610e36565b905061228582610e36565b600083815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0385168085526003845282852080546000190190558785526002909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b60006001600160a01b0384163b1561240d57836001600160a01b031663150b7a0261232d611a5d565b8786866040518563ffffffff1660e01b815260040161234f9493929190612a60565b602060405180830381600087803b15801561236957600080fd5b505af1925050508015612399575060408051601f3d908101601f191682019092526123969181019061290a565b60015b6123f3573d8080156123c7576040519150601f19603f3d011682016040523d82523d6000602084013e6123cc565b606091505b5080516123eb5760405162461bcd60e51b8152600401610abd90612b8c565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611899565b506001949350505050565b60606000612425836124c3565b600101905060008167ffffffffffffffff81111561245357634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f19166020018201604052801561247d576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a85049450846124b6576124bb565b612487565b509392505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106125025772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef8100000000831061252e576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061254c57662386f26fc10000830492506010015b6305f5e1008310612564576305f5e100830492506008015b612710831061257857612710830492506004015b6064831061258a576064830492506002015b600a83106108cc5760010192915050565b8280546125a790612ca5565b90600052602060002090601f0160209004810192826125c9576000855561260f565b82601f106125e257805160ff191683800117855561260f565b8280016001018555821561260f579182015b8281111561260f5782518255916020019190600101906125f4565b5061261b929150612655565b5090565b50805461262b90612ca5565b6000825580601f1061263b575050565b601f016020900490600052602060002090810190610c7891905b5b8082111561261b5760008155600101612656565b600067ffffffffffffffff8084111561268557612685612d11565b604051601f8501601f19908116603f011681019082821181831017156126ad576126ad612d11565b816040528093508581528686860111156126c657600080fd5b858560208301376000602087830101525050509392505050565b600082601f8301126126f0578081fd5b6118f98383356020850161266a565b600060208284031215612710578081fd5b81356118f981612d27565b60006020828403121561272c578081fd5b81516118f981612d27565b60008060408385031215612749578081fd5b823561275481612d27565b9150602083013561276481612d27565b809150509250929050565b600080600060608486031215612783578081fd5b833561278e81612d27565b9250602084013561279e81612d27565b929592945050506040919091013590565b600080600080608085870312156127c4578081fd5b84356127cf81612d27565b935060208501356127df81612d27565b925060408501359150606085013567ffffffffffffffff811115612801578182fd5b8501601f81018713612811578182fd5b6128208782356020840161266a565b91505092959194509250565b6000806040838503121561283e578182fd5b823561284981612d27565b9150602083013561276481612d3c565b6000806040838503121561286b578182fd5b823561287681612d27565b9150602083013567ffffffffffffffff811115612891578182fd5b61289d858286016126e0565b9150509250929050565b600080604083850312156128b9578182fd5b82356128c481612d27565b946020939093013593505050565b6000602082840312156128e3578081fd5b81516118f981612d3c565b6000602082840312156128ff578081fd5b81356118f981612d4a565b60006020828403121561291b578081fd5b81516118f981612d4a565b600060208284031215612937578081fd5b813567ffffffffffffffff81111561294d578182fd5b611899848285016126e0565b60006020828403121561296a578081fd5b5035919050565b60008060408385031215612983578081fd5b82359150602083013561276481612d27565b600080604083850312156129a7578182fd5b50508035926020909101359150565b6000806000606084860312156129ca578081fd5b505081359360208301359350604090920135919050565b600081518084526129f9816020860160208601612c79565b601f01601f19169290920160200192915050565b60008351612a1f818460208801612c79565b835190830190612a33818360208801612c79565b01949350505050565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090612a93908301846129e1565b9695505050505050565b6020808252825182820181905260009190848201906040850190845b81811015612ade5783516001600160a01b031683529284019291840191600101612ab9565b50909695505050505050565b6020815260006118f960208301846129e1565b60208082526022908201527f4f6e6c79206f776e65722063616e2063616c6c20746869732066756e6374696f604082015261371760f11b606082015260800190565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b600082612c3e57634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615612c5d57612c5d612cfb565b500290565b600082821015612c7457612c74612cfb565b500390565b60005b83811015612c94578181015183820152602001612c7c565b8381111561127f5750506000910152565b600181811c90821680612cb957607f821691505b60208210811415612cda57634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415612cf457612cf4612cfb565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114610c7857600080fd5b8015158114610c7857600080fd5b6001600160e01b031981168114610c7857600080fdfea264697066735822122016a1d9071173c1f4329190b745944c3f5c43130a0b1be773058b95a6e30d2fad64736f6c63430008040033",
876 "deployedBytecode": "0x6080604052600436106102725760003560e01c80637065cb481161014f578063b7ceb5f8116100c1578063d0def5211161007a578063d0def521146107a3578063d2d73963146107c3578063da742228146107fe578063e985e9c51461081e578063f17e48ec14610867578063f905434f1461088757600080fd5b8063b7ceb5f814610708578063b88d4fde1461071d578063bb4a6a5d1461073d578063c1d5725f14610752578063c87b56dd14610765578063ce1b815f1461078557600080fd5b806395d89b411161011357806395d89b41146106385780639eda8aae1461064d578063a0e67e2b14610686578063a22cb465146106a8578063a311e6b4146106c8578063abb9b577146106e857600080fd5b80637065cb481461058a5780637075c269146105aa57806370a08231146105ca5780637ab12bb6146105f857806390c3f38f1461061857600080fd5b806323b872dd116101e85780633f516018116101ac5780633f516018146104bb57806342842e0e146104db57806342966c68146104fb578063572b6c051461051b5780636352211e1461054a5780636df04a331461056a57600080fd5b806323b872dd1461040d57806324c85a091461042d5780632f54bf6e14610442578063331e29f41461047b5780633c695e391461049b57600080fd5b8063095ea7b31161023a578063095ea7b31461033057806309f5b226146103525780630d8e6e2c14610372578063173825d9146103b85780631a092541146103d85780631df5c02c146103ed57600080fd5b806301ffc9a714610277578063055789b7146102ac57806305cb3d7e146102ce57806306fdde03146102e3578063081812fc146102f8575b600080fd5b34801561028357600080fd5b506102976102923660046128ee565b6108a7565b60405190151581526020015b60405180910390f35b3480156102b857600080fd5b506102c16108d2565b6040516102a39190612aea565b3480156102da57600080fd5b506102c1610960565b3480156102ef57600080fd5b506102c1610a12565b34801561030457600080fd5b50610318610313366004612959565b610a21565b6040516001600160a01b0390911681526020016102a3565b34801561033c57600080fd5b5061035061034b3660046128a7565b610a48565b005b34801561035e57600080fd5b5061035061036d3660046126ff565b610b75565b34801561037e57600080fd5b5060408051808201909152601881527f436f6d62696e6564436f6e7472616374207620302e302e32000000000000000060208201526102c1565b3480156103c457600080fd5b506103506103d33660046126ff565b610bbe565b3480156103e457600080fd5b506102c1610c7b565b3480156103f957600080fd5b506103506104083660046126ff565b610c8a565b34801561041957600080fd5b5061035061042836600461276f565b610cd2565b34801561043957600080fd5b506102c1610d0a565b34801561044e57600080fd5b5061029761045d3660046126ff565b6001600160a01b031660009081526007602052604090205460ff1690565b34801561048757600080fd5b50610350610496366004612926565b610d19565b3480156104a757600080fd5b506103506104b63660046126ff565b610d57565b3480156104c757600080fd5b506103506104d63660046126ff565b610da2565b3480156104e757600080fd5b506103506104f636600461276f565b610deb565b34801561050757600080fd5b50610350610516366004612959565b610e06565b34801561052757600080fd5b506102976105363660046126ff565b600a546001600160a01b0391821691161490565b34801561055657600080fd5b50610318610565366004612959565b610e36565b34801561057657600080fd5b50610350610585366004612995565b610e96565b34801561059657600080fd5b506103506105a53660046126ff565b610ee3565b3480156105b657600080fd5b506103506105c5366004612926565b610fab565b3480156105d657600080fd5b506105ea6105e53660046126ff565b610fe5565b6040519081526020016102a3565b34801561060457600080fd5b50610350610613366004612959565b61106b565b34801561062457600080fd5b50610350610633366004612926565b6110bc565b34801561064457600080fd5b506102c16110f6565b34801561065957600080fd5b506102976106683660046126ff565b6001600160a01b03166000908152600e602052604090205460ff1690565b34801561069257600080fd5b5061069b611105565b6040516102a39190612a9d565b3480156106b457600080fd5b506103506106c336600461282c565b611166565b3480156106d457600080fd5b506103506106e3366004612971565b611178565b3480156106f457600080fd5b506103506107033660046129b6565b6111db565b34801561071457600080fd5b50610350611210565b34801561072957600080fd5b506103506107383660046127af565b611246565b34801561074957600080fd5b506102c1611285565b61035061076036600461276f565b611292565b34801561077157600080fd5b506102c1610780366004612959565b611790565b34801561079157600080fd5b50600a546001600160a01b0316610318565b3480156107af57600080fd5b506105ea6107be366004612859565b6118a1565b3480156107cf57600080fd5b506102976107de366004612995565b600091825260166020908152604080842092845291905290205460ff1690565b34801561080a57600080fd5b506103506108193660046126ff565b611900565b34801561082a57600080fd5b50610297610839366004612737565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b34801561087357600080fd5b506103506108823660046128a7565b611945565b34801561089357600080fd5b506103506108a2366004612995565b61198f565b60006001600160e01b03198216632483248360e11b14806108cc57506108cc82611a0d565b92915050565b600d80546108df90612ca5565b80601f016020809104026020016040519081016040528092919081815260200182805461090b90612ca5565b80156109585780601f1061092d57610100808354040283529160200191610958565b820191906000526020600020905b81548152906001019060200180831161093b57829003601f168201915b505050505081565b6060600061096f6105e5611a5d565b1115610a0557600d805461098290612ca5565b80601f01602080910402602001604051908101604052809291908181526020018280546109ae90612ca5565b80156109fb5780601f106109d0576101008083540402835291602001916109fb565b820191906000526020600020905b8154815290600101906020018083116109de57829003601f168201915b5050505050905090565b600c805461098290612ca5565b60606000805461098290612ca5565b6000610a2c82611a6c565b506000908152600460205260409020546001600160a01b031690565b6000610a5382610e36565b9050806001600160a01b0316836001600160a01b03161415610ac65760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b806001600160a01b0316610ad8611a5d565b6001600160a01b03161480610af45750610af481610839611a5d565b610b665760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610abd565b610b708383611acb565b505050565b610b8061045d611a5d565b610b9c5760405162461bcd60e51b8152600401610abd90612afd565b601180546001600160a01b0319166001600160a01b0392909216919091179055565b610bc961045d611a5d565b610be55760405162461bcd60e51b8152600401610abd90612afd565b6001600160a01b03811660009081526007602052604090205460ff16610c4d5760405162461bcd60e51b815260206004820152601e60248201527f5461726765742061646472657373206973206e6f7420616e206f776e657200006044820152606401610abd565b6001600160a01b0381166000908152600760205260409020805460ff19169055610c78600882611b39565b50565b60606009805461098290612ca5565b610c9561045d611a5d565b610cb15760405162461bcd60e51b8152600401610abd90612afd565b6001600160a01b03166000908152600e60205260409020805460ff19169055565b610ce3610cdd611a5d565b82611c7b565b610cff5760405162461bcd60e51b8152600401610abd90612b3f565b610b70838383611cf9565b6060600d805461098290612ca5565b610d2461045d611a5d565b610d405760405162461bcd60e51b8152600401610abd90612afd565b8051610d5390600d90602084019061259b565b5050565b610d6261045d611a5d565b610d7e5760405162461bcd60e51b8152600401610abd90612afd565b6001600160a01b03166000908152600e60205260409020805460ff19166001179055565b610dad61045d611a5d565b610dc95760405162461bcd60e51b8152600401610abd90612afd565b600f80546001600160a01b0319166001600160a01b0392909216919091179055565b610b7083838360405180602001604052806000815250611246565b610e1161045d611a5d565b610e2d5760405162461bcd60e51b8152600401610abd90612afd565b610c7881611e5d565b6000818152600260205260408120546001600160a01b0316806108cc5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610abd565b610ea161045d611a5d565b610ebd5760405162461bcd60e51b8152600401610abd90612afd565b60009182526016602090815260408084209284529190529020805460ff19166001179055565b60085415801590610f0457503360009081526007602052604090205460ff16155b15610f215760405162461bcd60e51b8152600401610abd90612afd565b6001600160a01b03811660009081526007602052604090205460ff1615610f455750565b6001600160a01b03166000818152600760205260408120805460ff191660019081179091556008805491820181559091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30180546001600160a01b0319169091179055565b610fb661045d611a5d565b610fd25760405162461bcd60e51b8152600401610abd90612afd565b8051610d5390600c90602084019061259b565b60006001600160a01b03821661104f5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610abd565b506001600160a01b031660009081526003602052604090205490565b61107661045d611a5d565b6110925760405162461bcd60e51b8152600401610abd90612afd565b601555601080546001600160a01b031916301790556011805460ff60a01b1916600160a01b179055565b6110c761045d611a5d565b6110e35760405162461bcd60e51b8152600401610abd90612afd565b8051610d5390600990602084019061259b565b60606001805461098290612ca5565b606060088054806020026020016040519081016040528092919081815260200182805480156109fb57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161113f575050505050905090565b610d53611171611a5d565b8383611e9d565b61118361045d611a5d565b61119f5760405162461bcd60e51b8152600401610abd90612afd565b601591909155601080546001600160a01b039092166001600160a01b03199092169190911790556011805460ff60a01b1916600160a01b179055565b6111e661045d611a5d565b6112025760405162461bcd60e51b8152600401610abd90612afd565b601292909255601355601455565b61121b61045d611a5d565b6112375760405162461bcd60e51b8152600401610abd90612afd565b6011805460ff60a01b19169055565b611257611251611a5d565b83611c7b565b6112735760405162461bcd60e51b8152600401610abd90612b3f565b61127f84848484611f6c565b50505050565b600c80546108df90612ca5565b601154600160a01b900460ff166112de5760405162461bcd60e51b815260206004820152601060248201526f53414c455f49535f494e41435449564560801b6044820152606401610abd565b60115460009081906001600160a01b03166113415760155434101561133a5760405162461bcd60e51b8152602060048201526012602482015271494e53554646494349454e545f56414c554560701b6044820152606401610abd565b5034611356565b50506011546015546001600160a01b03909116905b6010546040516331a9108f60e11b8152600481018590526001600160a01b03918216918716908290636352211e9060240160206040518083038186803b15801561139f57600080fd5b505afa1580156113b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d7919061271b565b6001600160a01b03161461141c5760405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b6044820152606401610abd565b600060646013548461142e9190612c43565b6114389190612c23565b9050600060646014548561144c9190612c43565b6114569190612c23565b90506000816114658487612c62565b61146f9190612c62565b9050801561154e576011546001600160a01b03166114c3576040516001600160a01b038a169082156108fc029083906000818181858888f193505050501580156114bd573d6000803e3d6000fd5b5061154e565b856001600160a01b03166323b872dd6114da611a5d565b8b846040518463ffffffff1660e01b81526004016114fa93929190612a3c565b602060405180830381600087803b15801561151457600080fd5b505af1158015611528573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061154c91906128d2565b505b821561162b576011546001600160a01b03166115a0576040516001600160a01b0389169084156108fc029085906000818181858888f1935050505015801561159a573d6000803e3d6000fd5b5061162b565b856001600160a01b03166323b872dd6115b7611a5d565b8a866040518463ffffffff1660e01b81526004016115d793929190612a3c565b602060405180830381600087803b1580156115f157600080fd5b505af1158015611605573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061162991906128d2565b505b811561171c576011546001600160a01b031661168157600f546040516001600160a01b039091169083156108fc029084906000818181858888f1935050505015801561167b573d6000803e3d6000fd5b5061171c565b856001600160a01b03166323b872dd611698611a5d565b600f546040516001600160e01b031960e085901b1681526116c892916001600160a01b0316908790600401612a3c565b602060405180830381600087803b1580156116e257600080fd5b505af11580156116f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061171a91906128d2565b505b836001600160a01b03166323b872dd8a611734611a5d565b8a6040518463ffffffff1660e01b815260040161175393929190612a3c565b600060405180830381600087803b15801561176d57600080fd5b505af1158015611781573d6000803e3d6000fd5b50505050505050505050505050565b606061179b82611a6c565b600082815260066020526040812080546117b490612ca5565b80601f01602080910402602001604051908101604052809291908181526020018280546117e090612ca5565b801561182d5780601f106118025761010080835404028352916020019161182d565b820191906000526020600020905b81548152906001019060200180831161181057829003601f168201915b50505050509050600061184b60408051602081019091526000815290565b905080516000141561185e575092915050565b815115611890578082604051602001611878929190612a0d565b60405160208183030381529060405292505050919050565b61189984611f9f565b949350505050565b60006118ae61045d611a5d565b6118ca5760405162461bcd60e51b8152600401610abd90612afd565b6118d8600b80546001019055565b60006118e3600b5490565b90506118ef8482612012565b6118f9818461219d565b9392505050565b61190b61045d611a5d565b6119275760405162461bcd60e51b8152600401610abd90612afd565b600a80546001600160a01b0319166001600160a01b03831617905550565b61195061045d611a5d565b61196c5760405162461bcd60e51b8152600401610abd90612afd565b610d5361197882610e36565b838360405180602001604052806000815250611f6c565b61199a61045d611a5d565b6119b65760405162461bcd60e51b8152600401610abd90612afd565b60009182526016602090815260408084209284529190529020805460ff19169055565b6000601436108015906119f65750600a546001600160a01b031633145b15611a08575060131936013560601c90565b503390565b60006001600160e01b031982166380ac58cd60e01b1480611a3e57506001600160e01b03198216635b5e139f60e01b145b806108cc57506301ffc9a760e01b6001600160e01b03198316146108cc565b6000611a676119d9565b905090565b6000818152600260205260409020546001600160a01b0316610c785760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610abd565b600081815260046020526040902080546001600160a01b0319166001600160a01b0384169081179091558190611b0082610e36565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60005b8254811015610b7057816001600160a01b0316838281548110611b6f57634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b03161415611c695782548390611b9a90600190612c62565b81548110611bb857634e487b7160e01b600052603260045260246000fd5b9060005260206000200160009054906101000a90046001600160a01b0316838281548110611bf657634e487b7160e01b600052603260045260246000fd5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555082805480611c4257634e487b7160e01b600052603160045260246000fd5b600082815260209020810160001990810180546001600160a01b0319169055019055505050565b80611c7381612ce0565b915050611b3c565b600080611c8783610e36565b9050806001600160a01b0316846001600160a01b03161480611cce57506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b806118995750836001600160a01b0316611ce784610a21565b6001600160a01b031614949350505050565b826001600160a01b0316611d0c82610e36565b6001600160a01b031614611d325760405162461bcd60e51b8152600401610abd90612bde565b6001600160a01b038216611d945760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610abd565b826001600160a01b0316611da782610e36565b6001600160a01b031614611dcd5760405162461bcd60e51b8152600401610abd90612bde565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b611e668161226f565b60008181526006602052604090208054611e7f90612ca5565b159050610c78576000818152600660205260408120610c789161261f565b816001600160a01b0316836001600160a01b03161415611eff5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610abd565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b611f77848484611cf9565b611f8384848484612304565b61127f5760405162461bcd60e51b8152600401610abd90612b8c565b6060611faa82611a6c565b6000611fc160408051602081019091526000815290565b90506000815111611fe157604051806020016040528060008152506118f9565b80611feb84612418565b604051602001611ffc929190612a0d565b6040516020818303038152906040529392505050565b6001600160a01b0382166120685760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610abd565b6000818152600260205260409020546001600160a01b0316156120cd5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610abd565b6000818152600260205260409020546001600160a01b0316156121325760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610abd565b6001600160a01b038216600081815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6000828152600260205260409020546001600160a01b03166122185760405162461bcd60e51b815260206004820152602e60248201527f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60448201526d32bc34b9ba32b73a103a37b5b2b760911b6064820152608401610abd565b600082815260066020908152604090912082516122379284019061259b565b506040518281527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a15050565b600061227a82610e36565b905061228582610e36565b600083815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0385168085526003845282852080546000190190558785526002909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b60006001600160a01b0384163b1561240d57836001600160a01b031663150b7a0261232d611a5d565b8786866040518563ffffffff1660e01b815260040161234f9493929190612a60565b602060405180830381600087803b15801561236957600080fd5b505af1925050508015612399575060408051601f3d908101601f191682019092526123969181019061290a565b60015b6123f3573d8080156123c7576040519150601f19603f3d011682016040523d82523d6000602084013e6123cc565b606091505b5080516123eb5760405162461bcd60e51b8152600401610abd90612b8c565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611899565b506001949350505050565b60606000612425836124c3565b600101905060008167ffffffffffffffff81111561245357634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f19166020018201604052801561247d576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a85049450846124b6576124bb565b612487565b509392505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106125025772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef8100000000831061252e576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061254c57662386f26fc10000830492506010015b6305f5e1008310612564576305f5e100830492506008015b612710831061257857612710830492506004015b6064831061258a576064830492506002015b600a83106108cc5760010192915050565b8280546125a790612ca5565b90600052602060002090601f0160209004810192826125c9576000855561260f565b82601f106125e257805160ff191683800117855561260f565b8280016001018555821561260f579182015b8281111561260f5782518255916020019190600101906125f4565b5061261b929150612655565b5090565b50805461262b90612ca5565b6000825580601f1061263b575050565b601f016020900490600052602060002090810190610c7891905b5b8082111561261b5760008155600101612656565b600067ffffffffffffffff8084111561268557612685612d11565b604051601f8501601f19908116603f011681019082821181831017156126ad576126ad612d11565b816040528093508581528686860111156126c657600080fd5b858560208301376000602087830101525050509392505050565b600082601f8301126126f0578081fd5b6118f98383356020850161266a565b600060208284031215612710578081fd5b81356118f981612d27565b60006020828403121561272c578081fd5b81516118f981612d27565b60008060408385031215612749578081fd5b823561275481612d27565b9150602083013561276481612d27565b809150509250929050565b600080600060608486031215612783578081fd5b833561278e81612d27565b9250602084013561279e81612d27565b929592945050506040919091013590565b600080600080608085870312156127c4578081fd5b84356127cf81612d27565b935060208501356127df81612d27565b925060408501359150606085013567ffffffffffffffff811115612801578182fd5b8501601f81018713612811578182fd5b6128208782356020840161266a565b91505092959194509250565b6000806040838503121561283e578182fd5b823561284981612d27565b9150602083013561276481612d3c565b6000806040838503121561286b578182fd5b823561287681612d27565b9150602083013567ffffffffffffffff811115612891578182fd5b61289d858286016126e0565b9150509250929050565b600080604083850312156128b9578182fd5b82356128c481612d27565b946020939093013593505050565b6000602082840312156128e3578081fd5b81516118f981612d3c565b6000602082840312156128ff578081fd5b81356118f981612d4a565b60006020828403121561291b578081fd5b81516118f981612d4a565b600060208284031215612937578081fd5b813567ffffffffffffffff81111561294d578182fd5b611899848285016126e0565b60006020828403121561296a578081fd5b5035919050565b60008060408385031215612983578081fd5b82359150602083013561276481612d27565b600080604083850312156129a7578182fd5b50508035926020909101359150565b6000806000606084860312156129ca578081fd5b505081359360208301359350604090920135919050565b600081518084526129f9816020860160208601612c79565b601f01601f19169290920160200192915050565b60008351612a1f818460208801612c79565b835190830190612a33818360208801612c79565b01949350505050565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090612a93908301846129e1565b9695505050505050565b6020808252825182820181905260009190848201906040850190845b81811015612ade5783516001600160a01b031683529284019291840191600101612ab9565b50909695505050505050565b6020815260006118f960208301846129e1565b60208082526022908201527f4f6e6c79206f776e65722063616e2063616c6c20746869732066756e6374696f604082015261371760f11b606082015260800190565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b600082612c3e57634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615612c5d57612c5d612cfb565b500290565b600082821015612c7457612c74612cfb565b500390565b60005b83811015612c94578181015183820152602001612c7c565b8381111561127f5750506000910152565b600181811c90821680612cb957607f821691505b60208210811415612cda57634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415612cf457612cf4612cfb565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114610c7857600080fd5b8015158114610c7857600080fd5b6001600160e01b031981168114610c7857600080fdfea264697066735822122016a1d9071173c1f4329190b745944c3f5c43130a0b1be773058b95a6e30d2fad64736f6c63430008040033",
877 "linkReferences": {},
878 "deployedLinkReferences": {}
879}