-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathtokenGarden.json
668 lines (668 loc) · 49.8 KB
/
tokenGarden.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
{
"_format": "hh-sol-artifact-1",
"contractName": "tokenGarden",
"sourceName": "contracts/tokenGarden.sol",
"abi": [
{
"inputs": [
{
"internalType": "string",
"name": "_name",
"type": "string"
},
{
"internalType": "string",
"name": "_symbol",
"type": "string"
},
{
"internalType": "string",
"name": "_metadataFolderURI",
"type": "string"
},
{
"internalType": "uint256",
"name": "_freeMints",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_mintsPerAddress",
"type": "uint256"
},
{
"internalType": "string",
"name": "_openseaContractMetadataURL",
"type": "string"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "approved",
"type": "address"
},
{
"indexed": true,
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "Approval",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "operator",
"type": "address"
},
{
"indexed": false,
"internalType": "bool",
"name": "approved",
"type": "bool"
}
],
"name": "ApprovalForAll",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "_minter",
"type": "address"
},
{
"indexed": true,
"internalType": "uint256",
"name": "_token_id",
"type": "uint256"
}
],
"name": "Mint",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "previousOwner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnershipTransferred",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": true,
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "Transfer",
"type": "event"
},
{
"inputs": [],
"name": "mintedCount",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "approve",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "balanceOf",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "contractURI",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "freeMints",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "getApproved",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getBalance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "address",
"name": "operator",
"type": "address"
}
],
"name": "isApprovedForAll",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "isMintFree",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "metadataFolderURI",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "mint",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [],
"name": "mintActive",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "minted",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "mintsPerAddress",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "name",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "openseaContractMetadataURL",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "ownerOf",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "payee",
"type": "address"
},
{
"internalType": "uint256",
"name": "amountInEth",
"type": "uint256"
}
],
"name": "pay",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "price",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "renounceOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "reverseBirthday",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "safeTransferFrom",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "_data",
"type": "bytes"
}
],
"name": "safeTransferFrom",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "operator",
"type": "address"
},
{
"internalType": "bool",
"name": "approved",
"type": "bool"
}
],
"name": "setApprovalForAll",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "folderUrl",
"type": "string"
}
],
"name": "setMetadataFolderURI",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_mintActive",
"type": "uint256"
}
],
"name": "setMintActive",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes4",
"name": "interfaceId",
"type": "bytes4"
}
],
"name": "supportsInterface",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "symbol",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "tokenURI",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "transferFrom",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "withdraw",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x60806040526000600b553480156200001657600080fd5b50604051620021713803806200217183398101604081905262000039916200027e565b8551869086906200005290600090602085019062000121565b5080516200006890600190602084019062000121565b505050620000856200007f620000cb60201b60201c565b620000cf565b83516200009a90600890602087019062000121565b50600c83905543600a55600d8290558051620000be90600e90602084019062000121565b505050505050506200039c565b3390565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b8280546200012f9062000349565b90600052602060002090601f0160209004810192826200015357600085556200019e565b82601f106200016e57805160ff19168380011785556200019e565b828001600101855582156200019e579182015b828111156200019e57825182559160200191906001019062000181565b50620001ac929150620001b0565b5090565b5b80821115620001ac5760008155600101620001b1565b600082601f830112620001d957600080fd5b81516001600160401b0380821115620001f657620001f662000386565b604051601f8301601f19908116603f0116810190828211818310171562000221576200022162000386565b816040528381526020925086838588010111156200023e57600080fd5b600091505b8382101562000262578582018301518183018401529082019062000243565b83821115620002745760008385830101525b9695505050505050565b60008060008060008060c087890312156200029857600080fd5b86516001600160401b0380821115620002b057600080fd5b620002be8a838b01620001c7565b97506020890151915080821115620002d557600080fd5b620002e38a838b01620001c7565b96506040890151915080821115620002fa57600080fd5b620003088a838b01620001c7565b9550606089015194506080890151935060a08901519150808211156200032d57600080fd5b506200033c89828a01620001c7565b9150509295509295509295565b600181811c908216806200035e57607f821691505b602082108114156200038057634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052604160045260246000fd5b611dc580620003ac6000396000f3fe60806040526004361061017e5760003560e01c806301ffc9a71461018357806306fdde03146101b8578063081812fc146101da578063095ea7b31461021257806312065fe0146102345780631249c58b146102515780631e7269c51461025957806323b872dd1461028657806325fd90f3146102a65780632ec376b8146102bc5780633ccfd60b146102d257806342842e0e146102e757806347cce091146103075780636352211e1461031d57806370a082311461033d578063715018a61461035d57806380b17335146103725780638da5cb5b146103885780638f9d85201461039d57806394696020146103bd57806395d89b41146103dd5780639a893c16146103f2578063a035b1fe14610407578063a1182e8e14610422578063a22cb46514610437578063a3e4770114610457578063ac7fdfaf1461046c578063b88d4fde14610481578063c4076876146104a1578063c87b56dd146104c1578063e8a3d485146104e1578063e985e9c5146104f6578063f2fde38b14610516575b600080fd5b34801561018f57600080fd5b506101a361019e366004611976565b610536565b60405190151581526020015b60405180910390f35b3480156101c457600080fd5b506101cd610588565b6040516101af9190611b3d565b3480156101e657600080fd5b506101fa6101f53660046119f8565b61061a565b6040516001600160a01b0390911681526020016101af565b34801561021e57600080fd5b5061023261022d36600461194c565b6106a7565b005b34801561024057600080fd5b50475b6040519081526020016101af565b6102326107b8565b34801561026557600080fd5b50610243610274366004611804565b60096020526000908152604090205481565b34801561029257600080fd5b506102326102a1366004611859565b610992565b3480156102b257600080fd5b50610243600b5481565b3480156102c857600080fd5b50610243600a5481565b3480156102de57600080fd5b506102326109c3565b3480156102f357600080fd5b50610232610302366004611859565b610a25565b34801561031357600080fd5b50610243600d5481565b34801561032957600080fd5b506101fa6103383660046119f8565b610a40565b34801561034957600080fd5b50610243610358366004611804565b610ab7565b34801561036957600080fd5b50610232610b3e565b34801561037e57600080fd5b50610243600c5481565b34801561039457600080fd5b506101fa610b79565b3480156103a957600080fd5b506102326103b83660046119b0565b610b88565b3480156103c957600080fd5b506102326103d83660046119f8565b610bca565b3480156103e957600080fd5b506101cd610bfe565b3480156103fe57600080fd5b506101cd610c0d565b34801561041357600080fd5b50610243662386f26fc1000081565b34801561042e57600080fd5b506101cd610c9b565b34801561044357600080fd5b50610232610452366004611910565b610ca8565b34801561046357600080fd5b50610243610d69565b34801561047857600080fd5b506101a3610d79565b34801561048d57600080fd5b5061023261049c366004611895565b610d8d565b3480156104ad57600080fd5b506102326104bc36600461194c565b610dc5565b3480156104cd57600080fd5b506101cd6104dc3660046119f8565b610e7b565b3480156104ed57600080fd5b506101cd610f1e565b34801561050257600080fd5b506101a3610511366004611826565b610f2d565b34801561052257600080fd5b50610232610531366004611804565b610f5b565b60006001600160e01b031982166380ac58cd60e01b148061056757506001600160e01b03198216635b5e139f60e01b145b8061058257506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606000805461059790611c97565b80601f01602080910402602001604051908101604052809291908181526020018280546105c390611c97565b80156106105780601f106105e557610100808354040283529160200191610610565b820191906000526020600020905b8154815290600101906020018083116105f357829003601f168201915b5050505050905090565b600061062582610ffb565b61068b5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084015b60405180910390fd5b506000908152600460205260409020546001600160a01b031690565b60006106b282610a40565b9050806001600160a01b0316836001600160a01b031614156107205760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608401610682565b336001600160a01b038216148061073c575061073c8133610f2d565b6107a95760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776044820152771b995c881b9bdc88185c1c1c9bdd995908199bdc88185b1b60421b6064820152608401610682565b6107b38383611018565b505050565b600b546001146108045760405162461bcd60e51b815260206004820152601760248201527636b4b73a1034b9903737ba1030b1ba34bb32903937171760491b6044820152606401610682565b3233146108465760405162461bcd60e51b815260206004820152601060248201526f191bdb9d0819d95d0814d95d995b89d960821b6044820152606401610682565b600d5433600090815260096020526040902054106108a65760405162461bcd60e51b815260206004820152601e60248201527f6f6e6c792031206d696e74207065722077616c6c6574206164647265737300006044820152606401610682565b600754600c541161091d57662386f26fc1000034101561091d5760405162461bcd60e51b815260206004820152602c60248201527f6d696e74696e67206973206e6f206c6f6e67657220667265652c20697420636f60448201526b0e6e8e640605c606240cae8d60a31b6064820152608401610682565b61092b600780546001019055565b33600090815260096020526040812080549161094683611cd2565b9190505550600061095660075490565b90506109623382611086565b604051819033907f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688590600090a350565b61099c33826110a0565b6109b85760405162461bcd60e51b815260040161068290611bd7565b6107b383838361116a565b336109cc610b79565b6001600160a01b0316146109f25760405162461bcd60e51b815260040161068290611ba2565b6040514790339082156108fc029083906000818181858888f19350505050158015610a21573d6000803e3d6000fd5b5050565b6107b383838360405180602001604052806000815250610d8d565b6000818152600260205260408120546001600160a01b0316806105825760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b6064820152608401610682565b60006001600160a01b038216610b225760405162461bcd60e51b815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604482015269726f206164647265737360b01b6064820152608401610682565b506001600160a01b031660009081526003602052604090205490565b33610b47610b79565b6001600160a01b031614610b6d5760405162461bcd60e51b815260040161068290611ba2565b610b7760006112f8565b565b6006546001600160a01b031690565b33610b91610b79565b6001600160a01b031614610bb75760405162461bcd60e51b815260040161068290611ba2565b8051610a219060089060208401906116da565b33610bd3610b79565b6001600160a01b031614610bf95760405162461bcd60e51b815260040161068290611ba2565b600b55565b60606001805461059790611c97565b600e8054610c1a90611c97565b80601f0160208091040260200160405190810160405280929190818152602001828054610c4690611c97565b8015610c935780601f10610c6857610100808354040283529160200191610c93565b820191906000526020600020905b815481529060010190602001808311610c7657829003601f168201915b505050505081565b60088054610c1a90611c97565b6001600160a01b038216331415610cfd5760405162461bcd60e51b815260206004820152601960248201527822a9219b99189d1030b8383937bb32903a379031b0b63632b960391b6044820152606401610682565b3360008181526005602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6000610d7460075490565b905090565b6000610d8460075490565b600c5411905090565b610d9733836110a0565b610db35760405162461bcd60e51b815260040161068290611bd7565b610dbf8484848461134a565b50505050565b33610dce610b79565b6001600160a01b031614610df45760405162461bcd60e51b815260040161068290611ba2565b4781811015610e455760405162461bcd60e51b815260206004820152601e60248201527f576520646f6e7420686176652074686174206d75636820746f207061792100006044820152606401610682565b6040516001600160a01b0384169083156108fc029084906000818181858888f19350505050158015610dbf573d6000803e3d6000fd5b6060610e8682610ffb565b610eec5760405162461bcd60e51b815260206004820152603160248201527f45524337323155524953746f726167653a2055524920717565727920666f72206044820152703737b732bc34b9ba32b73a103a37b5b2b760791b6064820152608401610682565b6008610ef78361137d565b604051602001610f08929190611a59565b6040516020818303038152906040529050919050565b6060600e805461059790611c97565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b33610f64610b79565b6001600160a01b031614610f8a5760405162461bcd60e51b815260040161068290611ba2565b6001600160a01b038116610fef5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610682565b610ff8816112f8565b50565b6000908152600260205260409020546001600160a01b0316151590565b600081815260046020526040902080546001600160a01b0319166001600160a01b038416908117909155819061104d82610a40565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b610a2182826040518060200160405280600081525061147a565b60006110ab82610ffb565b61110c5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608401610682565b600061111783610a40565b9050806001600160a01b0316846001600160a01b031614806111525750836001600160a01b03166111478461061a565b6001600160a01b0316145b8061116257506111628185610f2d565b949350505050565b826001600160a01b031661117d82610a40565b6001600160a01b0316146111e55760405162461bcd60e51b815260206004820152602960248201527f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960448201526839903737ba1037bbb760b91b6064820152608401610682565b6001600160a01b0382166112475760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610682565b611252600082611018565b6001600160a01b038316600090815260036020526040812080546001929061127b908490611c54565b90915550506001600160a01b03821660009081526003602052604081208054600192906112a9908490611c28565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b038681169182179092559151849391871691600080516020611d7083398151915291a4505050565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b61135584848461116a565b611361848484846114ad565b610dbf5760405162461bcd60e51b815260040161068290611b50565b6060816113a15750506040805180820190915260018152600360fc1b602082015290565b8160005b81156113cb57806113b581611cd2565b91506113c49050600a83611c40565b91506113a5565b6000816001600160401b038111156113e5576113e5611d43565b6040519080825280601f01601f19166020018201604052801561140f576020820181803683370190505b5090505b841561116257611424600183611c54565b9150611431600a86611ced565b61143c906030611c28565b60f81b81838151811061145157611451611d2d565b60200101906001600160f81b031916908160001a905350611473600a86611c40565b9450611413565b61148483836115ba565b61149160008484846114ad565b6107b35760405162461bcd60e51b815260040161068290611b50565b60006001600160a01b0384163b156115af57604051630a85bd0160e11b81526001600160a01b0385169063150b7a02906114f1903390899088908890600401611b00565b602060405180830381600087803b15801561150b57600080fd5b505af192505050801561153b575060408051601f3d908101601f1916820190925261153891810190611993565b60015b611595573d808015611569576040519150601f19603f3d011682016040523d82523d6000602084013e61156e565b606091505b50805161158d5760405162461bcd60e51b815260040161068290611b50565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611162565b506001949350505050565b6001600160a01b0382166116105760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610682565b61161981610ffb565b156116655760405162461bcd60e51b815260206004820152601c60248201527b115490cdcc8c4e881d1bdad95b88185b1c9958591e481b5a5b9d195960221b6044820152606401610682565b6001600160a01b038216600090815260036020526040812080546001929061168e908490611c28565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b0386169081179091559051839290600080516020611d70833981519152908290a45050565b8280546116e690611c97565b90600052602060002090601f016020900481019282611708576000855561174e565b82601f1061172157805160ff191683800117855561174e565b8280016001018555821561174e579182015b8281111561174e578251825591602001919060010190611733565b5061175a92915061175e565b5090565b5b8082111561175a576000815560010161175f565b60006001600160401b038084111561178d5761178d611d43565b604051601f8501601f19908116603f011681019082821181831017156117b5576117b5611d43565b816040528093508581528686860111156117ce57600080fd5b858560208301376000602087830101525050509392505050565b80356001600160a01b03811681146117ff57600080fd5b919050565b60006020828403121561181657600080fd5b61181f826117e8565b9392505050565b6000806040838503121561183957600080fd5b611842836117e8565b9150611850602084016117e8565b90509250929050565b60008060006060848603121561186e57600080fd5b611877846117e8565b9250611885602085016117e8565b9150604084013590509250925092565b600080600080608085870312156118ab57600080fd5b6118b4856117e8565b93506118c2602086016117e8565b92506040850135915060608501356001600160401b038111156118e457600080fd5b8501601f810187136118f557600080fd5b61190487823560208401611773565b91505092959194509250565b6000806040838503121561192357600080fd5b61192c836117e8565b91506020830135801515811461194157600080fd5b809150509250929050565b6000806040838503121561195f57600080fd5b611968836117e8565b946020939093013593505050565b60006020828403121561198857600080fd5b813561181f81611d59565b6000602082840312156119a557600080fd5b815161181f81611d59565b6000602082840312156119c257600080fd5b81356001600160401b038111156119d857600080fd5b8201601f810184136119e957600080fd5b61116284823560208401611773565b600060208284031215611a0a57600080fd5b5035919050565b60008151808452611a29816020860160208601611c6b565b601f01601f19169290920160200192915050565b60008151611a4f818560208601611c6b565b9290920192915050565b600080845481600182811c915080831680611a7557607f831692505b6020808410821415611a9557634e487b7160e01b86526022600452602486fd5b818015611aa95760018114611aba57611ae7565b60ff19861689528489019650611ae7565b60008b81526020902060005b86811015611adf5781548b820152908501908301611ac6565b505084890196505b505050505050611af78185611a3d565b95945050505050565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090611b3390830184611a11565b9695505050505050565b60208152600061181f6020830184611a11565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b60008219821115611c3b57611c3b611d01565b500190565b600082611c4f57611c4f611d17565b500490565b600082821015611c6657611c66611d01565b500390565b60005b83811015611c86578181015183820152602001611c6e565b83811115610dbf5750506000910152565b600181811c90821680611cab57607f821691505b60208210811415611ccc57634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415611ce657611ce6611d01565b5060010190565b600082611cfc57611cfc611d17565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160e01b031981168114610ff857600080fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220f345a8f5c6ea5fd6c74a8a77eb194a9554570d7a124b954eeb6ee708c00cc20f64736f6c63430008060033",
"deployedBytecode": "0x60806040526004361061017e5760003560e01c806301ffc9a71461018357806306fdde03146101b8578063081812fc146101da578063095ea7b31461021257806312065fe0146102345780631249c58b146102515780631e7269c51461025957806323b872dd1461028657806325fd90f3146102a65780632ec376b8146102bc5780633ccfd60b146102d257806342842e0e146102e757806347cce091146103075780636352211e1461031d57806370a082311461033d578063715018a61461035d57806380b17335146103725780638da5cb5b146103885780638f9d85201461039d57806394696020146103bd57806395d89b41146103dd5780639a893c16146103f2578063a035b1fe14610407578063a1182e8e14610422578063a22cb46514610437578063a3e4770114610457578063ac7fdfaf1461046c578063b88d4fde14610481578063c4076876146104a1578063c87b56dd146104c1578063e8a3d485146104e1578063e985e9c5146104f6578063f2fde38b14610516575b600080fd5b34801561018f57600080fd5b506101a361019e366004611976565b610536565b60405190151581526020015b60405180910390f35b3480156101c457600080fd5b506101cd610588565b6040516101af9190611b3d565b3480156101e657600080fd5b506101fa6101f53660046119f8565b61061a565b6040516001600160a01b0390911681526020016101af565b34801561021e57600080fd5b5061023261022d36600461194c565b6106a7565b005b34801561024057600080fd5b50475b6040519081526020016101af565b6102326107b8565b34801561026557600080fd5b50610243610274366004611804565b60096020526000908152604090205481565b34801561029257600080fd5b506102326102a1366004611859565b610992565b3480156102b257600080fd5b50610243600b5481565b3480156102c857600080fd5b50610243600a5481565b3480156102de57600080fd5b506102326109c3565b3480156102f357600080fd5b50610232610302366004611859565b610a25565b34801561031357600080fd5b50610243600d5481565b34801561032957600080fd5b506101fa6103383660046119f8565b610a40565b34801561034957600080fd5b50610243610358366004611804565b610ab7565b34801561036957600080fd5b50610232610b3e565b34801561037e57600080fd5b50610243600c5481565b34801561039457600080fd5b506101fa610b79565b3480156103a957600080fd5b506102326103b83660046119b0565b610b88565b3480156103c957600080fd5b506102326103d83660046119f8565b610bca565b3480156103e957600080fd5b506101cd610bfe565b3480156103fe57600080fd5b506101cd610c0d565b34801561041357600080fd5b50610243662386f26fc1000081565b34801561042e57600080fd5b506101cd610c9b565b34801561044357600080fd5b50610232610452366004611910565b610ca8565b34801561046357600080fd5b50610243610d69565b34801561047857600080fd5b506101a3610d79565b34801561048d57600080fd5b5061023261049c366004611895565b610d8d565b3480156104ad57600080fd5b506102326104bc36600461194c565b610dc5565b3480156104cd57600080fd5b506101cd6104dc3660046119f8565b610e7b565b3480156104ed57600080fd5b506101cd610f1e565b34801561050257600080fd5b506101a3610511366004611826565b610f2d565b34801561052257600080fd5b50610232610531366004611804565b610f5b565b60006001600160e01b031982166380ac58cd60e01b148061056757506001600160e01b03198216635b5e139f60e01b145b8061058257506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606000805461059790611c97565b80601f01602080910402602001604051908101604052809291908181526020018280546105c390611c97565b80156106105780601f106105e557610100808354040283529160200191610610565b820191906000526020600020905b8154815290600101906020018083116105f357829003601f168201915b5050505050905090565b600061062582610ffb565b61068b5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084015b60405180910390fd5b506000908152600460205260409020546001600160a01b031690565b60006106b282610a40565b9050806001600160a01b0316836001600160a01b031614156107205760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608401610682565b336001600160a01b038216148061073c575061073c8133610f2d565b6107a95760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776044820152771b995c881b9bdc88185c1c1c9bdd995908199bdc88185b1b60421b6064820152608401610682565b6107b38383611018565b505050565b600b546001146108045760405162461bcd60e51b815260206004820152601760248201527636b4b73a1034b9903737ba1030b1ba34bb32903937171760491b6044820152606401610682565b3233146108465760405162461bcd60e51b815260206004820152601060248201526f191bdb9d0819d95d0814d95d995b89d960821b6044820152606401610682565b600d5433600090815260096020526040902054106108a65760405162461bcd60e51b815260206004820152601e60248201527f6f6e6c792031206d696e74207065722077616c6c6574206164647265737300006044820152606401610682565b600754600c541161091d57662386f26fc1000034101561091d5760405162461bcd60e51b815260206004820152602c60248201527f6d696e74696e67206973206e6f206c6f6e67657220667265652c20697420636f60448201526b0e6e8e640605c606240cae8d60a31b6064820152608401610682565b61092b600780546001019055565b33600090815260096020526040812080549161094683611cd2565b9190505550600061095660075490565b90506109623382611086565b604051819033907f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688590600090a350565b61099c33826110a0565b6109b85760405162461bcd60e51b815260040161068290611bd7565b6107b383838361116a565b336109cc610b79565b6001600160a01b0316146109f25760405162461bcd60e51b815260040161068290611ba2565b6040514790339082156108fc029083906000818181858888f19350505050158015610a21573d6000803e3d6000fd5b5050565b6107b383838360405180602001604052806000815250610d8d565b6000818152600260205260408120546001600160a01b0316806105825760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b6064820152608401610682565b60006001600160a01b038216610b225760405162461bcd60e51b815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604482015269726f206164647265737360b01b6064820152608401610682565b506001600160a01b031660009081526003602052604090205490565b33610b47610b79565b6001600160a01b031614610b6d5760405162461bcd60e51b815260040161068290611ba2565b610b7760006112f8565b565b6006546001600160a01b031690565b33610b91610b79565b6001600160a01b031614610bb75760405162461bcd60e51b815260040161068290611ba2565b8051610a219060089060208401906116da565b33610bd3610b79565b6001600160a01b031614610bf95760405162461bcd60e51b815260040161068290611ba2565b600b55565b60606001805461059790611c97565b600e8054610c1a90611c97565b80601f0160208091040260200160405190810160405280929190818152602001828054610c4690611c97565b8015610c935780601f10610c6857610100808354040283529160200191610c93565b820191906000526020600020905b815481529060010190602001808311610c7657829003601f168201915b505050505081565b60088054610c1a90611c97565b6001600160a01b038216331415610cfd5760405162461bcd60e51b815260206004820152601960248201527822a9219b99189d1030b8383937bb32903a379031b0b63632b960391b6044820152606401610682565b3360008181526005602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6000610d7460075490565b905090565b6000610d8460075490565b600c5411905090565b610d9733836110a0565b610db35760405162461bcd60e51b815260040161068290611bd7565b610dbf8484848461134a565b50505050565b33610dce610b79565b6001600160a01b031614610df45760405162461bcd60e51b815260040161068290611ba2565b4781811015610e455760405162461bcd60e51b815260206004820152601e60248201527f576520646f6e7420686176652074686174206d75636820746f207061792100006044820152606401610682565b6040516001600160a01b0384169083156108fc029084906000818181858888f19350505050158015610dbf573d6000803e3d6000fd5b6060610e8682610ffb565b610eec5760405162461bcd60e51b815260206004820152603160248201527f45524337323155524953746f726167653a2055524920717565727920666f72206044820152703737b732bc34b9ba32b73a103a37b5b2b760791b6064820152608401610682565b6008610ef78361137d565b604051602001610f08929190611a59565b6040516020818303038152906040529050919050565b6060600e805461059790611c97565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b33610f64610b79565b6001600160a01b031614610f8a5760405162461bcd60e51b815260040161068290611ba2565b6001600160a01b038116610fef5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610682565b610ff8816112f8565b50565b6000908152600260205260409020546001600160a01b0316151590565b600081815260046020526040902080546001600160a01b0319166001600160a01b038416908117909155819061104d82610a40565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b610a2182826040518060200160405280600081525061147a565b60006110ab82610ffb565b61110c5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608401610682565b600061111783610a40565b9050806001600160a01b0316846001600160a01b031614806111525750836001600160a01b03166111478461061a565b6001600160a01b0316145b8061116257506111628185610f2d565b949350505050565b826001600160a01b031661117d82610a40565b6001600160a01b0316146111e55760405162461bcd60e51b815260206004820152602960248201527f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960448201526839903737ba1037bbb760b91b6064820152608401610682565b6001600160a01b0382166112475760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610682565b611252600082611018565b6001600160a01b038316600090815260036020526040812080546001929061127b908490611c54565b90915550506001600160a01b03821660009081526003602052604081208054600192906112a9908490611c28565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b038681169182179092559151849391871691600080516020611d7083398151915291a4505050565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b61135584848461116a565b611361848484846114ad565b610dbf5760405162461bcd60e51b815260040161068290611b50565b6060816113a15750506040805180820190915260018152600360fc1b602082015290565b8160005b81156113cb57806113b581611cd2565b91506113c49050600a83611c40565b91506113a5565b6000816001600160401b038111156113e5576113e5611d43565b6040519080825280601f01601f19166020018201604052801561140f576020820181803683370190505b5090505b841561116257611424600183611c54565b9150611431600a86611ced565b61143c906030611c28565b60f81b81838151811061145157611451611d2d565b60200101906001600160f81b031916908160001a905350611473600a86611c40565b9450611413565b61148483836115ba565b61149160008484846114ad565b6107b35760405162461bcd60e51b815260040161068290611b50565b60006001600160a01b0384163b156115af57604051630a85bd0160e11b81526001600160a01b0385169063150b7a02906114f1903390899088908890600401611b00565b602060405180830381600087803b15801561150b57600080fd5b505af192505050801561153b575060408051601f3d908101601f1916820190925261153891810190611993565b60015b611595573d808015611569576040519150601f19603f3d011682016040523d82523d6000602084013e61156e565b606091505b50805161158d5760405162461bcd60e51b815260040161068290611b50565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611162565b506001949350505050565b6001600160a01b0382166116105760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610682565b61161981610ffb565b156116655760405162461bcd60e51b815260206004820152601c60248201527b115490cdcc8c4e881d1bdad95b88185b1c9958591e481b5a5b9d195960221b6044820152606401610682565b6001600160a01b038216600090815260036020526040812080546001929061168e908490611c28565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b0386169081179091559051839290600080516020611d70833981519152908290a45050565b8280546116e690611c97565b90600052602060002090601f016020900481019282611708576000855561174e565b82601f1061172157805160ff191683800117855561174e565b8280016001018555821561174e579182015b8281111561174e578251825591602001919060010190611733565b5061175a92915061175e565b5090565b5b8082111561175a576000815560010161175f565b60006001600160401b038084111561178d5761178d611d43565b604051601f8501601f19908116603f011681019082821181831017156117b5576117b5611d43565b816040528093508581528686860111156117ce57600080fd5b858560208301376000602087830101525050509392505050565b80356001600160a01b03811681146117ff57600080fd5b919050565b60006020828403121561181657600080fd5b61181f826117e8565b9392505050565b6000806040838503121561183957600080fd5b611842836117e8565b9150611850602084016117e8565b90509250929050565b60008060006060848603121561186e57600080fd5b611877846117e8565b9250611885602085016117e8565b9150604084013590509250925092565b600080600080608085870312156118ab57600080fd5b6118b4856117e8565b93506118c2602086016117e8565b92506040850135915060608501356001600160401b038111156118e457600080fd5b8501601f810187136118f557600080fd5b61190487823560208401611773565b91505092959194509250565b6000806040838503121561192357600080fd5b61192c836117e8565b91506020830135801515811461194157600080fd5b809150509250929050565b6000806040838503121561195f57600080fd5b611968836117e8565b946020939093013593505050565b60006020828403121561198857600080fd5b813561181f81611d59565b6000602082840312156119a557600080fd5b815161181f81611d59565b6000602082840312156119c257600080fd5b81356001600160401b038111156119d857600080fd5b8201601f810184136119e957600080fd5b61116284823560208401611773565b600060208284031215611a0a57600080fd5b5035919050565b60008151808452611a29816020860160208601611c6b565b601f01601f19169290920160200192915050565b60008151611a4f818560208601611c6b565b9290920192915050565b600080845481600182811c915080831680611a7557607f831692505b6020808410821415611a9557634e487b7160e01b86526022600452602486fd5b818015611aa95760018114611aba57611ae7565b60ff19861689528489019650611ae7565b60008b81526020902060005b86811015611adf5781548b820152908501908301611ac6565b505084890196505b505050505050611af78185611a3d565b95945050505050565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090611b3390830184611a11565b9695505050505050565b60208152600061181f6020830184611a11565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b60008219821115611c3b57611c3b611d01565b500190565b600082611c4f57611c4f611d17565b500490565b600082821015611c6657611c66611d01565b500390565b60005b83811015611c86578181015183820152602001611c6e565b83811115610dbf5750506000910152565b600181811c90821680611cab57607f821691505b60208210811415611ccc57634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415611ce657611ce6611d01565b5060010190565b600082611cfc57611cfc611d17565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160e01b031981168114610ff857600080fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220f345a8f5c6ea5fd6c74a8a77eb194a9554570d7a124b954eeb6ee708c00cc20f64736f6c63430008060033",
"linkReferences": {},
"deployedLinkReferences": {}
}