UNPKG

53.4 kBJSONView Raw
1{
2 "_format": "hh-sol-artifact-1",
3 "contractName": "AdDeComContract",
4 "sourceName": "contracts/tokens/AdDeComContract.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": "address",
133 "name": "customerAddress",
134 "type": "address"
135 }
136 ],
137 "name": "addAuthorizedReseller",
138 "outputs": [],
139 "stateMutability": "nonpayable",
140 "type": "function"
141 },
142 {
143 "inputs": [
144 {
145 "internalType": "address",
146 "name": "newOwner",
147 "type": "address"
148 }
149 ],
150 "name": "addOwner",
151 "outputs": [],
152 "stateMutability": "nonpayable",
153 "type": "function"
154 },
155 {
156 "inputs": [
157 {
158 "internalType": "address",
159 "name": "to",
160 "type": "address"
161 },
162 {
163 "internalType": "uint256",
164 "name": "tokenId",
165 "type": "uint256"
166 }
167 ],
168 "name": "adminTransfer",
169 "outputs": [],
170 "stateMutability": "nonpayable",
171 "type": "function"
172 },
173 {
174 "inputs": [
175 {
176 "internalType": "address",
177 "name": "to",
178 "type": "address"
179 },
180 {
181 "internalType": "uint256",
182 "name": "tokenId",
183 "type": "uint256"
184 }
185 ],
186 "name": "approve",
187 "outputs": [],
188 "stateMutability": "nonpayable",
189 "type": "function"
190 },
191 {
192 "inputs": [
193 {
194 "internalType": "address",
195 "name": "owner",
196 "type": "address"
197 }
198 ],
199 "name": "balanceOf",
200 "outputs": [
201 {
202 "internalType": "uint256",
203 "name": "",
204 "type": "uint256"
205 }
206 ],
207 "stateMutability": "view",
208 "type": "function"
209 },
210 {
211 "inputs": [
212 {
213 "internalType": "uint256",
214 "name": "tokenId",
215 "type": "uint256"
216 }
217 ],
218 "name": "burn",
219 "outputs": [],
220 "stateMutability": "nonpayable",
221 "type": "function"
222 },
223 {
224 "inputs": [
225 {
226 "internalType": "uint256",
227 "name": "tokenId",
228 "type": "uint256"
229 }
230 ],
231 "name": "getApproved",
232 "outputs": [
233 {
234 "internalType": "address",
235 "name": "",
236 "type": "address"
237 }
238 ],
239 "stateMutability": "view",
240 "type": "function"
241 },
242 {
243 "inputs": [],
244 "name": "getDescription",
245 "outputs": [
246 {
247 "internalType": "string",
248 "name": "",
249 "type": "string"
250 }
251 ],
252 "stateMutability": "view",
253 "type": "function"
254 },
255 {
256 "inputs": [],
257 "name": "getOwners",
258 "outputs": [
259 {
260 "internalType": "address[]",
261 "name": "",
262 "type": "address[]"
263 }
264 ],
265 "stateMutability": "view",
266 "type": "function"
267 },
268 {
269 "inputs": [],
270 "name": "getTrustedForwarder",
271 "outputs": [
272 {
273 "internalType": "address",
274 "name": "forwarder",
275 "type": "address"
276 }
277 ],
278 "stateMutability": "view",
279 "type": "function"
280 },
281 {
282 "inputs": [],
283 "name": "getVersion",
284 "outputs": [
285 {
286 "internalType": "string",
287 "name": "",
288 "type": "string"
289 }
290 ],
291 "stateMutability": "pure",
292 "type": "function"
293 },
294 {
295 "inputs": [
296 {
297 "internalType": "address",
298 "name": "owner",
299 "type": "address"
300 },
301 {
302 "internalType": "address",
303 "name": "operator",
304 "type": "address"
305 }
306 ],
307 "name": "isApprovedForAll",
308 "outputs": [
309 {
310 "internalType": "bool",
311 "name": "",
312 "type": "bool"
313 }
314 ],
315 "stateMutability": "view",
316 "type": "function"
317 },
318 {
319 "inputs": [
320 {
321 "internalType": "address",
322 "name": "customerAddress",
323 "type": "address"
324 }
325 ],
326 "name": "isAuthorizedReseller",
327 "outputs": [
328 {
329 "internalType": "bool",
330 "name": "",
331 "type": "bool"
332 }
333 ],
334 "stateMutability": "view",
335 "type": "function"
336 },
337 {
338 "inputs": [
339 {
340 "internalType": "address",
341 "name": "addr",
342 "type": "address"
343 }
344 ],
345 "name": "isOwner",
346 "outputs": [
347 {
348 "internalType": "bool",
349 "name": "",
350 "type": "bool"
351 }
352 ],
353 "stateMutability": "view",
354 "type": "function"
355 },
356 {
357 "inputs": [
358 {
359 "internalType": "address",
360 "name": "forwarder",
361 "type": "address"
362 }
363 ],
364 "name": "isTrustedForwarder",
365 "outputs": [
366 {
367 "internalType": "bool",
368 "name": "",
369 "type": "bool"
370 }
371 ],
372 "stateMutability": "view",
373 "type": "function"
374 },
375 {
376 "inputs": [
377 {
378 "internalType": "address",
379 "name": "recipient",
380 "type": "address"
381 },
382 {
383 "internalType": "string",
384 "name": "tokenURI",
385 "type": "string"
386 }
387 ],
388 "name": "mint",
389 "outputs": [
390 {
391 "internalType": "uint256",
392 "name": "",
393 "type": "uint256"
394 }
395 ],
396 "stateMutability": "nonpayable",
397 "type": "function"
398 },
399 {
400 "inputs": [],
401 "name": "name",
402 "outputs": [
403 {
404 "internalType": "string",
405 "name": "",
406 "type": "string"
407 }
408 ],
409 "stateMutability": "view",
410 "type": "function"
411 },
412 {
413 "inputs": [
414 {
415 "internalType": "uint256",
416 "name": "tokenId",
417 "type": "uint256"
418 }
419 ],
420 "name": "ownerOf",
421 "outputs": [
422 {
423 "internalType": "address",
424 "name": "",
425 "type": "address"
426 }
427 ],
428 "stateMutability": "view",
429 "type": "function"
430 },
431 {
432 "inputs": [],
433 "name": "ownerRenderData",
434 "outputs": [
435 {
436 "internalType": "string",
437 "name": "",
438 "type": "string"
439 }
440 ],
441 "stateMutability": "view",
442 "type": "function"
443 },
444 {
445 "inputs": [
446 {
447 "internalType": "uint256",
448 "name": "unitID",
449 "type": "uint256"
450 }
451 ],
452 "name": "readAdRenderData",
453 "outputs": [
454 {
455 "internalType": "string",
456 "name": "",
457 "type": "string"
458 }
459 ],
460 "stateMutability": "view",
461 "type": "function"
462 },
463 {
464 "inputs": [],
465 "name": "readOwnerRenderData",
466 "outputs": [
467 {
468 "internalType": "string",
469 "name": "",
470 "type": "string"
471 }
472 ],
473 "stateMutability": "view",
474 "type": "function"
475 },
476 {
477 "inputs": [],
478 "name": "readRenderData",
479 "outputs": [
480 {
481 "internalType": "string",
482 "name": "",
483 "type": "string"
484 }
485 ],
486 "stateMutability": "view",
487 "type": "function"
488 },
489 {
490 "inputs": [
491 {
492 "internalType": "address",
493 "name": "customerAddress",
494 "type": "address"
495 }
496 ],
497 "name": "removeAuthorizedReseller",
498 "outputs": [],
499 "stateMutability": "nonpayable",
500 "type": "function"
501 },
502 {
503 "inputs": [
504 {
505 "internalType": "address",
506 "name": "owner",
507 "type": "address"
508 }
509 ],
510 "name": "removeOwner",
511 "outputs": [],
512 "stateMutability": "nonpayable",
513 "type": "function"
514 },
515 {
516 "inputs": [],
517 "name": "renderData",
518 "outputs": [
519 {
520 "internalType": "string",
521 "name": "",
522 "type": "string"
523 }
524 ],
525 "stateMutability": "view",
526 "type": "function"
527 },
528 {
529 "inputs": [
530 {
531 "internalType": "address",
532 "name": "from",
533 "type": "address"
534 },
535 {
536 "internalType": "address",
537 "name": "to",
538 "type": "address"
539 },
540 {
541 "internalType": "uint256",
542 "name": "tokenId",
543 "type": "uint256"
544 }
545 ],
546 "name": "safeTransferFrom",
547 "outputs": [],
548 "stateMutability": "nonpayable",
549 "type": "function"
550 },
551 {
552 "inputs": [
553 {
554 "internalType": "address",
555 "name": "from",
556 "type": "address"
557 },
558 {
559 "internalType": "address",
560 "name": "to",
561 "type": "address"
562 },
563 {
564 "internalType": "uint256",
565 "name": "tokenId",
566 "type": "uint256"
567 },
568 {
569 "internalType": "bytes",
570 "name": "data",
571 "type": "bytes"
572 }
573 ],
574 "name": "safeTransferFrom",
575 "outputs": [],
576 "stateMutability": "nonpayable",
577 "type": "function"
578 },
579 {
580 "inputs": [
581 {
582 "internalType": "address",
583 "name": "operator",
584 "type": "address"
585 },
586 {
587 "internalType": "bool",
588 "name": "approved",
589 "type": "bool"
590 }
591 ],
592 "name": "setApprovalForAll",
593 "outputs": [],
594 "stateMutability": "nonpayable",
595 "type": "function"
596 },
597 {
598 "inputs": [
599 {
600 "internalType": "string",
601 "name": "description",
602 "type": "string"
603 }
604 ],
605 "name": "setDescription",
606 "outputs": [],
607 "stateMutability": "nonpayable",
608 "type": "function"
609 },
610 {
611 "inputs": [
612 {
613 "internalType": "address",
614 "name": "_forwarder",
615 "type": "address"
616 }
617 ],
618 "name": "setTrustedForwarder",
619 "outputs": [],
620 "stateMutability": "nonpayable",
621 "type": "function"
622 },
623 {
624 "inputs": [
625 {
626 "internalType": "bytes4",
627 "name": "interfaceId",
628 "type": "bytes4"
629 }
630 ],
631 "name": "supportsInterface",
632 "outputs": [
633 {
634 "internalType": "bool",
635 "name": "",
636 "type": "bool"
637 }
638 ],
639 "stateMutability": "view",
640 "type": "function"
641 },
642 {
643 "inputs": [],
644 "name": "symbol",
645 "outputs": [
646 {
647 "internalType": "string",
648 "name": "",
649 "type": "string"
650 }
651 ],
652 "stateMutability": "view",
653 "type": "function"
654 },
655 {
656 "inputs": [
657 {
658 "internalType": "uint256",
659 "name": "tokenId",
660 "type": "uint256"
661 }
662 ],
663 "name": "tokenURI",
664 "outputs": [
665 {
666 "internalType": "string",
667 "name": "",
668 "type": "string"
669 }
670 ],
671 "stateMutability": "view",
672 "type": "function"
673 },
674 {
675 "inputs": [
676 {
677 "internalType": "address",
678 "name": "from",
679 "type": "address"
680 },
681 {
682 "internalType": "address",
683 "name": "to",
684 "type": "address"
685 },
686 {
687 "internalType": "uint256",
688 "name": "tokenId",
689 "type": "uint256"
690 }
691 ],
692 "name": "transferFrom",
693 "outputs": [],
694 "stateMutability": "nonpayable",
695 "type": "function"
696 },
697 {
698 "inputs": [
699 {
700 "internalType": "uint256",
701 "name": "unitID",
702 "type": "uint256"
703 },
704 {
705 "internalType": "string",
706 "name": "HTMLstring",
707 "type": "string"
708 }
709 ],
710 "name": "writeAdRenderData",
711 "outputs": [],
712 "stateMutability": "nonpayable",
713 "type": "function"
714 },
715 {
716 "inputs": [
717 {
718 "internalType": "string",
719 "name": "HTMLstring",
720 "type": "string"
721 }
722 ],
723 "name": "writeOwnerRenderData",
724 "outputs": [],
725 "stateMutability": "nonpayable",
726 "type": "function"
727 },
728 {
729 "inputs": [
730 {
731 "internalType": "string",
732 "name": "HTMLstring",
733 "type": "string"
734 }
735 ],
736 "name": "writeRenderData",
737 "outputs": [],
738 "stateMutability": "nonpayable",
739 "type": "function"
740 }
741 ],
742 "bytecode": "0x60806040523480156200001157600080fd5b506040516200272a3803806200272a833981016040819052620000349162000342565b81818181816000908051906020019062000050929190620001e9565b50805162000066906001906020840190620001e9565b505050620000836200007d6200008d60201b60201c565b620000a9565b50505050620003fc565b6000620000a4620001b360201b6200104c1760201c565b905090565b60085415801590620000cb57503360009081526007602052604090205460ff16155b15620001285760405162461bcd60e51b815260206004820152602260248201527f4f6e6c79206f776e65722063616e2063616c6c20746869732066756e6374696f604482015261371760f11b606482015260840160405180910390fd5b6001600160a01b03811660009081526007602052604090205460ff16156200014d5750565b6001600160a01b03166000818152600760205260408120805460ff191660019081179091556008805491820181559091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30180546001600160a01b0319169091179055565b600060143610801590620001d15750600a546001600160a01b031633145b15620001e4575060131936013560601c90565b503390565b828054620001f790620003a9565b90600052602060002090601f0160209004810192826200021b576000855562000266565b82601f106200023657805160ff191683800117855562000266565b8280016001018555821562000266579182015b828111156200026657825182559160200191906001019062000249565b506200027492915062000278565b5090565b5b8082111562000274576000815560010162000279565b600082601f830112620002a0578081fd5b81516001600160401b0380821115620002bd57620002bd620003e6565b604051601f8301601f19908116603f01168101908282118183101715620002e857620002e8620003e6565b8160405283815260209250868385880101111562000304578485fd5b8491505b8382101562000327578582018301518183018401529082019062000308565b838211156200033857848385830101525b9695505050505050565b6000806040838503121562000355578182fd5b82516001600160401b03808211156200036c578384fd5b6200037a868387016200028f565b9350602085015191508082111562000390578283fd5b506200039f858286016200028f565b9150509250929050565b600181811c90821680620003be57607f821691505b60208210811415620003e057634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052604160045260246000fd5b61231e806200040c6000396000f3fe608060405234801561001057600080fd5b50600436106102275760003560e01c8063572b6c0511610130578063a0e67e2b116100b8578063ce1b815f1161007c578063ce1b815f146104f2578063d0def52114610503578063da74222814610516578063e985e9c514610529578063f17e48ec1461056557600080fd5b8063a0e67e2b1461049c578063a22cb465146104b1578063b88d4fde146104c4578063bb4a6a5d146104d7578063c87b56dd146104df57600080fd5b806370a08231116100ff57806370a082311461042157806390c3f38f1461044257806395d89b4114610455578063973e132c1461045d5780639eda8aae1461047057600080fd5b8063572b6c05146103c65780636352211e146103e85780637065cb48146103fb5780637075c2691461040e57600080fd5b80631a092541116101b35780632f54bf6e116101825780632f54bf6e1461034e578063331e29f41461037a5780633c695e391461038d57806342842e0e146103a057806342966c68146103b357600080fd5b80631a092541146103185780631df5c02c1461032057806323b872dd1461033357806324c85a091461034657600080fd5b8063081812fc116101fa578063081812fc14610279578063095ea7b3146102a45780630d8e6e2c146102b95780631378bd93146102f2578063173825d91461030557600080fd5b806301ffc9a71461022c578063055789b71461025457806305cb3d7e1461026957806306fdde0314610271575b600080fd5b61023f61023a366004611f3d565b610578565b60405190151581526020015b60405180910390f35b61025c6105a3565b60405161024b91906120d4565b61025c610631565b61025c6106e3565b61028c610287366004611fa8565b6106f2565b6040516001600160a01b03909116815260200161024b565b6102b76102b2366004611f14565b610719565b005b60408051808201909152601781527f41644465436f6d436f6e7472616374207620302e302e31000000000000000000602082015261025c565b61025c610300366004611fa8565b610846565b6102b7610313366004611d8e565b6108e8565b61025c6109a5565b6102b761032e366004611d8e565b6109b4565b6102b7610341366004611dda565b6109fc565b61025c610a34565b61023f61035c366004611d8e565b6001600160a01b031660009081526007602052604090205460ff1690565b6102b7610388366004611f75565b610a43565b6102b761039b366004611d8e565b610a81565b6102b76103ae366004611dda565b610acc565b6102b76103c1366004611fa8565b610ae7565b61023f6103d4366004611d8e565b600a546001600160a01b0391821691161490565b61028c6103f6366004611fa8565b610b17565b6102b7610409366004611d8e565b610b77565b6102b761041c366004611f75565b610c3f565b61043461042f366004611d8e565b610c79565b60405190815260200161024b565b6102b7610450366004611f75565b610cff565b61025c610d39565b6102b761046b366004611fc0565b610d48565b61023f61047e366004611d8e565b6001600160a01b03166000908152600e602052604090205460ff1690565b6104a4610d8e565b60405161024b9190612087565b6102b76104bf366004611e8e565b610def565b6102b76104d2366004611e15565b610e01565b61025c610e40565b61025c6104ed366004611fa8565b610e4d565b600a546001600160a01b031661028c565b610434610511366004611ec8565b610f5e565b6102b7610524366004611d8e565b610fbd565b61023f610537366004611da8565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b6102b7610573366004611f14565b611002565b60006001600160e01b03198216632483248360e11b148061059d575061059d82611080565b92915050565b600d80546105b090612250565b80601f01602080910402602001604051908101604052809291908181526020018280546105dc90612250565b80156106295780601f106105fe57610100808354040283529160200191610629565b820191906000526020600020905b81548152906001019060200180831161060c57829003601f168201915b505050505081565b6060600061064061042f6110d0565b11156106d657600d805461065390612250565b80601f016020809104026020016040519081016040528092919081815260200182805461067f90612250565b80156106cc5780601f106106a1576101008083540402835291602001916106cc565b820191906000526020600020905b8154815290600101906020018083116106af57829003601f168201915b5050505050905090565b600c805461065390612250565b60606000805461065390612250565b60006106fd826110df565b506000908152600460205260409020546001600160a01b031690565b600061072482610b17565b9050806001600160a01b0316836001600160a01b031614156107975760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b806001600160a01b03166107a96110d0565b6001600160a01b031614806107c557506107c5816105376110d0565b6108375760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000606482015260840161078e565b610841838361113e565b505050565b6000818152600f6020526040902080546060919061086390612250565b80601f016020809104026020016040519081016040528092919081815260200182805461088f90612250565b80156108dc5780601f106108b1576101008083540402835291602001916108dc565b820191906000526020600020905b8154815290600101906020018083116108bf57829003601f168201915b50505050509050919050565b6108f361035c6110d0565b61090f5760405162461bcd60e51b815260040161078e906120e7565b6001600160a01b03811660009081526007602052604090205460ff166109775760405162461bcd60e51b815260206004820152601e60248201527f5461726765742061646472657373206973206e6f7420616e206f776e65720000604482015260640161078e565b6001600160a01b0381166000908152600760205260409020805460ff191690556109a26008826111ac565b50565b60606009805461065390612250565b6109bf61035c6110d0565b6109db5760405162461bcd60e51b815260040161078e906120e7565b6001600160a01b03166000908152600e60205260409020805460ff19169055565b610a0d610a076110d0565b826112ee565b610a295760405162461bcd60e51b815260040161078e90612129565b61084183838361136c565b6060600d805461065390612250565b610a4e61035c6110d0565b610a6a5760405162461bcd60e51b815260040161078e906120e7565b8051610a7d90600d906020840190611c0e565b5050565b610a8c61035c6110d0565b610aa85760405162461bcd60e51b815260040161078e906120e7565b6001600160a01b03166000908152600e60205260409020805460ff19166001179055565b61084183838360405180602001604052806000815250610e01565b610af261035c6110d0565b610b0e5760405162461bcd60e51b815260040161078e906120e7565b6109a2816114d0565b6000818152600260205260408120546001600160a01b03168061059d5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604482015260640161078e565b60085415801590610b9857503360009081526007602052604090205460ff16155b15610bb55760405162461bcd60e51b815260040161078e906120e7565b6001600160a01b03811660009081526007602052604090205460ff1615610bd95750565b6001600160a01b03166000818152600760205260408120805460ff191660019081179091556008805491820181559091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30180546001600160a01b0319169091179055565b610c4a61035c6110d0565b610c665760405162461bcd60e51b815260040161078e906120e7565b8051610a7d90600c906020840190611c0e565b60006001600160a01b038216610ce35760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b606482015260840161078e565b506001600160a01b031660009081526003602052604090205490565b610d0a61035c6110d0565b610d265760405162461bcd60e51b815260040161078e906120e7565b8051610a7d906009906020840190611c0e565b60606001805461065390612250565b610d5361035c6110d0565b610d6f5760405162461bcd60e51b815260040161078e906120e7565b6000828152600f60209081526040909120825161084192840190611c0e565b606060088054806020026020016040519081016040528092919081815260200182805480156106cc57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610dc8575050505050905090565b610a7d610dfa6110d0565b8383611510565b610e12610e0c6110d0565b836112ee565b610e2e5760405162461bcd60e51b815260040161078e90612129565b610e3a848484846115df565b50505050565b600c80546105b090612250565b6060610e58826110df565b60008281526006602052604081208054610e7190612250565b80601f0160208091040260200160405190810160405280929190818152602001828054610e9d90612250565b8015610eea5780601f10610ebf57610100808354040283529160200191610eea565b820191906000526020600020905b815481529060010190602001808311610ecd57829003601f168201915b505050505090506000610f0860408051602081019091526000815290565b9050805160001415610f1b575092915050565b815115610f4d578082604051602001610f3592919061201b565b60405160208183030381529060405292505050919050565b610f5684611612565b949350505050565b6000610f6b61035c6110d0565b610f875760405162461bcd60e51b815260040161078e906120e7565b610f95600b80546001019055565b6000610fa0600b5490565b9050610fac8482611685565b610fb68184611810565b9392505050565b610fc861035c6110d0565b610fe45760405162461bcd60e51b815260040161078e906120e7565b600a80546001600160a01b0319166001600160a01b03831617905550565b61100d61035c6110d0565b6110295760405162461bcd60e51b815260040161078e906120e7565b610a7d61103582610b17565b8383604051806020016040528060008152506115df565b6000601436108015906110695750600a546001600160a01b031633145b1561107b575060131936013560601c90565b503390565b60006001600160e01b031982166380ac58cd60e01b14806110b157506001600160e01b03198216635b5e139f60e01b145b8061059d57506301ffc9a760e01b6001600160e01b031983161461059d565b60006110da61104c565b905090565b6000818152600260205260409020546001600160a01b03166109a25760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604482015260640161078e565b600081815260046020526040902080546001600160a01b0319166001600160a01b038416908117909155819061117382610b17565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60005b825481101561084157816001600160a01b03168382815481106111e257634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b031614156112dc578254839061120d9060019061220d565b8154811061122b57634e487b7160e01b600052603260045260246000fd5b9060005260206000200160009054906101000a90046001600160a01b031683828154811061126957634e487b7160e01b600052603260045260246000fd5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550828054806112b557634e487b7160e01b600052603160045260246000fd5b600082815260209020810160001990810180546001600160a01b0319169055019055505050565b806112e68161228b565b9150506111af565b6000806112fa83610b17565b9050806001600160a01b0316846001600160a01b0316148061134157506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b80610f565750836001600160a01b031661135a846106f2565b6001600160a01b031614949350505050565b826001600160a01b031661137f82610b17565b6001600160a01b0316146113a55760405162461bcd60e51b815260040161078e906121c8565b6001600160a01b0382166114075760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b606482015260840161078e565b826001600160a01b031661141a82610b17565b6001600160a01b0316146114405760405162461bcd60e51b815260040161078e906121c8565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6114d9816118e2565b600081815260066020526040902080546114f290612250565b1590506109a25760008181526006602052604081206109a291611c92565b816001600160a01b0316836001600160a01b031614156115725760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161078e565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6115ea84848461136c565b6115f684848484611977565b610e3a5760405162461bcd60e51b815260040161078e90612176565b606061161d826110df565b600061163460408051602081019091526000815290565b905060008151116116545760405180602001604052806000815250610fb6565b8061165e84611a8b565b60405160200161166f92919061201b565b6040516020818303038152906040529392505050565b6001600160a01b0382166116db5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161078e565b6000818152600260205260409020546001600160a01b0316156117405760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161078e565b6000818152600260205260409020546001600160a01b0316156117a55760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161078e565b6001600160a01b038216600081815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6000828152600260205260409020546001600160a01b031661188b5760405162461bcd60e51b815260206004820152602e60248201527f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60448201526d32bc34b9ba32b73a103a37b5b2b760911b606482015260840161078e565b600082815260066020908152604090912082516118aa92840190611c0e565b506040518281527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a15050565b60006118ed82610b17565b90506118f882610b17565b600083815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0385168085526003845282852080546000190190558785526002909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b60006001600160a01b0384163b15611a8057836001600160a01b031663150b7a026119a06110d0565b8786866040518563ffffffff1660e01b81526004016119c2949392919061204a565b602060405180830381600087803b1580156119dc57600080fd5b505af1925050508015611a0c575060408051601f3d908101601f19168201909252611a0991810190611f59565b60015b611a66573d808015611a3a576040519150601f19603f3d011682016040523d82523d6000602084013e611a3f565b606091505b508051611a5e5760405162461bcd60e51b815260040161078e90612176565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610f56565b506001949350505050565b60606000611a9883611b36565b600101905060008167ffffffffffffffff811115611ac657634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015611af0576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084611b2957611b2e565b611afa565b509392505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310611b755772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310611ba1576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310611bbf57662386f26fc10000830492506010015b6305f5e1008310611bd7576305f5e100830492506008015b6127108310611beb57612710830492506004015b60648310611bfd576064830492506002015b600a831061059d5760010192915050565b828054611c1a90612250565b90600052602060002090601f016020900481019282611c3c5760008555611c82565b82601f10611c5557805160ff1916838001178555611c82565b82800160010185558215611c82579182015b82811115611c82578251825591602001919060010190611c67565b50611c8e929150611cc8565b5090565b508054611c9e90612250565b6000825580601f10611cae575050565b601f0160209004906000526020600020908101906109a291905b5b80821115611c8e5760008155600101611cc9565b600067ffffffffffffffff80841115611cf857611cf86122bc565b604051601f8501601f19908116603f01168101908282118183101715611d2057611d206122bc565b81604052809350858152868686011115611d3957600080fd5b858560208301376000602087830101525050509392505050565b80356001600160a01b0381168114611d6a57600080fd5b919050565b600082601f830112611d7f578081fd5b610fb683833560208501611cdd565b600060208284031215611d9f578081fd5b610fb682611d53565b60008060408385031215611dba578081fd5b611dc383611d53565b9150611dd160208401611d53565b90509250929050565b600080600060608486031215611dee578081fd5b611df784611d53565b9250611e0560208501611d53565b9150604084013590509250925092565b60008060008060808587031215611e2a578081fd5b611e3385611d53565b9350611e4160208601611d53565b925060408501359150606085013567ffffffffffffffff811115611e63578182fd5b8501601f81018713611e73578182fd5b611e8287823560208401611cdd565b91505092959194509250565b60008060408385031215611ea0578182fd5b611ea983611d53565b915060208301358015158114611ebd578182fd5b809150509250929050565b60008060408385031215611eda578182fd5b611ee383611d53565b9150602083013567ffffffffffffffff811115611efe578182fd5b611f0a85828601611d6f565b9150509250929050565b60008060408385031215611f26578182fd5b611f2f83611d53565b946020939093013593505050565b600060208284031215611f4e578081fd5b8135610fb6816122d2565b600060208284031215611f6a578081fd5b8151610fb6816122d2565b600060208284031215611f86578081fd5b813567ffffffffffffffff811115611f9c578182fd5b610f5684828501611d6f565b600060208284031215611fb9578081fd5b5035919050565b60008060408385031215611fd2578182fd5b82359150602083013567ffffffffffffffff811115611efe578182fd5b60008151808452612007816020860160208601612224565b601f01601f19169290920160200192915050565b6000835161202d818460208801612224565b835190830190612041818360208801612224565b01949350505050565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061207d90830184611fef565b9695505050505050565b6020808252825182820181905260009190848201906040850190845b818110156120c85783516001600160a01b0316835292840192918401916001016120a3565b50909695505050505050565b602081526000610fb66020830184611fef565b60208082526022908201527f4f6e6c79206f776e65722063616e2063616c6c20746869732066756e6374696f604082015261371760f11b606082015260800190565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60008282101561221f5761221f6122a6565b500390565b60005b8381101561223f578181015183820152602001612227565b83811115610e3a5750506000910152565b600181811c9082168061226457607f821691505b6020821081141561228557634e487b7160e01b600052602260045260246000fd5b50919050565b600060001982141561229f5761229f6122a6565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160e01b0319811681146109a257600080fdfea2646970667358221220befd43e0d860ae928221b08da129e5ce31435c0b759b0b5b7c15cd24b88288ac64736f6c63430008040033",
743 "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106102275760003560e01c8063572b6c0511610130578063a0e67e2b116100b8578063ce1b815f1161007c578063ce1b815f146104f2578063d0def52114610503578063da74222814610516578063e985e9c514610529578063f17e48ec1461056557600080fd5b8063a0e67e2b1461049c578063a22cb465146104b1578063b88d4fde146104c4578063bb4a6a5d146104d7578063c87b56dd146104df57600080fd5b806370a08231116100ff57806370a082311461042157806390c3f38f1461044257806395d89b4114610455578063973e132c1461045d5780639eda8aae1461047057600080fd5b8063572b6c05146103c65780636352211e146103e85780637065cb48146103fb5780637075c2691461040e57600080fd5b80631a092541116101b35780632f54bf6e116101825780632f54bf6e1461034e578063331e29f41461037a5780633c695e391461038d57806342842e0e146103a057806342966c68146103b357600080fd5b80631a092541146103185780631df5c02c1461032057806323b872dd1461033357806324c85a091461034657600080fd5b8063081812fc116101fa578063081812fc14610279578063095ea7b3146102a45780630d8e6e2c146102b95780631378bd93146102f2578063173825d91461030557600080fd5b806301ffc9a71461022c578063055789b71461025457806305cb3d7e1461026957806306fdde0314610271575b600080fd5b61023f61023a366004611f3d565b610578565b60405190151581526020015b60405180910390f35b61025c6105a3565b60405161024b91906120d4565b61025c610631565b61025c6106e3565b61028c610287366004611fa8565b6106f2565b6040516001600160a01b03909116815260200161024b565b6102b76102b2366004611f14565b610719565b005b60408051808201909152601781527f41644465436f6d436f6e7472616374207620302e302e31000000000000000000602082015261025c565b61025c610300366004611fa8565b610846565b6102b7610313366004611d8e565b6108e8565b61025c6109a5565b6102b761032e366004611d8e565b6109b4565b6102b7610341366004611dda565b6109fc565b61025c610a34565b61023f61035c366004611d8e565b6001600160a01b031660009081526007602052604090205460ff1690565b6102b7610388366004611f75565b610a43565b6102b761039b366004611d8e565b610a81565b6102b76103ae366004611dda565b610acc565b6102b76103c1366004611fa8565b610ae7565b61023f6103d4366004611d8e565b600a546001600160a01b0391821691161490565b61028c6103f6366004611fa8565b610b17565b6102b7610409366004611d8e565b610b77565b6102b761041c366004611f75565b610c3f565b61043461042f366004611d8e565b610c79565b60405190815260200161024b565b6102b7610450366004611f75565b610cff565b61025c610d39565b6102b761046b366004611fc0565b610d48565b61023f61047e366004611d8e565b6001600160a01b03166000908152600e602052604090205460ff1690565b6104a4610d8e565b60405161024b9190612087565b6102b76104bf366004611e8e565b610def565b6102b76104d2366004611e15565b610e01565b61025c610e40565b61025c6104ed366004611fa8565b610e4d565b600a546001600160a01b031661028c565b610434610511366004611ec8565b610f5e565b6102b7610524366004611d8e565b610fbd565b61023f610537366004611da8565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b6102b7610573366004611f14565b611002565b60006001600160e01b03198216632483248360e11b148061059d575061059d82611080565b92915050565b600d80546105b090612250565b80601f01602080910402602001604051908101604052809291908181526020018280546105dc90612250565b80156106295780601f106105fe57610100808354040283529160200191610629565b820191906000526020600020905b81548152906001019060200180831161060c57829003601f168201915b505050505081565b6060600061064061042f6110d0565b11156106d657600d805461065390612250565b80601f016020809104026020016040519081016040528092919081815260200182805461067f90612250565b80156106cc5780601f106106a1576101008083540402835291602001916106cc565b820191906000526020600020905b8154815290600101906020018083116106af57829003601f168201915b5050505050905090565b600c805461065390612250565b60606000805461065390612250565b60006106fd826110df565b506000908152600460205260409020546001600160a01b031690565b600061072482610b17565b9050806001600160a01b0316836001600160a01b031614156107975760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b806001600160a01b03166107a96110d0565b6001600160a01b031614806107c557506107c5816105376110d0565b6108375760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000606482015260840161078e565b610841838361113e565b505050565b6000818152600f6020526040902080546060919061086390612250565b80601f016020809104026020016040519081016040528092919081815260200182805461088f90612250565b80156108dc5780601f106108b1576101008083540402835291602001916108dc565b820191906000526020600020905b8154815290600101906020018083116108bf57829003601f168201915b50505050509050919050565b6108f361035c6110d0565b61090f5760405162461bcd60e51b815260040161078e906120e7565b6001600160a01b03811660009081526007602052604090205460ff166109775760405162461bcd60e51b815260206004820152601e60248201527f5461726765742061646472657373206973206e6f7420616e206f776e65720000604482015260640161078e565b6001600160a01b0381166000908152600760205260409020805460ff191690556109a26008826111ac565b50565b60606009805461065390612250565b6109bf61035c6110d0565b6109db5760405162461bcd60e51b815260040161078e906120e7565b6001600160a01b03166000908152600e60205260409020805460ff19169055565b610a0d610a076110d0565b826112ee565b610a295760405162461bcd60e51b815260040161078e90612129565b61084183838361136c565b6060600d805461065390612250565b610a4e61035c6110d0565b610a6a5760405162461bcd60e51b815260040161078e906120e7565b8051610a7d90600d906020840190611c0e565b5050565b610a8c61035c6110d0565b610aa85760405162461bcd60e51b815260040161078e906120e7565b6001600160a01b03166000908152600e60205260409020805460ff19166001179055565b61084183838360405180602001604052806000815250610e01565b610af261035c6110d0565b610b0e5760405162461bcd60e51b815260040161078e906120e7565b6109a2816114d0565b6000818152600260205260408120546001600160a01b03168061059d5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604482015260640161078e565b60085415801590610b9857503360009081526007602052604090205460ff16155b15610bb55760405162461bcd60e51b815260040161078e906120e7565b6001600160a01b03811660009081526007602052604090205460ff1615610bd95750565b6001600160a01b03166000818152600760205260408120805460ff191660019081179091556008805491820181559091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30180546001600160a01b0319169091179055565b610c4a61035c6110d0565b610c665760405162461bcd60e51b815260040161078e906120e7565b8051610a7d90600c906020840190611c0e565b60006001600160a01b038216610ce35760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b606482015260840161078e565b506001600160a01b031660009081526003602052604090205490565b610d0a61035c6110d0565b610d265760405162461bcd60e51b815260040161078e906120e7565b8051610a7d906009906020840190611c0e565b60606001805461065390612250565b610d5361035c6110d0565b610d6f5760405162461bcd60e51b815260040161078e906120e7565b6000828152600f60209081526040909120825161084192840190611c0e565b606060088054806020026020016040519081016040528092919081815260200182805480156106cc57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610dc8575050505050905090565b610a7d610dfa6110d0565b8383611510565b610e12610e0c6110d0565b836112ee565b610e2e5760405162461bcd60e51b815260040161078e90612129565b610e3a848484846115df565b50505050565b600c80546105b090612250565b6060610e58826110df565b60008281526006602052604081208054610e7190612250565b80601f0160208091040260200160405190810160405280929190818152602001828054610e9d90612250565b8015610eea5780601f10610ebf57610100808354040283529160200191610eea565b820191906000526020600020905b815481529060010190602001808311610ecd57829003601f168201915b505050505090506000610f0860408051602081019091526000815290565b9050805160001415610f1b575092915050565b815115610f4d578082604051602001610f3592919061201b565b60405160208183030381529060405292505050919050565b610f5684611612565b949350505050565b6000610f6b61035c6110d0565b610f875760405162461bcd60e51b815260040161078e906120e7565b610f95600b80546001019055565b6000610fa0600b5490565b9050610fac8482611685565b610fb68184611810565b9392505050565b610fc861035c6110d0565b610fe45760405162461bcd60e51b815260040161078e906120e7565b600a80546001600160a01b0319166001600160a01b03831617905550565b61100d61035c6110d0565b6110295760405162461bcd60e51b815260040161078e906120e7565b610a7d61103582610b17565b8383604051806020016040528060008152506115df565b6000601436108015906110695750600a546001600160a01b031633145b1561107b575060131936013560601c90565b503390565b60006001600160e01b031982166380ac58cd60e01b14806110b157506001600160e01b03198216635b5e139f60e01b145b8061059d57506301ffc9a760e01b6001600160e01b031983161461059d565b60006110da61104c565b905090565b6000818152600260205260409020546001600160a01b03166109a25760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604482015260640161078e565b600081815260046020526040902080546001600160a01b0319166001600160a01b038416908117909155819061117382610b17565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60005b825481101561084157816001600160a01b03168382815481106111e257634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b031614156112dc578254839061120d9060019061220d565b8154811061122b57634e487b7160e01b600052603260045260246000fd5b9060005260206000200160009054906101000a90046001600160a01b031683828154811061126957634e487b7160e01b600052603260045260246000fd5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550828054806112b557634e487b7160e01b600052603160045260246000fd5b600082815260209020810160001990810180546001600160a01b0319169055019055505050565b806112e68161228b565b9150506111af565b6000806112fa83610b17565b9050806001600160a01b0316846001600160a01b0316148061134157506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b80610f565750836001600160a01b031661135a846106f2565b6001600160a01b031614949350505050565b826001600160a01b031661137f82610b17565b6001600160a01b0316146113a55760405162461bcd60e51b815260040161078e906121c8565b6001600160a01b0382166114075760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b606482015260840161078e565b826001600160a01b031661141a82610b17565b6001600160a01b0316146114405760405162461bcd60e51b815260040161078e906121c8565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6114d9816118e2565b600081815260066020526040902080546114f290612250565b1590506109a25760008181526006602052604081206109a291611c92565b816001600160a01b0316836001600160a01b031614156115725760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161078e565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6115ea84848461136c565b6115f684848484611977565b610e3a5760405162461bcd60e51b815260040161078e90612176565b606061161d826110df565b600061163460408051602081019091526000815290565b905060008151116116545760405180602001604052806000815250610fb6565b8061165e84611a8b565b60405160200161166f92919061201b565b6040516020818303038152906040529392505050565b6001600160a01b0382166116db5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161078e565b6000818152600260205260409020546001600160a01b0316156117405760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161078e565b6000818152600260205260409020546001600160a01b0316156117a55760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161078e565b6001600160a01b038216600081815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6000828152600260205260409020546001600160a01b031661188b5760405162461bcd60e51b815260206004820152602e60248201527f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60448201526d32bc34b9ba32b73a103a37b5b2b760911b606482015260840161078e565b600082815260066020908152604090912082516118aa92840190611c0e565b506040518281527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a15050565b60006118ed82610b17565b90506118f882610b17565b600083815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0385168085526003845282852080546000190190558785526002909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b60006001600160a01b0384163b15611a8057836001600160a01b031663150b7a026119a06110d0565b8786866040518563ffffffff1660e01b81526004016119c2949392919061204a565b602060405180830381600087803b1580156119dc57600080fd5b505af1925050508015611a0c575060408051601f3d908101601f19168201909252611a0991810190611f59565b60015b611a66573d808015611a3a576040519150601f19603f3d011682016040523d82523d6000602084013e611a3f565b606091505b508051611a5e5760405162461bcd60e51b815260040161078e90612176565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610f56565b506001949350505050565b60606000611a9883611b36565b600101905060008167ffffffffffffffff811115611ac657634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015611af0576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084611b2957611b2e565b611afa565b509392505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310611b755772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310611ba1576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310611bbf57662386f26fc10000830492506010015b6305f5e1008310611bd7576305f5e100830492506008015b6127108310611beb57612710830492506004015b60648310611bfd576064830492506002015b600a831061059d5760010192915050565b828054611c1a90612250565b90600052602060002090601f016020900481019282611c3c5760008555611c82565b82601f10611c5557805160ff1916838001178555611c82565b82800160010185558215611c82579182015b82811115611c82578251825591602001919060010190611c67565b50611c8e929150611cc8565b5090565b508054611c9e90612250565b6000825580601f10611cae575050565b601f0160209004906000526020600020908101906109a291905b5b80821115611c8e5760008155600101611cc9565b600067ffffffffffffffff80841115611cf857611cf86122bc565b604051601f8501601f19908116603f01168101908282118183101715611d2057611d206122bc565b81604052809350858152868686011115611d3957600080fd5b858560208301376000602087830101525050509392505050565b80356001600160a01b0381168114611d6a57600080fd5b919050565b600082601f830112611d7f578081fd5b610fb683833560208501611cdd565b600060208284031215611d9f578081fd5b610fb682611d53565b60008060408385031215611dba578081fd5b611dc383611d53565b9150611dd160208401611d53565b90509250929050565b600080600060608486031215611dee578081fd5b611df784611d53565b9250611e0560208501611d53565b9150604084013590509250925092565b60008060008060808587031215611e2a578081fd5b611e3385611d53565b9350611e4160208601611d53565b925060408501359150606085013567ffffffffffffffff811115611e63578182fd5b8501601f81018713611e73578182fd5b611e8287823560208401611cdd565b91505092959194509250565b60008060408385031215611ea0578182fd5b611ea983611d53565b915060208301358015158114611ebd578182fd5b809150509250929050565b60008060408385031215611eda578182fd5b611ee383611d53565b9150602083013567ffffffffffffffff811115611efe578182fd5b611f0a85828601611d6f565b9150509250929050565b60008060408385031215611f26578182fd5b611f2f83611d53565b946020939093013593505050565b600060208284031215611f4e578081fd5b8135610fb6816122d2565b600060208284031215611f6a578081fd5b8151610fb6816122d2565b600060208284031215611f86578081fd5b813567ffffffffffffffff811115611f9c578182fd5b610f5684828501611d6f565b600060208284031215611fb9578081fd5b5035919050565b60008060408385031215611fd2578182fd5b82359150602083013567ffffffffffffffff811115611efe578182fd5b60008151808452612007816020860160208601612224565b601f01601f19169290920160200192915050565b6000835161202d818460208801612224565b835190830190612041818360208801612224565b01949350505050565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061207d90830184611fef565b9695505050505050565b6020808252825182820181905260009190848201906040850190845b818110156120c85783516001600160a01b0316835292840192918401916001016120a3565b50909695505050505050565b602081526000610fb66020830184611fef565b60208082526022908201527f4f6e6c79206f776e65722063616e2063616c6c20746869732066756e6374696f604082015261371760f11b606082015260800190565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60008282101561221f5761221f6122a6565b500390565b60005b8381101561223f578181015183820152602001612227565b83811115610e3a5750506000910152565b600181811c9082168061226457607f821691505b6020821081141561228557634e487b7160e01b600052602260045260246000fd5b50919050565b600060001982141561229f5761229f6122a6565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160e01b0319811681146109a257600080fdfea2646970667358221220befd43e0d860ae928221b08da129e5ce31435c0b759b0b5b7c15cd24b88288ac64736f6c63430008040033",
744 "linkReferences": {},
745 "deployedLinkReferences": {}
746}