@artblocks/contracts 0.0.1 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. package/README.md +30 -11
  2. package/artifacts/contracts/AdminACLV1.sol/AdminACLV1.json +2 -2
  3. package/artifacts/contracts/BasicPolyptychRandomizerV0.sol/BasicPolyptychRandomizerV0.json +229 -0
  4. package/artifacts/contracts/BasicRandomizerV2.sol/BasicRandomizerV2.json +3 -3
  5. package/artifacts/contracts/GenArt721CoreV3.sol/GenArt721CoreV3.json +2 -2
  6. package/artifacts/contracts/GenArt721CoreV3_Engine.sol/GenArt721CoreV3_Engine.json +2 -2
  7. package/artifacts/contracts/archive/GenArt721CoreV0.sol/Address.json +10 -0
  8. package/artifacts/contracts/archive/GenArt721CoreV0.sol/Counters.json +10 -0
  9. package/artifacts/contracts/archive/GenArt721CoreV0.sol/CustomERC721Metadata.json +425 -0
  10. package/artifacts/contracts/archive/GenArt721CoreV0.sol/ERC165.json +38 -0
  11. package/artifacts/contracts/archive/GenArt721CoreV0.sol/ERC721.json +322 -0
  12. package/artifacts/contracts/archive/GenArt721CoreV0.sol/ERC721Enumerable.json +384 -0
  13. package/artifacts/contracts/archive/GenArt721CoreV0.sol/ERC721ReceiverMock.json +101 -0
  14. package/artifacts/contracts/archive/GenArt721CoreV0.sol/GenArt721.json +1528 -0
  15. package/artifacts/contracts/archive/GenArt721CoreV0.sol/IERC165.json +32 -0
  16. package/artifacts/contracts/archive/GenArt721CoreV0.sol/IERC721.json +316 -0
  17. package/artifacts/contracts/archive/GenArt721CoreV0.sol/IERC721Enumerable.json +378 -0
  18. package/artifacts/contracts/archive/GenArt721CoreV0.sol/IERC721Receiver.json +47 -0
  19. package/artifacts/contracts/archive/GenArt721CoreV0.sol/SafeMath.json +10 -0
  20. package/artifacts/contracts/archive/GenArt721CoreV0.sol/Strings.json +10 -0
  21. package/artifacts/contracts/archive/GenArt721CoreV1.sol/Address.json +10 -0
  22. package/artifacts/contracts/archive/GenArt721CoreV1.sol/Counters.json +10 -0
  23. package/artifacts/contracts/archive/GenArt721CoreV1.sol/CustomERC721Metadata.json +425 -0
  24. package/artifacts/contracts/archive/GenArt721CoreV1.sol/ERC165.json +38 -0
  25. package/artifacts/contracts/archive/GenArt721CoreV1.sol/ERC721.json +322 -0
  26. package/artifacts/contracts/archive/GenArt721CoreV1.sol/ERC721Enumerable.json +384 -0
  27. package/artifacts/contracts/archive/GenArt721CoreV1.sol/GenArt721Core.json +1773 -0
  28. package/artifacts/contracts/archive/GenArt721CoreV1.sol/IERC165.json +32 -0
  29. package/artifacts/contracts/archive/GenArt721CoreV1.sol/IERC721.json +316 -0
  30. package/artifacts/contracts/archive/GenArt721CoreV1.sol/IERC721Enumerable.json +378 -0
  31. package/artifacts/contracts/archive/GenArt721CoreV1.sol/IERC721Receiver.json +47 -0
  32. package/artifacts/contracts/archive/GenArt721CoreV1.sol/Randomizer.json +26 -0
  33. package/artifacts/contracts/archive/GenArt721CoreV1.sol/SafeMath.json +10 -0
  34. package/artifacts/contracts/archive/GenArt721CoreV1.sol/Strings.json +10 -0
  35. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV0.sol/MinterDAExpV0.json +575 -0
  36. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV1.sol/MinterDAExpV1.json +463 -0
  37. package/artifacts/contracts/{minter-suite → archive/minter-suite}/Minters/MinterDAExp/MinterDAExpV2.sol/MinterDAExpV2.json +3 -3
  38. package/artifacts/contracts/{minter-suite → archive/minter-suite}/Minters/MinterDAExp/MinterDAExpV3.sol/MinterDAExpV3.json +3 -3
  39. package/artifacts/contracts/{minter-suite → archive/minter-suite}/Minters/MinterDAExpSettlement/MinterDAExpSettlementV0.sol/MinterDAExpSettlementV0.json +15 -15
  40. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV1.sol/MinterDAExpSettlementV1.json +1066 -0
  41. package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV0.sol/MinterDALinV0.json +551 -0
  42. package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV1.sol/MinterDALinV1.json +439 -0
  43. package/artifacts/contracts/{minter-suite → archive/minter-suite}/Minters/MinterDALin/MinterDALinV2.sol/MinterDALinV2.json +3 -3
  44. package/artifacts/contracts/{minter-suite → archive/minter-suite}/Minters/MinterDALin/MinterDALinV3.sol/MinterDALinV3.json +3 -3
  45. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV0.sol/MinterHolderV0.json +622 -0
  46. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV1.sol/MinterHolderV1.json +719 -0
  47. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV2.sol/MinterHolderV2.json +794 -0
  48. package/artifacts/contracts/{minter-suite → archive/minter-suite}/Minters/MinterHolder/MinterHolderV3.sol/MinterHolderV3.json +3 -3
  49. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV0.sol/MinterMerkleV0.json +873 -0
  50. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV1.sol/MinterMerkleV1.json +932 -0
  51. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV2.sol/MinterMerkleV2.json +984 -0
  52. package/artifacts/contracts/{minter-suite → archive/minter-suite}/Minters/MinterMerkle/MinterMerkleV3.sol/MinterMerkleV3.json +3 -3
  53. package/artifacts/contracts/{minter-suite → archive/minter-suite}/Minters/MinterMerkle/MinterMerkleV4.sol/MinterMerkleV4.json +3 -3
  54. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV0.sol/MinterSetPriceV0.json +400 -0
  55. package/artifacts/contracts/{minter-suite/Minters/MinterSetPrice/deprecated → archive/minter-suite/Minters/MinterSetPrice}/MinterSetPriceV1.sol/MinterSetPriceV1.json +3 -3
  56. package/artifacts/contracts/{minter-suite → archive/minter-suite}/Minters/MinterSetPrice/MinterSetPriceV2.sol/MinterSetPriceV2.json +3 -3
  57. package/artifacts/contracts/{minter-suite → archive/minter-suite}/Minters/MinterSetPrice/MinterSetPriceV3.sol/MinterSetPriceV3.json +3 -3
  58. package/artifacts/contracts/{minter-suite/Minters/MinterSetPriceERC20/deprecated → archive/minter-suite/Minters/MinterSetPriceERC20}/MinterSetPriceERC20V0.sol/MinterSetPriceERC20V0.json +3 -3
  59. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V1.sol/MinterSetPriceERC20V1.json +349 -0
  60. package/artifacts/contracts/{minter-suite → archive/minter-suite}/Minters/MinterSetPriceERC20/MinterSetPriceERC20V2.sol/MinterSetPriceERC20V2.json +3 -3
  61. package/artifacts/contracts/{minter-suite → archive/minter-suite}/Minters/MinterSetPriceERC20/MinterSetPriceERC20V3.sol/MinterSetPriceERC20V3.json +3 -3
  62. package/artifacts/contracts/explorations/GenArt721CoreV3_Explorations.sol/GenArt721CoreV3_Explorations.json +2 -2
  63. package/artifacts/contracts/interfaces/0.8.x/IFilteredMinterDAExpSettlementV0.sol/IFilteredMinterDAExpSettlementV0.json +12 -12
  64. package/artifacts/contracts/interfaces/0.8.x/IFilteredMinterDAExpSettlementV1.sol/IFilteredMinterDAExpSettlementV1.json +767 -0
  65. package/artifacts/contracts/interfaces/0.8.x/IFilteredMinterDAExpSettlement_Mixin.sol/IFilteredMinterDAExpSettlement_Mixin.json +161 -0
  66. package/artifacts/contracts/interfaces/0.8.x/IMinterBaseV0.sol/IMinterBaseV0.json +24 -0
  67. package/artifacts/contracts/interfaces/0.8.x/IMinterFilterV0.sol/IMinterFilterV0.json +6 -0
  68. package/artifacts/contracts/interfaces/0.8.x/IMintingAPICoreV0.sol/IMintingAPICoreV0.json +185 -0
  69. package/artifacts/contracts/interfaces/0.8.x/IMintingAPIMinterV0.sol/IMintingAPIMinterV0.json +88 -0
  70. package/artifacts/contracts/interfaces/0.8.x/IRandomizerPolyptychV0.sol/IRandomizerPolyptychV0.json +87 -0
  71. package/artifacts/contracts/interfaces/0.8.x/IRandomizerV2.sol/IRandomizerV2.json +1 -1
  72. package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV0.sol/MinterFilterV0.json +8 -2
  73. package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV1.sol/MinterFilterV1.json +34 -2
  74. package/artifacts/contracts/minter-suite/Minters/MinterBase_v0_1_1.sol/MinterBase.json +24 -0
  75. package/artifacts/contracts/minter-suite/Minters/MinterDAExpSettlementV2.sol/MinterDAExpSettlementV2.json +1127 -0
  76. package/artifacts/contracts/minter-suite/Minters/MinterDAExpV4.sol/MinterDAExpV4.json +882 -0
  77. package/artifacts/contracts/minter-suite/Minters/MinterDALinV4.sol/MinterDALinV4.json +858 -0
  78. package/artifacts/contracts/minter-suite/Minters/MinterHolderV4.sol/MinterHolderV4.json +1126 -0
  79. package/artifacts/contracts/minter-suite/Minters/MinterMerkleV5.sol/MinterMerkleV5.json +1065 -0
  80. package/artifacts/contracts/minter-suite/Minters/MinterPolyptychV0.sol/IGenArt721CoreContractV3WithRandomizer.json +662 -0
  81. package/artifacts/contracts/minter-suite/Minters/MinterPolyptychV0.sol/MinterPolyptychV0.json +1268 -0
  82. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceERC20V4.sol/MinterSetPriceERC20V4.json +768 -0
  83. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceV4.sol/MinterSetPriceV4.json +697 -0
  84. package/artifacts/contracts/mock/GenArt721CoreV3_Engine_IncorrectCoreType.sol/GenArt721CoreV3_Engine_IncorrectCoreType.json +1817 -0
  85. package/artifacts/contracts/mock/RandomizerV2_NoAssignMock.sol/RandomizerV2_NoAssignMock.json +3 -3
  86. package/contracts/BasicPolyptychRandomizerV0.sol +126 -0
  87. package/contracts/BasicRandomizerV2.sol +3 -3
  88. package/contracts/archive/GenArt721CoreV0.sol +1621 -0
  89. package/contracts/archive/GenArt721CoreV1.sol +1577 -0
  90. package/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV0.sol +503 -0
  91. package/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV1.sol +442 -0
  92. package/contracts/{minter-suite → archive/minter-suite}/Minters/MinterDAExp/MinterDAExpV2.sol +3 -3
  93. package/contracts/{minter-suite → archive/minter-suite}/Minters/MinterDAExp/MinterDAExpV3.sol +3 -3
  94. package/contracts/{minter-suite → archive/minter-suite}/Minters/MinterDAExpSettlement/MinterDAExpSettlementV0.sol +3 -3
  95. package/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV1.sol +1026 -0
  96. package/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV0.sol +450 -0
  97. package/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV1.sol +406 -0
  98. package/contracts/{minter-suite → archive/minter-suite}/Minters/MinterDALin/MinterDALinV2.sol +3 -3
  99. package/contracts/{minter-suite → archive/minter-suite}/Minters/MinterDALin/MinterDALinV3.sol +3 -3
  100. package/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV0.sol +540 -0
  101. package/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV1.sol +648 -0
  102. package/contracts/{minter-suite → archive/minter-suite}/Minters/MinterHolder/MinterHolderV2.sol +6 -6
  103. package/contracts/{minter-suite → archive/minter-suite}/Minters/MinterHolder/MinterHolderV3.sol +4 -4
  104. package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV0.sol +523 -0
  105. package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV1.sol +602 -0
  106. package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV2.sol +679 -0
  107. package/contracts/{minter-suite → archive/minter-suite}/Minters/MinterMerkle/MinterMerkleV3.sol +4 -4
  108. package/contracts/{minter-suite → archive/minter-suite}/Minters/MinterMerkle/MinterMerkleV4.sol +4 -4
  109. package/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV0.sol +333 -0
  110. package/contracts/{minter-suite/Minters/MinterSetPrice/deprecated → archive/minter-suite/Minters/MinterSetPrice}/MinterSetPriceV1.sol +0 -0
  111. package/contracts/{minter-suite → archive/minter-suite}/Minters/MinterSetPrice/MinterSetPriceV2.sol +3 -3
  112. package/contracts/{minter-suite → archive/minter-suite}/Minters/MinterSetPrice/MinterSetPriceV3.sol +3 -3
  113. package/contracts/{minter-suite/Minters/MinterSetPriceERC20/deprecated → archive/minter-suite/Minters/MinterSetPriceERC20}/MinterSetPriceERC20V0.sol +0 -0
  114. package/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V1.sol +411 -0
  115. package/contracts/{minter-suite → archive/minter-suite}/Minters/MinterSetPriceERC20/MinterSetPriceERC20V2.sol +3 -3
  116. package/contracts/{minter-suite → archive/minter-suite}/Minters/MinterSetPriceERC20/MinterSetPriceERC20V3.sol +3 -3
  117. package/contracts/interfaces/0.8.x/IFilteredMinterDAExpSettlementV0.sol +4 -53
  118. package/contracts/interfaces/0.8.x/IFilteredMinterDAExpSettlementV1.sol +21 -0
  119. package/contracts/interfaces/0.8.x/IFilteredMinterDAExpSettlement_Mixin.sol +62 -0
  120. package/contracts/interfaces/0.8.x/IMinterBaseV0.sol +20 -0
  121. package/contracts/interfaces/0.8.x/IMinterFilterV0.sol +6 -0
  122. package/contracts/interfaces/0.8.x/IMintingAPICoreV0.sol +62 -0
  123. package/contracts/interfaces/0.8.x/IMintingAPIMinterV0.sol +31 -0
  124. package/contracts/interfaces/0.8.x/IRandomizerPolyptychV0.sol +31 -0
  125. package/contracts/interfaces/0.8.x/IRandomizerV2.sol +5 -2
  126. package/contracts/minter-suite/MinterFilter/MinterFilterV1.sol +18 -0
  127. package/contracts/minter-suite/Minters/MinterBase_v0_1_1.sol +293 -0
  128. package/contracts/minter-suite/Minters/MinterDAExpSettlementV2.sol +1312 -0
  129. package/contracts/minter-suite/Minters/MinterDAExpV4.sol +600 -0
  130. package/contracts/minter-suite/Minters/MinterDALinV4.sol +552 -0
  131. package/contracts/minter-suite/Minters/MinterHolderV4.sol +781 -0
  132. package/contracts/minter-suite/Minters/MinterMerkleV5.sol +717 -0
  133. package/contracts/minter-suite/Minters/MinterPolyptychV0.sol +998 -0
  134. package/contracts/minter-suite/Minters/MinterSetPriceERC20V4.sol +480 -0
  135. package/contracts/minter-suite/Minters/MinterSetPriceV4.sol +380 -0
  136. package/contracts/mock/GenArt721CoreV3_Engine_IncorrectCoreType.sol +1979 -0
  137. package/package.json +8 -2
  138. package/artifacts/contracts/minter-suite/Minters/MinterHolder/MinterHolderV2.sol/MinterHolderV2.json +0 -794
@@ -0,0 +1,1127 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "MinterDAExpSettlementV2",
4
+ "sourceName": "contracts/minter-suite/Minters/MinterDAExpSettlementV2.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "_genArt721Address",
11
+ "type": "address"
12
+ },
13
+ {
14
+ "internalType": "address",
15
+ "name": "_minterFilter",
16
+ "type": "address"
17
+ }
18
+ ],
19
+ "stateMutability": "nonpayable",
20
+ "type": "constructor"
21
+ },
22
+ {
23
+ "anonymous": false,
24
+ "inputs": [
25
+ {
26
+ "indexed": true,
27
+ "internalType": "uint256",
28
+ "name": "_projectId",
29
+ "type": "uint256"
30
+ }
31
+ ],
32
+ "name": "ArtistAndAdminRevenuesWithdrawn",
33
+ "type": "event"
34
+ },
35
+ {
36
+ "anonymous": false,
37
+ "inputs": [
38
+ {
39
+ "indexed": false,
40
+ "internalType": "uint256",
41
+ "name": "_minimumPriceDecayHalfLifeSeconds",
42
+ "type": "uint256"
43
+ },
44
+ {
45
+ "indexed": false,
46
+ "internalType": "uint256",
47
+ "name": "_maximumPriceDecayHalfLifeSeconds",
48
+ "type": "uint256"
49
+ }
50
+ ],
51
+ "name": "AuctionHalfLifeRangeSecondsUpdated",
52
+ "type": "event"
53
+ },
54
+ {
55
+ "anonymous": false,
56
+ "inputs": [
57
+ {
58
+ "indexed": true,
59
+ "internalType": "uint256",
60
+ "name": "_projectId",
61
+ "type": "uint256"
62
+ },
63
+ {
64
+ "indexed": false,
65
+ "internalType": "bytes32",
66
+ "name": "_key",
67
+ "type": "bytes32"
68
+ }
69
+ ],
70
+ "name": "ConfigKeyRemoved",
71
+ "type": "event"
72
+ },
73
+ {
74
+ "anonymous": false,
75
+ "inputs": [
76
+ {
77
+ "indexed": true,
78
+ "internalType": "uint256",
79
+ "name": "_projectId",
80
+ "type": "uint256"
81
+ },
82
+ {
83
+ "indexed": false,
84
+ "internalType": "bytes32",
85
+ "name": "_key",
86
+ "type": "bytes32"
87
+ },
88
+ {
89
+ "indexed": false,
90
+ "internalType": "uint256",
91
+ "name": "_value",
92
+ "type": "uint256"
93
+ }
94
+ ],
95
+ "name": "ConfigValueAddedToSet",
96
+ "type": "event"
97
+ },
98
+ {
99
+ "anonymous": false,
100
+ "inputs": [
101
+ {
102
+ "indexed": true,
103
+ "internalType": "uint256",
104
+ "name": "_projectId",
105
+ "type": "uint256"
106
+ },
107
+ {
108
+ "indexed": false,
109
+ "internalType": "bytes32",
110
+ "name": "_key",
111
+ "type": "bytes32"
112
+ },
113
+ {
114
+ "indexed": false,
115
+ "internalType": "address",
116
+ "name": "_value",
117
+ "type": "address"
118
+ }
119
+ ],
120
+ "name": "ConfigValueAddedToSet",
121
+ "type": "event"
122
+ },
123
+ {
124
+ "anonymous": false,
125
+ "inputs": [
126
+ {
127
+ "indexed": true,
128
+ "internalType": "uint256",
129
+ "name": "_projectId",
130
+ "type": "uint256"
131
+ },
132
+ {
133
+ "indexed": false,
134
+ "internalType": "bytes32",
135
+ "name": "_key",
136
+ "type": "bytes32"
137
+ },
138
+ {
139
+ "indexed": false,
140
+ "internalType": "bytes32",
141
+ "name": "_value",
142
+ "type": "bytes32"
143
+ }
144
+ ],
145
+ "name": "ConfigValueAddedToSet",
146
+ "type": "event"
147
+ },
148
+ {
149
+ "anonymous": false,
150
+ "inputs": [
151
+ {
152
+ "indexed": true,
153
+ "internalType": "uint256",
154
+ "name": "_projectId",
155
+ "type": "uint256"
156
+ },
157
+ {
158
+ "indexed": false,
159
+ "internalType": "bytes32",
160
+ "name": "_key",
161
+ "type": "bytes32"
162
+ },
163
+ {
164
+ "indexed": false,
165
+ "internalType": "uint256",
166
+ "name": "_value",
167
+ "type": "uint256"
168
+ }
169
+ ],
170
+ "name": "ConfigValueRemovedFromSet",
171
+ "type": "event"
172
+ },
173
+ {
174
+ "anonymous": false,
175
+ "inputs": [
176
+ {
177
+ "indexed": true,
178
+ "internalType": "uint256",
179
+ "name": "_projectId",
180
+ "type": "uint256"
181
+ },
182
+ {
183
+ "indexed": false,
184
+ "internalType": "bytes32",
185
+ "name": "_key",
186
+ "type": "bytes32"
187
+ },
188
+ {
189
+ "indexed": false,
190
+ "internalType": "address",
191
+ "name": "_value",
192
+ "type": "address"
193
+ }
194
+ ],
195
+ "name": "ConfigValueRemovedFromSet",
196
+ "type": "event"
197
+ },
198
+ {
199
+ "anonymous": false,
200
+ "inputs": [
201
+ {
202
+ "indexed": true,
203
+ "internalType": "uint256",
204
+ "name": "_projectId",
205
+ "type": "uint256"
206
+ },
207
+ {
208
+ "indexed": false,
209
+ "internalType": "bytes32",
210
+ "name": "_key",
211
+ "type": "bytes32"
212
+ },
213
+ {
214
+ "indexed": false,
215
+ "internalType": "bytes32",
216
+ "name": "_value",
217
+ "type": "bytes32"
218
+ }
219
+ ],
220
+ "name": "ConfigValueRemovedFromSet",
221
+ "type": "event"
222
+ },
223
+ {
224
+ "anonymous": false,
225
+ "inputs": [
226
+ {
227
+ "indexed": true,
228
+ "internalType": "uint256",
229
+ "name": "_projectId",
230
+ "type": "uint256"
231
+ },
232
+ {
233
+ "indexed": false,
234
+ "internalType": "bytes32",
235
+ "name": "_key",
236
+ "type": "bytes32"
237
+ },
238
+ {
239
+ "indexed": false,
240
+ "internalType": "bool",
241
+ "name": "_value",
242
+ "type": "bool"
243
+ }
244
+ ],
245
+ "name": "ConfigValueSet",
246
+ "type": "event"
247
+ },
248
+ {
249
+ "anonymous": false,
250
+ "inputs": [
251
+ {
252
+ "indexed": true,
253
+ "internalType": "uint256",
254
+ "name": "_projectId",
255
+ "type": "uint256"
256
+ },
257
+ {
258
+ "indexed": false,
259
+ "internalType": "bytes32",
260
+ "name": "_key",
261
+ "type": "bytes32"
262
+ },
263
+ {
264
+ "indexed": false,
265
+ "internalType": "uint256",
266
+ "name": "_value",
267
+ "type": "uint256"
268
+ }
269
+ ],
270
+ "name": "ConfigValueSet",
271
+ "type": "event"
272
+ },
273
+ {
274
+ "anonymous": false,
275
+ "inputs": [
276
+ {
277
+ "indexed": true,
278
+ "internalType": "uint256",
279
+ "name": "_projectId",
280
+ "type": "uint256"
281
+ },
282
+ {
283
+ "indexed": false,
284
+ "internalType": "bytes32",
285
+ "name": "_key",
286
+ "type": "bytes32"
287
+ },
288
+ {
289
+ "indexed": false,
290
+ "internalType": "address",
291
+ "name": "_value",
292
+ "type": "address"
293
+ }
294
+ ],
295
+ "name": "ConfigValueSet",
296
+ "type": "event"
297
+ },
298
+ {
299
+ "anonymous": false,
300
+ "inputs": [
301
+ {
302
+ "indexed": true,
303
+ "internalType": "uint256",
304
+ "name": "_projectId",
305
+ "type": "uint256"
306
+ },
307
+ {
308
+ "indexed": false,
309
+ "internalType": "bytes32",
310
+ "name": "_key",
311
+ "type": "bytes32"
312
+ },
313
+ {
314
+ "indexed": false,
315
+ "internalType": "bytes32",
316
+ "name": "_value",
317
+ "type": "bytes32"
318
+ }
319
+ ],
320
+ "name": "ConfigValueSet",
321
+ "type": "event"
322
+ },
323
+ {
324
+ "anonymous": false,
325
+ "inputs": [
326
+ {
327
+ "indexed": true,
328
+ "internalType": "uint256",
329
+ "name": "_projectId",
330
+ "type": "uint256"
331
+ },
332
+ {
333
+ "indexed": true,
334
+ "internalType": "uint256",
335
+ "name": "_pricePerTokenInWei",
336
+ "type": "uint256"
337
+ }
338
+ ],
339
+ "name": "PricePerTokenInWeiUpdated",
340
+ "type": "event"
341
+ },
342
+ {
343
+ "anonymous": false,
344
+ "inputs": [
345
+ {
346
+ "indexed": true,
347
+ "internalType": "uint256",
348
+ "name": "_projectId",
349
+ "type": "uint256"
350
+ },
351
+ {
352
+ "indexed": true,
353
+ "internalType": "address",
354
+ "name": "_currencyAddress",
355
+ "type": "address"
356
+ },
357
+ {
358
+ "indexed": false,
359
+ "internalType": "string",
360
+ "name": "_currencySymbol",
361
+ "type": "string"
362
+ }
363
+ ],
364
+ "name": "ProjectCurrencyInfoUpdated",
365
+ "type": "event"
366
+ },
367
+ {
368
+ "anonymous": false,
369
+ "inputs": [
370
+ {
371
+ "indexed": true,
372
+ "internalType": "uint256",
373
+ "name": "_projectId",
374
+ "type": "uint256"
375
+ },
376
+ {
377
+ "indexed": false,
378
+ "internalType": "uint256",
379
+ "name": "_maxInvocations",
380
+ "type": "uint256"
381
+ }
382
+ ],
383
+ "name": "ProjectMaxInvocationsLimitUpdated",
384
+ "type": "event"
385
+ },
386
+ {
387
+ "anonymous": false,
388
+ "inputs": [
389
+ {
390
+ "indexed": true,
391
+ "internalType": "uint256",
392
+ "name": "_projectId",
393
+ "type": "uint256"
394
+ },
395
+ {
396
+ "indexed": false,
397
+ "internalType": "bool",
398
+ "name": "_purchaseToDisabled",
399
+ "type": "bool"
400
+ }
401
+ ],
402
+ "name": "PurchaseToDisabledUpdated",
403
+ "type": "event"
404
+ },
405
+ {
406
+ "anonymous": false,
407
+ "inputs": [
408
+ {
409
+ "indexed": true,
410
+ "internalType": "address",
411
+ "name": "_purchaser",
412
+ "type": "address"
413
+ },
414
+ {
415
+ "indexed": true,
416
+ "internalType": "uint256",
417
+ "name": "_projectId",
418
+ "type": "uint256"
419
+ },
420
+ {
421
+ "indexed": false,
422
+ "internalType": "uint256",
423
+ "name": "_numPurchased",
424
+ "type": "uint256"
425
+ },
426
+ {
427
+ "indexed": false,
428
+ "internalType": "uint256",
429
+ "name": "_netPosted",
430
+ "type": "uint256"
431
+ }
432
+ ],
433
+ "name": "ReceiptUpdated",
434
+ "type": "event"
435
+ },
436
+ {
437
+ "anonymous": false,
438
+ "inputs": [
439
+ {
440
+ "indexed": true,
441
+ "internalType": "uint256",
442
+ "name": "projectId",
443
+ "type": "uint256"
444
+ }
445
+ ],
446
+ "name": "ResetAuctionDetails",
447
+ "type": "event"
448
+ },
449
+ {
450
+ "anonymous": false,
451
+ "inputs": [
452
+ {
453
+ "indexed": true,
454
+ "internalType": "uint256",
455
+ "name": "projectId",
456
+ "type": "uint256"
457
+ },
458
+ {
459
+ "indexed": false,
460
+ "internalType": "uint256",
461
+ "name": "numPurchases",
462
+ "type": "uint256"
463
+ },
464
+ {
465
+ "indexed": false,
466
+ "internalType": "uint256",
467
+ "name": "latestPurchasePrice",
468
+ "type": "uint256"
469
+ }
470
+ ],
471
+ "name": "ResetAuctionDetails",
472
+ "type": "event"
473
+ },
474
+ {
475
+ "anonymous": false,
476
+ "inputs": [
477
+ {
478
+ "indexed": true,
479
+ "internalType": "uint256",
480
+ "name": "_projectId",
481
+ "type": "uint256"
482
+ },
483
+ {
484
+ "indexed": false,
485
+ "internalType": "uint256",
486
+ "name": "_selloutPrice",
487
+ "type": "uint256"
488
+ }
489
+ ],
490
+ "name": "SelloutPriceUpdated",
491
+ "type": "event"
492
+ },
493
+ {
494
+ "anonymous": false,
495
+ "inputs": [
496
+ {
497
+ "indexed": true,
498
+ "internalType": "uint256",
499
+ "name": "projectId",
500
+ "type": "uint256"
501
+ },
502
+ {
503
+ "indexed": false,
504
+ "internalType": "uint256",
505
+ "name": "_auctionTimestampStart",
506
+ "type": "uint256"
507
+ },
508
+ {
509
+ "indexed": false,
510
+ "internalType": "uint256",
511
+ "name": "_priceDecayHalfLifeSeconds",
512
+ "type": "uint256"
513
+ },
514
+ {
515
+ "indexed": false,
516
+ "internalType": "uint256",
517
+ "name": "_startPrice",
518
+ "type": "uint256"
519
+ },
520
+ {
521
+ "indexed": false,
522
+ "internalType": "uint256",
523
+ "name": "_basePrice",
524
+ "type": "uint256"
525
+ }
526
+ ],
527
+ "name": "SetAuctionDetails",
528
+ "type": "event"
529
+ },
530
+ {
531
+ "inputs": [
532
+ {
533
+ "internalType": "uint256",
534
+ "name": "_projectId",
535
+ "type": "uint256"
536
+ },
537
+ {
538
+ "internalType": "uint256",
539
+ "name": "_newSelloutPrice",
540
+ "type": "uint256"
541
+ }
542
+ ],
543
+ "name": "adminEmergencyReduceSelloutPrice",
544
+ "outputs": [],
545
+ "stateMutability": "nonpayable",
546
+ "type": "function"
547
+ },
548
+ {
549
+ "inputs": [],
550
+ "name": "genArt721CoreAddress",
551
+ "outputs": [
552
+ {
553
+ "internalType": "address",
554
+ "name": "",
555
+ "type": "address"
556
+ }
557
+ ],
558
+ "stateMutability": "view",
559
+ "type": "function"
560
+ },
561
+ {
562
+ "inputs": [
563
+ {
564
+ "internalType": "uint256",
565
+ "name": "_projectId",
566
+ "type": "uint256"
567
+ }
568
+ ],
569
+ "name": "getNumSettleableInvocations",
570
+ "outputs": [
571
+ {
572
+ "internalType": "uint256",
573
+ "name": "numSettleableInvocations",
574
+ "type": "uint256"
575
+ }
576
+ ],
577
+ "stateMutability": "view",
578
+ "type": "function"
579
+ },
580
+ {
581
+ "inputs": [
582
+ {
583
+ "internalType": "uint256",
584
+ "name": "_projectId",
585
+ "type": "uint256"
586
+ }
587
+ ],
588
+ "name": "getPriceInfo",
589
+ "outputs": [
590
+ {
591
+ "internalType": "bool",
592
+ "name": "isConfigured",
593
+ "type": "bool"
594
+ },
595
+ {
596
+ "internalType": "uint256",
597
+ "name": "tokenPriceInWei",
598
+ "type": "uint256"
599
+ },
600
+ {
601
+ "internalType": "string",
602
+ "name": "currencySymbol",
603
+ "type": "string"
604
+ },
605
+ {
606
+ "internalType": "address",
607
+ "name": "currencyAddress",
608
+ "type": "address"
609
+ }
610
+ ],
611
+ "stateMutability": "view",
612
+ "type": "function"
613
+ },
614
+ {
615
+ "inputs": [
616
+ {
617
+ "internalType": "uint256",
618
+ "name": "_projectId",
619
+ "type": "uint256"
620
+ },
621
+ {
622
+ "internalType": "address",
623
+ "name": "_walletAddress",
624
+ "type": "address"
625
+ }
626
+ ],
627
+ "name": "getProjectExcessSettlementFunds",
628
+ "outputs": [
629
+ {
630
+ "internalType": "uint256",
631
+ "name": "excessSettlementFundsInWei",
632
+ "type": "uint256"
633
+ }
634
+ ],
635
+ "stateMutability": "view",
636
+ "type": "function"
637
+ },
638
+ {
639
+ "inputs": [
640
+ {
641
+ "internalType": "uint256",
642
+ "name": "_projectId",
643
+ "type": "uint256"
644
+ }
645
+ ],
646
+ "name": "getProjectLatestPurchasePrice",
647
+ "outputs": [
648
+ {
649
+ "internalType": "uint256",
650
+ "name": "latestPurchasePrice",
651
+ "type": "uint256"
652
+ }
653
+ ],
654
+ "stateMutability": "view",
655
+ "type": "function"
656
+ },
657
+ {
658
+ "inputs": [],
659
+ "name": "isEngine",
660
+ "outputs": [
661
+ {
662
+ "internalType": "bool",
663
+ "name": "",
664
+ "type": "bool"
665
+ }
666
+ ],
667
+ "stateMutability": "view",
668
+ "type": "function"
669
+ },
670
+ {
671
+ "inputs": [
672
+ {
673
+ "internalType": "uint256",
674
+ "name": "_projectId",
675
+ "type": "uint256"
676
+ },
677
+ {
678
+ "internalType": "uint256",
679
+ "name": "_maxInvocations",
680
+ "type": "uint256"
681
+ }
682
+ ],
683
+ "name": "manuallyLimitProjectMaxInvocations",
684
+ "outputs": [],
685
+ "stateMutability": "nonpayable",
686
+ "type": "function"
687
+ },
688
+ {
689
+ "inputs": [],
690
+ "name": "maximumPriceDecayHalfLifeSeconds",
691
+ "outputs": [
692
+ {
693
+ "internalType": "uint256",
694
+ "name": "",
695
+ "type": "uint256"
696
+ }
697
+ ],
698
+ "stateMutability": "view",
699
+ "type": "function"
700
+ },
701
+ {
702
+ "inputs": [],
703
+ "name": "minimumPriceDecayHalfLifeSeconds",
704
+ "outputs": [
705
+ {
706
+ "internalType": "uint256",
707
+ "name": "",
708
+ "type": "uint256"
709
+ }
710
+ ],
711
+ "stateMutability": "view",
712
+ "type": "function"
713
+ },
714
+ {
715
+ "inputs": [],
716
+ "name": "minterFilterAddress",
717
+ "outputs": [
718
+ {
719
+ "internalType": "address",
720
+ "name": "",
721
+ "type": "address"
722
+ }
723
+ ],
724
+ "stateMutability": "view",
725
+ "type": "function"
726
+ },
727
+ {
728
+ "inputs": [],
729
+ "name": "minterType",
730
+ "outputs": [
731
+ {
732
+ "internalType": "string",
733
+ "name": "",
734
+ "type": "string"
735
+ }
736
+ ],
737
+ "stateMutability": "view",
738
+ "type": "function"
739
+ },
740
+ {
741
+ "inputs": [
742
+ {
743
+ "internalType": "uint256",
744
+ "name": "_projectId",
745
+ "type": "uint256"
746
+ }
747
+ ],
748
+ "name": "projectAuctionParameters",
749
+ "outputs": [
750
+ {
751
+ "internalType": "uint256",
752
+ "name": "timestampStart",
753
+ "type": "uint256"
754
+ },
755
+ {
756
+ "internalType": "uint256",
757
+ "name": "priceDecayHalfLifeSeconds",
758
+ "type": "uint256"
759
+ },
760
+ {
761
+ "internalType": "uint256",
762
+ "name": "startPrice",
763
+ "type": "uint256"
764
+ },
765
+ {
766
+ "internalType": "uint256",
767
+ "name": "basePrice",
768
+ "type": "uint256"
769
+ }
770
+ ],
771
+ "stateMutability": "view",
772
+ "type": "function"
773
+ },
774
+ {
775
+ "inputs": [
776
+ {
777
+ "internalType": "uint256",
778
+ "name": "",
779
+ "type": "uint256"
780
+ }
781
+ ],
782
+ "name": "projectConfig",
783
+ "outputs": [
784
+ {
785
+ "internalType": "bool",
786
+ "name": "maxHasBeenInvoked",
787
+ "type": "bool"
788
+ },
789
+ {
790
+ "internalType": "uint24",
791
+ "name": "maxInvocations",
792
+ "type": "uint24"
793
+ },
794
+ {
795
+ "internalType": "bool",
796
+ "name": "auctionRevenuesCollected",
797
+ "type": "bool"
798
+ },
799
+ {
800
+ "internalType": "uint24",
801
+ "name": "numSettleableInvocations",
802
+ "type": "uint24"
803
+ },
804
+ {
805
+ "internalType": "uint64",
806
+ "name": "timestampStart",
807
+ "type": "uint64"
808
+ },
809
+ {
810
+ "internalType": "uint64",
811
+ "name": "priceDecayHalfLifeSeconds",
812
+ "type": "uint64"
813
+ },
814
+ {
815
+ "internalType": "uint128",
816
+ "name": "startPrice",
817
+ "type": "uint128"
818
+ },
819
+ {
820
+ "internalType": "uint128",
821
+ "name": "basePrice",
822
+ "type": "uint128"
823
+ },
824
+ {
825
+ "internalType": "uint256",
826
+ "name": "latestPurchasePrice",
827
+ "type": "uint256"
828
+ }
829
+ ],
830
+ "stateMutability": "view",
831
+ "type": "function"
832
+ },
833
+ {
834
+ "inputs": [
835
+ {
836
+ "internalType": "uint256",
837
+ "name": "_projectId",
838
+ "type": "uint256"
839
+ }
840
+ ],
841
+ "name": "projectMaxHasBeenInvoked",
842
+ "outputs": [
843
+ {
844
+ "internalType": "bool",
845
+ "name": "",
846
+ "type": "bool"
847
+ }
848
+ ],
849
+ "stateMutability": "view",
850
+ "type": "function"
851
+ },
852
+ {
853
+ "inputs": [
854
+ {
855
+ "internalType": "uint256",
856
+ "name": "_projectId",
857
+ "type": "uint256"
858
+ }
859
+ ],
860
+ "name": "projectMaxInvocations",
861
+ "outputs": [
862
+ {
863
+ "internalType": "uint256",
864
+ "name": "",
865
+ "type": "uint256"
866
+ }
867
+ ],
868
+ "stateMutability": "view",
869
+ "type": "function"
870
+ },
871
+ {
872
+ "inputs": [
873
+ {
874
+ "internalType": "uint256",
875
+ "name": "_projectId",
876
+ "type": "uint256"
877
+ }
878
+ ],
879
+ "name": "purchase",
880
+ "outputs": [
881
+ {
882
+ "internalType": "uint256",
883
+ "name": "tokenId",
884
+ "type": "uint256"
885
+ }
886
+ ],
887
+ "stateMutability": "payable",
888
+ "type": "function"
889
+ },
890
+ {
891
+ "inputs": [
892
+ {
893
+ "internalType": "address",
894
+ "name": "_to",
895
+ "type": "address"
896
+ },
897
+ {
898
+ "internalType": "uint256",
899
+ "name": "_projectId",
900
+ "type": "uint256"
901
+ }
902
+ ],
903
+ "name": "purchaseTo",
904
+ "outputs": [
905
+ {
906
+ "internalType": "uint256",
907
+ "name": "tokenId",
908
+ "type": "uint256"
909
+ }
910
+ ],
911
+ "stateMutability": "payable",
912
+ "type": "function"
913
+ },
914
+ {
915
+ "inputs": [
916
+ {
917
+ "internalType": "address",
918
+ "name": "_to",
919
+ "type": "address"
920
+ },
921
+ {
922
+ "internalType": "uint256",
923
+ "name": "_projectId",
924
+ "type": "uint256"
925
+ }
926
+ ],
927
+ "name": "purchaseTo_do6",
928
+ "outputs": [
929
+ {
930
+ "internalType": "uint256",
931
+ "name": "tokenId",
932
+ "type": "uint256"
933
+ }
934
+ ],
935
+ "stateMutability": "payable",
936
+ "type": "function"
937
+ },
938
+ {
939
+ "inputs": [
940
+ {
941
+ "internalType": "uint256",
942
+ "name": "_projectId",
943
+ "type": "uint256"
944
+ }
945
+ ],
946
+ "name": "purchase_H4M",
947
+ "outputs": [
948
+ {
949
+ "internalType": "uint256",
950
+ "name": "tokenId",
951
+ "type": "uint256"
952
+ }
953
+ ],
954
+ "stateMutability": "payable",
955
+ "type": "function"
956
+ },
957
+ {
958
+ "inputs": [
959
+ {
960
+ "internalType": "uint256",
961
+ "name": "_projectId",
962
+ "type": "uint256"
963
+ }
964
+ ],
965
+ "name": "reclaimProjectExcessSettlementFunds",
966
+ "outputs": [],
967
+ "stateMutability": "nonpayable",
968
+ "type": "function"
969
+ },
970
+ {
971
+ "inputs": [
972
+ {
973
+ "internalType": "address payable",
974
+ "name": "_to",
975
+ "type": "address"
976
+ },
977
+ {
978
+ "internalType": "uint256",
979
+ "name": "_projectId",
980
+ "type": "uint256"
981
+ }
982
+ ],
983
+ "name": "reclaimProjectExcessSettlementFundsTo",
984
+ "outputs": [],
985
+ "stateMutability": "nonpayable",
986
+ "type": "function"
987
+ },
988
+ {
989
+ "inputs": [
990
+ {
991
+ "internalType": "uint256[]",
992
+ "name": "_projectIds",
993
+ "type": "uint256[]"
994
+ }
995
+ ],
996
+ "name": "reclaimProjectsExcessSettlementFunds",
997
+ "outputs": [],
998
+ "stateMutability": "nonpayable",
999
+ "type": "function"
1000
+ },
1001
+ {
1002
+ "inputs": [
1003
+ {
1004
+ "internalType": "address payable",
1005
+ "name": "_to",
1006
+ "type": "address"
1007
+ },
1008
+ {
1009
+ "internalType": "uint256[]",
1010
+ "name": "_projectIds",
1011
+ "type": "uint256[]"
1012
+ }
1013
+ ],
1014
+ "name": "reclaimProjectsExcessSettlementFundsTo",
1015
+ "outputs": [],
1016
+ "stateMutability": "nonpayable",
1017
+ "type": "function"
1018
+ },
1019
+ {
1020
+ "inputs": [
1021
+ {
1022
+ "internalType": "uint256",
1023
+ "name": "_projectId",
1024
+ "type": "uint256"
1025
+ }
1026
+ ],
1027
+ "name": "resetAuctionDetails",
1028
+ "outputs": [],
1029
+ "stateMutability": "nonpayable",
1030
+ "type": "function"
1031
+ },
1032
+ {
1033
+ "inputs": [
1034
+ {
1035
+ "internalType": "uint256",
1036
+ "name": "_minimumPriceDecayHalfLifeSeconds",
1037
+ "type": "uint256"
1038
+ },
1039
+ {
1040
+ "internalType": "uint256",
1041
+ "name": "_maximumPriceDecayHalfLifeSeconds",
1042
+ "type": "uint256"
1043
+ }
1044
+ ],
1045
+ "name": "setAllowablePriceDecayHalfLifeRangeSeconds",
1046
+ "outputs": [],
1047
+ "stateMutability": "nonpayable",
1048
+ "type": "function"
1049
+ },
1050
+ {
1051
+ "inputs": [
1052
+ {
1053
+ "internalType": "uint256",
1054
+ "name": "_projectId",
1055
+ "type": "uint256"
1056
+ },
1057
+ {
1058
+ "internalType": "uint256",
1059
+ "name": "_auctionTimestampStart",
1060
+ "type": "uint256"
1061
+ },
1062
+ {
1063
+ "internalType": "uint256",
1064
+ "name": "_priceDecayHalfLifeSeconds",
1065
+ "type": "uint256"
1066
+ },
1067
+ {
1068
+ "internalType": "uint256",
1069
+ "name": "_startPrice",
1070
+ "type": "uint256"
1071
+ },
1072
+ {
1073
+ "internalType": "uint256",
1074
+ "name": "_basePrice",
1075
+ "type": "uint256"
1076
+ }
1077
+ ],
1078
+ "name": "setAuctionDetails",
1079
+ "outputs": [],
1080
+ "stateMutability": "nonpayable",
1081
+ "type": "function"
1082
+ },
1083
+ {
1084
+ "inputs": [
1085
+ {
1086
+ "internalType": "uint256",
1087
+ "name": "_projectId",
1088
+ "type": "uint256"
1089
+ }
1090
+ ],
1091
+ "name": "setProjectMaxInvocations",
1092
+ "outputs": [],
1093
+ "stateMutability": "view",
1094
+ "type": "function"
1095
+ },
1096
+ {
1097
+ "inputs": [
1098
+ {
1099
+ "internalType": "uint256",
1100
+ "name": "_projectId",
1101
+ "type": "uint256"
1102
+ }
1103
+ ],
1104
+ "name": "togglePurchaseToDisabled",
1105
+ "outputs": [],
1106
+ "stateMutability": "view",
1107
+ "type": "function"
1108
+ },
1109
+ {
1110
+ "inputs": [
1111
+ {
1112
+ "internalType": "uint256",
1113
+ "name": "_projectId",
1114
+ "type": "uint256"
1115
+ }
1116
+ ],
1117
+ "name": "withdrawArtistAndAdminRevenues",
1118
+ "outputs": [],
1119
+ "stateMutability": "nonpayable",
1120
+ "type": "function"
1121
+ }
1122
+ ],
1123
+ "bytecode": "0x61012060405261012c600255610e106003553480156200001e57600080fd5b506040516200372f3803806200372f8339810160408190526200004191620002e1565b600160005581620000528162000143565b1515608052506001600160a01b0380831660a081905260c081905290821660e0819052610100819052604080516392a10f8360e01b815290516392a10f839160048082019260209290919082900301816000875af1158015620000b9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000df919062000319565b6001600160a01b0316146200013b5760405162461bcd60e51b815260206004820152601860248201527f496c6c6567616c20636f6e74726163742070616972696e67000000000000000060448201526064015b60405180910390fd5b50506200036f565b6040516000602482018190526044820181905290819060640160408051601f198184030181529181526020820180516001600160e01b0316638639415b60e01b1790525190915060009081906001600160a01b03861690620001a79085906200033e565b6000604051808303816000865af19150503d8060008114620001e6576040519150601f19603f3d011682016040523d82523d6000602084013e620001eb565b606091505b5091509150816200024d5760405162461bcd60e51b815260206004820152602560248201527f6765745072696d617279526576656e756553706c69747328292063616c6c2066604482015264185a5b195960da1b606482015260840162000132565b805160c0819003620002655750600095945050505050565b80610100036200027b5750600195945050505050565b60405162461bcd60e51b815260206004820152601e60248201527f556e657870656374656420726576656e75652073706c69742062797465730000604482015260640162000132565b80516001600160a01b0381168114620002dc57600080fd5b919050565b60008060408385031215620002f557600080fd5b6200030083620002c4565b91506200031060208401620002c4565b90509250929050565b6000602082840312156200032c57600080fd5b6200033782620002c4565b9392505050565b6000825160005b8181101562000361576020818601810151858301520162000345565b506000920191825250919050565b60805160a05160c05160e051610100516133276200040860003960006108a201526000610659015260008181610a1001528181610cf301528181610f890152818161122d015281816115d2015281816117bd0152818161186101528181611b210152818161216301526127c9015260008181610428015281816109750152611aad01526000818161062501526123cf01526133276000f3fe6080604052600436106101695760003560e01c8063891407c0116100c7578063891407c01461040357806392a10f83146104165780639cea570914610462578063c0ad212e14610482578063c3df9d6f146104a2578063c71b1b71146104c2578063c7a4f53d146105bd578063cd379f6e146105dd578063cf6681ea146105fd578063db6921b214610613578063dd85582f14610647578063e9d1e8ac1461067b578063eb2f4f8e146106cb578063efef39a114610194578063f7bd4b88146106eb57600080fd5b806199871461016e578061b460146101945780631607c995146101a75780631e9f2e92146101c957806324411f80146101f95780632aedc28e146102325780632f077ee6146102525780632f4b12eb146102c657806340d1397e146102e6578063462add46146103065780634d4139021461034657806356690aaf1461036657806358d581061461039d5780635bc1470f146103bd578063774159c6146103d3575b600080fd5b61018161017c366004612b84565b61070b565b6040519081526020015b60405180910390f35b6101816101a2366004612bb0565b6109e6565b3480156101b357600080fd5b506101c76101c2366004612bc9565b6109f8565b005b3480156101d557600080fd5b506101816101e4366004612bb0565b60009081526001602052604090206002015490565b34801561020557600080fd5b50610181610214366004612bb0565b600090815260016020526040902054600160281b900462ffffff1690565b34801561023e57600080fd5b506101c761024d366004612bb0565b610cd3565b34801561025e57600080fd5b506102b661026d366004612bb0565b600090815260016020819052604090912080549101546001600160401b03600160401b8304811693600160801b93849004909116926001600160801b0380841693919091041690565b60405161018b9493929190612beb565b3480156102d257600080fd5b506101816102e1366004612c06565b610e8b565b3480156102f257600080fd5b506101c7610301366004612bb0565b610f71565b34801561031257600080fd5b50610336610321366004612bb0565b60009081526001602052604090205460ff1690565b604051901515815260200161018b565b34801561035257600080fd5b506101c7610361366004612b84565b61106b565b34801561037257600080fd5b50610181610381366004612bb0565b600090815260016020526040902054610100900462ffffff1690565b3480156103a957600080fd5b506101c76103b8366004612bc9565b61120d565b3480156103c957600080fd5b5061018160035481565b3480156103df57600080fd5b506103f36103ee366004612bb0565b6114b4565b60405161018b9493929190612c7c565b610181610411366004612b84565b61155e565b34801561042257600080fd5b5061044a7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161018b565b34801561046e57600080fd5b506101c761047d366004612cb6565b611571565b34801561048e57600080fd5b506101c761049d366004612bc9565b6115b2565b3480156104ae57600080fd5b506101c76104bd366004612bb0565b611768565b3480156104ce57600080fd5b506105586104dd366004612bb0565b600160208190526000918252604090912080549181015460029091015460ff8084169362ffffff6101008204811694600160201b830490931693600160281b8304909116926001600160401b03600160401b8404811693600160801b90819004909116926001600160801b0380841693929092049091169089565b604080519915158a5262ffffff98891660208b0152961515968901969096529590931660608701526001600160401b0391821660808701521660a08501526001600160801b0390811660c085015290911660e08301526101008201526101200161018b565b3480156105c957600080fd5b506101c76105d8366004612bb0565b611775565b3480156105e957600080fd5b506101c76105f8366004612d2a565b611b09565b34801561060957600080fd5b5061018160025481565b34801561061f57600080fd5b506103367f000000000000000000000000000000000000000000000000000000000000000081565b34801561065357600080fd5b5061044a7f000000000000000000000000000000000000000000000000000000000000000081565b34801561068757600080fd5b506106be6040518060400160405280601781526020017626b4b73a32b92220a2bc3829b2ba3a3632b6b2b73a2b1960491b81525081565b60405161018b9190612d65565b3480156106d757600080fd5b506101c76106e6366004612d8e565b611f68565b3480156106f757600080fd5b506101c7610706366004612bb0565b61214b565b60006002600054036107385760405162461bcd60e51b815260040161072f90612e60565b60405180910390fd5b60026000908155828152600160205260409020805460ff161561076d5760405162461bcd60e51b815260040161072f90612e97565b600061077884612240565b33600090815260046020908152604080832088845290915281208054929350916107ac9034906001600160e81b0316612ef2565b82549091506000906107cb90600160e81b900462ffffff166001612f05565b62ffffff1690506107dc8482612f28565b82101561082b5760405162461bcd60e51b815260206004820152601f60248201527f4d7573742073656e64206d696e696d756d2076616c756520746f206d696e7400604482015260640161072f565b6001600160e81b038216600160e81b62ffffff8316021783556040805182815260208101849052889133916000805160206132b2833981519152910160405180910390a360028501849055604051630d4d151360e01b81526001600160a01b038981166004830152602482018990523360448301527f00000000000000000000000000000000000000000000000000000000000000001690630d4d1513906064016020604051808303816000875af11580156108eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061090f9190612f3f565b8554909650620f4240870660010190610100900462ffffff16808211156109485760405162461bcd60e51b815260040161072f90612e97565b80820361095b57865460ff191660011787555b50508454600160201b900460ff161561099e5761099987857f00000000000000000000000000000000000000000000000000000000000000006123b5565b6109d6565b8454600160281b900462ffffff168560056109b883612f6e565b91906101000a81548162ffffff021916908362ffffff160217905550505b5050505050600160005592915050565b60006109f2338361070b565b92915050565b60405163a47d29cb60e01b81526004810183905282907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa158015610a5f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a839190612f90565b6001600160a01b0316336001600160a01b031614610ab35760405162461bcd60e51b815260040161072f90612fad565b60008211610aff5760405162461bcd60e51b815260206004820152601960248201527804f6e6c79206d617820696e766f636174696f6e73206774203603c1b604482015260640161072f565b6000838152600160205260409020805460ff1615610b5f5760405162461bcd60e51b815260206004820152601f60248201527f4d617820696e766f636174696f6e7320616c7265616479207265616368656400604482015260640161072f565b600080610b6b866127a6565b909250905080851115610c065760405162461bcd60e51b815260206004820152605760248201527f43616e6e6f7420696e6372656173652070726f6a656374206d617820696e766f60448201527f636174696f6e732061626f766520636f726520636f6e7472616374207365742060648201527670726f6a656374206d617820696e766f636174696f6e7360481b608482015260a40161072f565b81851015610c885760405162461bcd60e51b815260206004820152604360248201527f43616e6e6f74207365742070726f6a656374206d617820696e766f636174696f60448201527f6e7320746f206c657373207468616e2063757272656e7420696e766f636174696064820152626f6e7360e81b608482015260a40161072f565b825482861463ffffffff1990911661010062ffffff88160260ff19161717835560405185815286906000805160206132d28339815191529060200160405180910390a2505050505050565b60405163230448b160e01b8152631576e14760e11b906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063230448b190610d2c90339030908690600401612fd2565b6020604051808303816000875af1158015610d4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d6f919061300f565b610d8b5760405162461bcd60e51b815260040161072f9061302a565b600082815260016020819052604082209081015490916001600160801b039091169003610df75760405162461bcd60e51b815260206004820152601a602482015279105d58dd1a5bdb881b5d5cdd0818994818dbdb999a59dd5c995960321b604482015260640161072f565b8054600160201b900460ff1615610e205760405162461bcd60e51b815260040161072f9061305e565b8054600160401b600160c01b03191680825560006001830155600282015460408051600160281b90930462ffffff168352602083019190915284917f28cd2e5a54afa08469ca157e482b97c3de9efbc4c48cea254864df050677145a910160405180910390a2505050565b60006001600160a01b038216610ed55760405162461bcd60e51b815260206004820152600f60248201526e4e6f207a65726f206164647265737360881b604482015260640161072f565b60008381526001602090815260408083206001600160a01b0386168452600483528184208785529092529091208054600160e81b900462ffffff16610f2c5760405162461bcd60e51b815260040161072f90613095565b60028201548154600090610f4d908390600160e81b900462ffffff16612f28565b8354909150610f669082906001600160e81b03166130d6565b979650505050505050565b60405163a47d29cb60e01b81526004810182905281907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa158015610fd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ffc9190612f90565b6001600160a01b0316336001600160a01b03161461102c5760405162461bcd60e51b815260040161072f90612fad565b60405162461bcd60e51b81526020600482015260146024820152731058dd1a5bdb881b9bdd081cdd5c1c1bdc9d195960621b604482015260640161072f565b60026000540361108d5760405162461bcd60e51b815260040161072f90612e60565b60026000908155818152600160209081526040808320338452600483528184208585529092529091208054600160e81b900462ffffff166001600160a01b0385166110ea5760405162461bcd60e51b815260040161072f906130e9565b6000811161110a5760405162461bcd60e51b815260040161072f90613095565b6002830154600061111b8284612f28565b84549091506000906111379083906001600160e81b03166130d6565b905061114282612843565b85546001600160e81b0319166001600160e81b03919091161785556040805185815260208101849052889133916000805160206132b2833981519152910160405180910390a36000886001600160a01b03168260405160006040518083038185875af1925050503d80600081146111d5576040519150601f19603f3d011682016040523d82523d6000602084013e6111da565b606091505b505080915050806111fd5760405162461bcd60e51b815260040161072f90613120565b5050600160005550505050505050565b60405163230448b160e01b8152632c6ac08360e11b906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063230448b19061126690339030908690600401612fd2565b6020604051808303816000875af1158015611285573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112a9919061300f565b6112c55760405162461bcd60e51b815260040161072f9061302a565b60008381526001602052604090208054600160201b900460ff16156112fc5760405162461bcd60e51b815260040161072f9061305e565b611305846128b0565b805460ff166113515760405162461bcd60e51b815260206004820152601860248201527741756374696f6e206d75737420626520636f6d706c65746560401b604482015260640161072f565b806002015483106113a45760405162461bcd60e51b815260206004820152601d60248201527f4d6179206f6e6c79207265647563652073656c6c6f7574207072696365000000604482015260640161072f565b6001810154600160801b90046001600160801b03168310156114275760405162461bcd60e51b815260206004820152603660248201527f4d6179206f6e6c79207265647563652073656c6c6f757420707269636520746f604482015275103130b9b290383934b1b29037b91033b932b0ba32b960511b606482015260840161072f565b600083116114715760405162461bcd60e51b815260206004820152601760248201527604f6e6c792073656c6c6f757420707269636573203e203604c1b604482015260640161072f565b6002810183905560405183815284907f6e257f2b2266f72d4bd28a2e64b0cfc245c9a1c28ec2dc591f8052f77f969c95906020015b60405180910390a250505050565b600081815260016020819052604082209081015481546001600160801b0390911615159291606091839190600160401b90046001600160401b0316421161150a5760018101546001600160801b03169350611534565b60018101546001600160801b03166000036115285760009350611534565b611531866128fb565b93505b6040518060400160405280600381526020016208aa8960eb1b815250925060009150509193509193565b600061156a838361070b565b9392505050565b6115ae33838380806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250611f6892505050565b5050565b60405163230448b160e01b8152636056909760e11b906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063230448b19061160b90339030908690600401612fd2565b6020604051808303816000875af115801561162a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061164e919061300f565b61166a5760405162461bcd60e51b815260040161072f9061302a565b8282116116d05760405162461bcd60e51b815260206004820152602e60248201527f4d6178696d756d2068616c66206c696665206d7573742062652067726561746560448201526d72207468616e206d696e696d756d60901b606482015260840161072f565b600083116117205760405162461bcd60e51b815260206004820152601d60248201527f48616c66206c696665206f66207a65726f206e6f7420616c6c6f776564000000604482015260640161072f565b6002839055600382905560408051848152602081018490527f1d5d9c9b660aace5432c6c7412456d0ad1b5ff4c6ea156a8c551ba93555ed73f910160405180910390a1505050565b611772338261106b565b50565b6002600054036117975760405162461bcd60e51b815260040161072f90612e60565b600260005560405163a47d29cb60e01b815260048101829052819063c7a4f53d60e01b907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa15801561180c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118309190612f90565b6001600160a01b0316336001600160a01b031614806118dd575060405163230448b160e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063230448b19061189a90339030908690600401612fd2565b6020604051808303816000875af11580156118b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118dd919061300f565b6119245760405162461bcd60e51b815260206004820152601860248201527713db9b1e48105c9d1a5cdd081bdc8810591b5a5b881050d360421b604482015260640161072f565b60008381526001602052604090208054600160201b900460ff16156119885760405162461bcd60e51b815260206004820152601a60248201527914995d995b9d595cc8185b1c9958591e4818dbdb1b1958dd195960321b604482015260640161072f565b611991846128b0565b600061199c85612240565b6001830154909150600160801b90046001600160801b03168114611a1057815460ff16611a0b5760405162461bcd60e51b815260206004820152601f60248201527f4163746976652061756374696f6e206e6f742079657420736f6c64206f757400604482015260640161072f565b611a77565b6001820154600160801b90046001600160801b031680611a715760405162461bcd60e51b815260206004820152601c60248201527b04f6e6c79206c617465737450757263686173655072696365203e20360241b604482015260640161072f565b60028301555b815460ff60201b1916600160201b17808355600090611aa490839062ffffff600160281b90910416612f28565b9050611ad186827f00000000000000000000000000000000000000000000000000000000000000006123b5565b60405186907f110a44b77609d30f9b80fa9add8c3e18ba02555b3546acf2b0318a3d3229c5a790600090a25050600160005550505050565b60405163a47d29cb60e01b81526004810186905285907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa158015611b70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b949190612f90565b6001600160a01b0316336001600160a01b031614611bc45760405162461bcd60e51b815260040161072f90612fad565b60008681526001602052604090208054600160401b90046001600160401b03161580611c0057508054600160401b90046001600160401b031642105b611c4b5760405162461bcd60e51b815260206004820152601c60248201527b27379036b7b234b334b1b0ba34b7b7399036b4b216b0bab1ba34b7b760211b604482015260640161072f565b854210611c915760405162461bcd60e51b81526020600482015260146024820152734f6e6c79206675747572652061756374696f6e7360601b604482015260640161072f565b828411611d035760405162461bcd60e51b815260206004820152603a60248201527f41756374696f6e207374617274207072696365206d7573742062652067726561604482015279746572207468616e2061756374696f6e20656e6420707269636560301b606482015260840161072f565b60008311611d515760405162461bcd60e51b815260206004820152601b60248201527a42617365207072696365206d757374206265206e6f6e2d7a65726f60281b604482015260640161072f565b60028101541580611d66575080600201548411155b611dcf5760405162461bcd60e51b815260206004820152603460248201527f41756374696f6e207374617274207072696365206d757374206265203c3d206c604482015273617465737420707572636861736520707269636560601b606482015260840161072f565b6002548510158015611de357506003548511155b611e635760405162461bcd60e51b8152602060048201526044602482018190527f50726963652064656361792068616c66206c696665206d7573742066616c6c20908201527f6265747765656e206d696e20616e64206d617820616c6c6f7761626c652076616064820152636c75657360e01b608482015260a40161072f565b611e6c8661292f565b81546001600160401b0391909116600160401b0267ffffffffffffffff60401b19909116178155611e9c8561292f565b81546001600160401b0391909116600160801b0267ffffffffffffffff60801b19909116178155611ecc84612997565b6001820180546001600160801b0319166001600160801b0392909216919091179055611ef783612997565b6001820180546001600160801b03928316600160801b02921691909117905560405187907f38b3058b75696f9e45bffa9c4b237adcde13d74c7bc1bea63e13c712d0776c7490611f4e908990899089908990612beb565b60405180910390a2611f5f876128b0565b50505050505050565b600260005403611f8a5760405162461bcd60e51b815260040161072f90612e60565b60026000556001600160a01b038216611fb55760405162461bcd60e51b815260040161072f906130e9565b8051600090815b818110156120c9576000848281518110611fd857611fd861314b565b6020908102919091018101516000818152600183526040808220338352600485528183208484529094529020805491935090600160e81b900462ffffff16806120335760405162461bcd60e51b815260040161072f90613095565b600283015460006120448284612f28565b845490915061205d9082906001600160e81b03166130d6565b612067908a612ef2565b985061207281612843565b84546001600160e81b0319166001600160e81b03919091161784556040805184815260208101839052879133916000805160206132b2833981519152910160405180910390a3866001019650505050505050611fbc565b506000846001600160a01b03168360405160006040518083038185875af1925050503d8060008114612117576040519150601f19603f3d011682016040523d82523d6000602084013e61211c565b606091505b5050809150508061213f5760405162461bcd60e51b815260040161072f90613120565b50506001600055505050565b60405163a47d29cb60e01b81526004810182905281907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa1580156121b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121d69190612f90565b6001600160a01b0316336001600160a01b0316146122065760405162461bcd60e51b815260040161072f90612fad565b60405162461bcd60e51b815260206004820152600f60248201526e139bdd081a5b5c1b195b595b9d1959608a1b604482015260640161072f565b6000818152600160205260408120805460ff168061226657508054600160201b900460ff165b15612275576002015492915050565b80546001820154600160401b82046001600160401b0390811692600160801b9081900490911691046001600160801b03164283106122ef5760405162461bcd60e51b8152602060048201526017602482015276105d58dd1a5bdb881b9bdd081e595d081cdd185c9d1959604a1b604482015260640161072f565b6000821161233a5760405162461bcd60e51b81526020600482015260186024820152774f6e6c7920636f6e666967757265642061756374696f6e7360401b604482015260640161072f565b60018401546001600160801b03164284900383818161235b5761235b612f58565b0482901c915060028485838161237357612373612f58565b0684028161238357612383612f58565b048161239157612391612f58565b0482039150828210156123aa5750909695505050505050565b509695505050505050565b600082116123c257505050565b60008060008060008060007f00000000000000000000000000000000000000000000000000000000000000001561252d57604051638639415b60e01b8152600481018b9052602481018a905260009081906001600160a01b038b1690638639415b9060440161010060405180830381865afa158015612445573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124699190613161565b969e50949c50909a50985091965091945090925090508115612526576040516001600160a01b038216908390600081818185875af1925050503d80600081146124ce576040519150601f19603f3d011682016040523d82523d6000602084013e6124d3565b606091505b505080995050886125265760405162461bcd60e51b815260206004820181905260248201527f506c6174666f726d2050726f7669646572207061796d656e74206661696c6564604482015260640161072f565b50506125ad565b604051638639415b60e01b8152600481018b9052602481018a90526001600160a01b03891690638639415b9060440160c060405180830381865afa158015612579573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061259d91906131e9565b949a509298509096509450925090505b8515612654576040516001600160a01b038616908790600081818185875af1925050503d80600081146125fc576040519150601f19603f3d011682016040523d82523d6000602084013e612601565b606091505b505080975050866126545760405162461bcd60e51b815260206004820152601e60248201527f52656e6465722050726f7669646572207061796d656e74206661696c65640000604482015260640161072f565b83156126f3576040516001600160a01b038416908590600081818185875af1925050503d80600081146126a3576040519150601f19603f3d011682016040523d82523d6000602084013e6126a8565b606091505b505080975050866126f35760405162461bcd60e51b8152602060048201526015602482015274105c9d1a5cdd081c185e5b595b9d0819985a5b1959605a1b604482015260640161072f565b811561279a576040516001600160a01b038216908390600081818185875af1925050503d8060008114612742576040519150601f19603f3d011682016040523d82523d6000602084013e612747565b606091505b5050809750508661279a5760405162461bcd60e51b815260206004820152601f60248201527f4164646974696f6e616c205061796565207061796d656e74206661696c656400604482015260640161072f565b50505050505050505050565b604051630ea5613f60e01b81526004810182905260009081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630ea5613f9060240160c060405180830381865afa158015612810573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128349190613252565b50939792965091945050505050565b60006001600160e81b038211156128ac5760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20326044820152663332206269747360c81b606482015260840161072f565b5090565b60008181526001602052604081208054909190610100900462ffffff161580156128dc5750815460ff16155b905080156128f2576128ed83612a00565b505050565b6128ed83612a63565b600061290682612b23565b15612921575060009081526001602052604090206002015490565b6109f282612240565b919050565b60006001600160401b038211156128ac5760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203660448201526534206269747360d01b606482015260840161072f565b60006001600160801b038211156128ac5760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b606482015260840161072f565b600080612a0c836127a6565b60008581526001602052604090819020805460ff1962ffffff8516610100021663ffffffff1990911617848414178155905191945091925084906000805160206132d2833981519152906114a69086815260200190565b600080612a6f836127a6565b60008581526001602052604090208054919450919250610100900462ffffff1683811115612adf57815483851463ffffffff1990911661010062ffffff87160260ff19161717825560405184815285906000805160206132d28339815191529060200160405180910390a2612b1c565b808310612b1c57815460ff1916600117825560405185906000805160206132d283398151915290612b139087815260200190565b60405180910390a25b5050505050565b6000806000612b31846127a6565b6000868152600160205260409020805492945090925090610100900462ffffff1682811115612b635750501492915050565b90921015949350505050565b6001600160a01b038116811461177257600080fd5b60008060408385031215612b9757600080fd5b8235612ba281612b6f565b946020939093013593505050565b600060208284031215612bc257600080fd5b5035919050565b60008060408385031215612bdc57600080fd5b50508035926020909101359150565b93845260208401929092526040830152606082015260800190565b60008060408385031215612c1957600080fd5b823591506020830135612c2b81612b6f565b809150509250929050565b6000815180845260005b81811015612c5c57602081850181015186830182015201612c40565b506000602082860101526020601f19601f83011685010191505092915050565b8415158152836020820152608060408201526000612c9d6080830185612c36565b905060018060a01b038316606083015295945050505050565b60008060208385031215612cc957600080fd5b82356001600160401b0380821115612ce057600080fd5b818501915085601f830112612cf457600080fd5b813581811115612d0357600080fd5b8660208260051b8501011115612d1857600080fd5b60209290920196919550909350505050565b600080600080600060a08688031215612d4257600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b60208152600061156a6020830184612c36565b634e487b7160e01b600052604160045260246000fd5b60008060408385031215612da157600080fd5b8235612dac81612b6f565b91506020838101356001600160401b0380821115612dc957600080fd5b818601915086601f830112612ddd57600080fd5b813581811115612def57612def612d78565b8060051b604051601f19603f83011681018181108582111715612e1457612e14612d78565b604052918252848201925083810185019189831115612e3257600080fd5b938501935b82851015612e5057843584529385019392850192612e37565b8096505050505050509250929050565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b60208082526025908201527f4d6178696d756d206e756d626572206f6620696e766f636174696f6e732072656040820152641858da195960da1b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b808201808211156109f2576109f2612edc565b62ffffff818116838216019080821115612f2157612f21612edc565b5092915050565b80820281158282048414176109f2576109f2612edc565b600060208284031215612f5157600080fd5b5051919050565b634e487b7160e01b600052601260045260246000fd5b600062ffffff808316818103612f8657612f86612edc565b6001019392505050565b600060208284031215612fa257600080fd5b815161156a81612b6f565b6020808252600b908201526a13db9b1e48105c9d1a5cdd60aa1b604082015260600190565b6001600160a01b0393841681529190921660208201526001600160e01b0319909116604082015260600190565b8051801515811461292a57600080fd5b60006020828403121561302157600080fd5b61156a82612fff565b6020808252601a908201527913db9b1e4810dbdc994810591b5a5b9050d308185b1b1bddd95960321b604082015260600190565b6020808252601e908201527f4f6e6c79206265666f726520726576656e75657320636f6c6c65637465640000604082015260600190565b60208082526021908201527f4e6f20707572636861736573206d6164652062792074686973206164647265736040820152607360f81b606082015260800190565b818103818111156109f2576109f2612edc565b6020808252601f908201527f4e6f20636c61696d696e6720746f20746865207a65726f206164647265737300604082015260600190565b602080825260119082015270149958db185a5b5a5b99c819985a5b1959607a1b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b600080600080600080600080610100898b03121561317e57600080fd5b88519750602089015161319081612b6f565b60408a015160608b015191985096506131a881612b6f565b60808a015160a08b015191965094506131c081612b6f565b60c08a015160e08b015191945092506131d881612b6f565b809150509295985092959890939650565b60008060008060008060c0878903121561320257600080fd5b86519550602087015161321481612b6f565b60408801516060890151919650945061322c81612b6f565b608088015160a0890151919450925061324481612b6f565b809150509295509295509295565b60008060008060008060c0878903121561326b57600080fd5b865195506020870151945061328260408801612fff565b935061329060608801612fff565b9250608087015191506132a560a08801612fff565b9050929550929550929556fe88bc1bf6777e1eaef8a0583c526f6963c9183af9ee82015f9a28f55b9115ea718445d32a2ee05956c6c842357ca16ee41e92657b1cbcbf1c94f500672e48c3b1a26469706673582212204212f610de37ac860a4bd3b6d557e4f86f86395909287548d97e73453cc475e464736f6c63430008110033",
1124
+ "deployedBytecode": "0x6080604052600436106101695760003560e01c8063891407c0116100c7578063891407c01461040357806392a10f83146104165780639cea570914610462578063c0ad212e14610482578063c3df9d6f146104a2578063c71b1b71146104c2578063c7a4f53d146105bd578063cd379f6e146105dd578063cf6681ea146105fd578063db6921b214610613578063dd85582f14610647578063e9d1e8ac1461067b578063eb2f4f8e146106cb578063efef39a114610194578063f7bd4b88146106eb57600080fd5b806199871461016e578061b460146101945780631607c995146101a75780631e9f2e92146101c957806324411f80146101f95780632aedc28e146102325780632f077ee6146102525780632f4b12eb146102c657806340d1397e146102e6578063462add46146103065780634d4139021461034657806356690aaf1461036657806358d581061461039d5780635bc1470f146103bd578063774159c6146103d3575b600080fd5b61018161017c366004612b84565b61070b565b6040519081526020015b60405180910390f35b6101816101a2366004612bb0565b6109e6565b3480156101b357600080fd5b506101c76101c2366004612bc9565b6109f8565b005b3480156101d557600080fd5b506101816101e4366004612bb0565b60009081526001602052604090206002015490565b34801561020557600080fd5b50610181610214366004612bb0565b600090815260016020526040902054600160281b900462ffffff1690565b34801561023e57600080fd5b506101c761024d366004612bb0565b610cd3565b34801561025e57600080fd5b506102b661026d366004612bb0565b600090815260016020819052604090912080549101546001600160401b03600160401b8304811693600160801b93849004909116926001600160801b0380841693919091041690565b60405161018b9493929190612beb565b3480156102d257600080fd5b506101816102e1366004612c06565b610e8b565b3480156102f257600080fd5b506101c7610301366004612bb0565b610f71565b34801561031257600080fd5b50610336610321366004612bb0565b60009081526001602052604090205460ff1690565b604051901515815260200161018b565b34801561035257600080fd5b506101c7610361366004612b84565b61106b565b34801561037257600080fd5b50610181610381366004612bb0565b600090815260016020526040902054610100900462ffffff1690565b3480156103a957600080fd5b506101c76103b8366004612bc9565b61120d565b3480156103c957600080fd5b5061018160035481565b3480156103df57600080fd5b506103f36103ee366004612bb0565b6114b4565b60405161018b9493929190612c7c565b610181610411366004612b84565b61155e565b34801561042257600080fd5b5061044a7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161018b565b34801561046e57600080fd5b506101c761047d366004612cb6565b611571565b34801561048e57600080fd5b506101c761049d366004612bc9565b6115b2565b3480156104ae57600080fd5b506101c76104bd366004612bb0565b611768565b3480156104ce57600080fd5b506105586104dd366004612bb0565b600160208190526000918252604090912080549181015460029091015460ff8084169362ffffff6101008204811694600160201b830490931693600160281b8304909116926001600160401b03600160401b8404811693600160801b90819004909116926001600160801b0380841693929092049091169089565b604080519915158a5262ffffff98891660208b0152961515968901969096529590931660608701526001600160401b0391821660808701521660a08501526001600160801b0390811660c085015290911660e08301526101008201526101200161018b565b3480156105c957600080fd5b506101c76105d8366004612bb0565b611775565b3480156105e957600080fd5b506101c76105f8366004612d2a565b611b09565b34801561060957600080fd5b5061018160025481565b34801561061f57600080fd5b506103367f000000000000000000000000000000000000000000000000000000000000000081565b34801561065357600080fd5b5061044a7f000000000000000000000000000000000000000000000000000000000000000081565b34801561068757600080fd5b506106be6040518060400160405280601781526020017626b4b73a32b92220a2bc3829b2ba3a3632b6b2b73a2b1960491b81525081565b60405161018b9190612d65565b3480156106d757600080fd5b506101c76106e6366004612d8e565b611f68565b3480156106f757600080fd5b506101c7610706366004612bb0565b61214b565b60006002600054036107385760405162461bcd60e51b815260040161072f90612e60565b60405180910390fd5b60026000908155828152600160205260409020805460ff161561076d5760405162461bcd60e51b815260040161072f90612e97565b600061077884612240565b33600090815260046020908152604080832088845290915281208054929350916107ac9034906001600160e81b0316612ef2565b82549091506000906107cb90600160e81b900462ffffff166001612f05565b62ffffff1690506107dc8482612f28565b82101561082b5760405162461bcd60e51b815260206004820152601f60248201527f4d7573742073656e64206d696e696d756d2076616c756520746f206d696e7400604482015260640161072f565b6001600160e81b038216600160e81b62ffffff8316021783556040805182815260208101849052889133916000805160206132b2833981519152910160405180910390a360028501849055604051630d4d151360e01b81526001600160a01b038981166004830152602482018990523360448301527f00000000000000000000000000000000000000000000000000000000000000001690630d4d1513906064016020604051808303816000875af11580156108eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061090f9190612f3f565b8554909650620f4240870660010190610100900462ffffff16808211156109485760405162461bcd60e51b815260040161072f90612e97565b80820361095b57865460ff191660011787555b50508454600160201b900460ff161561099e5761099987857f00000000000000000000000000000000000000000000000000000000000000006123b5565b6109d6565b8454600160281b900462ffffff168560056109b883612f6e565b91906101000a81548162ffffff021916908362ffffff160217905550505b5050505050600160005592915050565b60006109f2338361070b565b92915050565b60405163a47d29cb60e01b81526004810183905282907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa158015610a5f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a839190612f90565b6001600160a01b0316336001600160a01b031614610ab35760405162461bcd60e51b815260040161072f90612fad565b60008211610aff5760405162461bcd60e51b815260206004820152601960248201527804f6e6c79206d617820696e766f636174696f6e73206774203603c1b604482015260640161072f565b6000838152600160205260409020805460ff1615610b5f5760405162461bcd60e51b815260206004820152601f60248201527f4d617820696e766f636174696f6e7320616c7265616479207265616368656400604482015260640161072f565b600080610b6b866127a6565b909250905080851115610c065760405162461bcd60e51b815260206004820152605760248201527f43616e6e6f7420696e6372656173652070726f6a656374206d617820696e766f60448201527f636174696f6e732061626f766520636f726520636f6e7472616374207365742060648201527670726f6a656374206d617820696e766f636174696f6e7360481b608482015260a40161072f565b81851015610c885760405162461bcd60e51b815260206004820152604360248201527f43616e6e6f74207365742070726f6a656374206d617820696e766f636174696f60448201527f6e7320746f206c657373207468616e2063757272656e7420696e766f636174696064820152626f6e7360e81b608482015260a40161072f565b825482861463ffffffff1990911661010062ffffff88160260ff19161717835560405185815286906000805160206132d28339815191529060200160405180910390a2505050505050565b60405163230448b160e01b8152631576e14760e11b906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063230448b190610d2c90339030908690600401612fd2565b6020604051808303816000875af1158015610d4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d6f919061300f565b610d8b5760405162461bcd60e51b815260040161072f9061302a565b600082815260016020819052604082209081015490916001600160801b039091169003610df75760405162461bcd60e51b815260206004820152601a602482015279105d58dd1a5bdb881b5d5cdd0818994818dbdb999a59dd5c995960321b604482015260640161072f565b8054600160201b900460ff1615610e205760405162461bcd60e51b815260040161072f9061305e565b8054600160401b600160c01b03191680825560006001830155600282015460408051600160281b90930462ffffff168352602083019190915284917f28cd2e5a54afa08469ca157e482b97c3de9efbc4c48cea254864df050677145a910160405180910390a2505050565b60006001600160a01b038216610ed55760405162461bcd60e51b815260206004820152600f60248201526e4e6f207a65726f206164647265737360881b604482015260640161072f565b60008381526001602090815260408083206001600160a01b0386168452600483528184208785529092529091208054600160e81b900462ffffff16610f2c5760405162461bcd60e51b815260040161072f90613095565b60028201548154600090610f4d908390600160e81b900462ffffff16612f28565b8354909150610f669082906001600160e81b03166130d6565b979650505050505050565b60405163a47d29cb60e01b81526004810182905281907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa158015610fd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ffc9190612f90565b6001600160a01b0316336001600160a01b03161461102c5760405162461bcd60e51b815260040161072f90612fad565b60405162461bcd60e51b81526020600482015260146024820152731058dd1a5bdb881b9bdd081cdd5c1c1bdc9d195960621b604482015260640161072f565b60026000540361108d5760405162461bcd60e51b815260040161072f90612e60565b60026000908155818152600160209081526040808320338452600483528184208585529092529091208054600160e81b900462ffffff166001600160a01b0385166110ea5760405162461bcd60e51b815260040161072f906130e9565b6000811161110a5760405162461bcd60e51b815260040161072f90613095565b6002830154600061111b8284612f28565b84549091506000906111379083906001600160e81b03166130d6565b905061114282612843565b85546001600160e81b0319166001600160e81b03919091161785556040805185815260208101849052889133916000805160206132b2833981519152910160405180910390a36000886001600160a01b03168260405160006040518083038185875af1925050503d80600081146111d5576040519150601f19603f3d011682016040523d82523d6000602084013e6111da565b606091505b505080915050806111fd5760405162461bcd60e51b815260040161072f90613120565b5050600160005550505050505050565b60405163230448b160e01b8152632c6ac08360e11b906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063230448b19061126690339030908690600401612fd2565b6020604051808303816000875af1158015611285573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112a9919061300f565b6112c55760405162461bcd60e51b815260040161072f9061302a565b60008381526001602052604090208054600160201b900460ff16156112fc5760405162461bcd60e51b815260040161072f9061305e565b611305846128b0565b805460ff166113515760405162461bcd60e51b815260206004820152601860248201527741756374696f6e206d75737420626520636f6d706c65746560401b604482015260640161072f565b806002015483106113a45760405162461bcd60e51b815260206004820152601d60248201527f4d6179206f6e6c79207265647563652073656c6c6f7574207072696365000000604482015260640161072f565b6001810154600160801b90046001600160801b03168310156114275760405162461bcd60e51b815260206004820152603660248201527f4d6179206f6e6c79207265647563652073656c6c6f757420707269636520746f604482015275103130b9b290383934b1b29037b91033b932b0ba32b960511b606482015260840161072f565b600083116114715760405162461bcd60e51b815260206004820152601760248201527604f6e6c792073656c6c6f757420707269636573203e203604c1b604482015260640161072f565b6002810183905560405183815284907f6e257f2b2266f72d4bd28a2e64b0cfc245c9a1c28ec2dc591f8052f77f969c95906020015b60405180910390a250505050565b600081815260016020819052604082209081015481546001600160801b0390911615159291606091839190600160401b90046001600160401b0316421161150a5760018101546001600160801b03169350611534565b60018101546001600160801b03166000036115285760009350611534565b611531866128fb565b93505b6040518060400160405280600381526020016208aa8960eb1b815250925060009150509193509193565b600061156a838361070b565b9392505050565b6115ae33838380806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250611f6892505050565b5050565b60405163230448b160e01b8152636056909760e11b906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063230448b19061160b90339030908690600401612fd2565b6020604051808303816000875af115801561162a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061164e919061300f565b61166a5760405162461bcd60e51b815260040161072f9061302a565b8282116116d05760405162461bcd60e51b815260206004820152602e60248201527f4d6178696d756d2068616c66206c696665206d7573742062652067726561746560448201526d72207468616e206d696e696d756d60901b606482015260840161072f565b600083116117205760405162461bcd60e51b815260206004820152601d60248201527f48616c66206c696665206f66207a65726f206e6f7420616c6c6f776564000000604482015260640161072f565b6002839055600382905560408051848152602081018490527f1d5d9c9b660aace5432c6c7412456d0ad1b5ff4c6ea156a8c551ba93555ed73f910160405180910390a1505050565b611772338261106b565b50565b6002600054036117975760405162461bcd60e51b815260040161072f90612e60565b600260005560405163a47d29cb60e01b815260048101829052819063c7a4f53d60e01b907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa15801561180c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118309190612f90565b6001600160a01b0316336001600160a01b031614806118dd575060405163230448b160e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063230448b19061189a90339030908690600401612fd2565b6020604051808303816000875af11580156118b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118dd919061300f565b6119245760405162461bcd60e51b815260206004820152601860248201527713db9b1e48105c9d1a5cdd081bdc8810591b5a5b881050d360421b604482015260640161072f565b60008381526001602052604090208054600160201b900460ff16156119885760405162461bcd60e51b815260206004820152601a60248201527914995d995b9d595cc8185b1c9958591e4818dbdb1b1958dd195960321b604482015260640161072f565b611991846128b0565b600061199c85612240565b6001830154909150600160801b90046001600160801b03168114611a1057815460ff16611a0b5760405162461bcd60e51b815260206004820152601f60248201527f4163746976652061756374696f6e206e6f742079657420736f6c64206f757400604482015260640161072f565b611a77565b6001820154600160801b90046001600160801b031680611a715760405162461bcd60e51b815260206004820152601c60248201527b04f6e6c79206c617465737450757263686173655072696365203e20360241b604482015260640161072f565b60028301555b815460ff60201b1916600160201b17808355600090611aa490839062ffffff600160281b90910416612f28565b9050611ad186827f00000000000000000000000000000000000000000000000000000000000000006123b5565b60405186907f110a44b77609d30f9b80fa9add8c3e18ba02555b3546acf2b0318a3d3229c5a790600090a25050600160005550505050565b60405163a47d29cb60e01b81526004810186905285907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa158015611b70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b949190612f90565b6001600160a01b0316336001600160a01b031614611bc45760405162461bcd60e51b815260040161072f90612fad565b60008681526001602052604090208054600160401b90046001600160401b03161580611c0057508054600160401b90046001600160401b031642105b611c4b5760405162461bcd60e51b815260206004820152601c60248201527b27379036b7b234b334b1b0ba34b7b7399036b4b216b0bab1ba34b7b760211b604482015260640161072f565b854210611c915760405162461bcd60e51b81526020600482015260146024820152734f6e6c79206675747572652061756374696f6e7360601b604482015260640161072f565b828411611d035760405162461bcd60e51b815260206004820152603a60248201527f41756374696f6e207374617274207072696365206d7573742062652067726561604482015279746572207468616e2061756374696f6e20656e6420707269636560301b606482015260840161072f565b60008311611d515760405162461bcd60e51b815260206004820152601b60248201527a42617365207072696365206d757374206265206e6f6e2d7a65726f60281b604482015260640161072f565b60028101541580611d66575080600201548411155b611dcf5760405162461bcd60e51b815260206004820152603460248201527f41756374696f6e207374617274207072696365206d757374206265203c3d206c604482015273617465737420707572636861736520707269636560601b606482015260840161072f565b6002548510158015611de357506003548511155b611e635760405162461bcd60e51b8152602060048201526044602482018190527f50726963652064656361792068616c66206c696665206d7573742066616c6c20908201527f6265747765656e206d696e20616e64206d617820616c6c6f7761626c652076616064820152636c75657360e01b608482015260a40161072f565b611e6c8661292f565b81546001600160401b0391909116600160401b0267ffffffffffffffff60401b19909116178155611e9c8561292f565b81546001600160401b0391909116600160801b0267ffffffffffffffff60801b19909116178155611ecc84612997565b6001820180546001600160801b0319166001600160801b0392909216919091179055611ef783612997565b6001820180546001600160801b03928316600160801b02921691909117905560405187907f38b3058b75696f9e45bffa9c4b237adcde13d74c7bc1bea63e13c712d0776c7490611f4e908990899089908990612beb565b60405180910390a2611f5f876128b0565b50505050505050565b600260005403611f8a5760405162461bcd60e51b815260040161072f90612e60565b60026000556001600160a01b038216611fb55760405162461bcd60e51b815260040161072f906130e9565b8051600090815b818110156120c9576000848281518110611fd857611fd861314b565b6020908102919091018101516000818152600183526040808220338352600485528183208484529094529020805491935090600160e81b900462ffffff16806120335760405162461bcd60e51b815260040161072f90613095565b600283015460006120448284612f28565b845490915061205d9082906001600160e81b03166130d6565b612067908a612ef2565b985061207281612843565b84546001600160e81b0319166001600160e81b03919091161784556040805184815260208101839052879133916000805160206132b2833981519152910160405180910390a3866001019650505050505050611fbc565b506000846001600160a01b03168360405160006040518083038185875af1925050503d8060008114612117576040519150601f19603f3d011682016040523d82523d6000602084013e61211c565b606091505b5050809150508061213f5760405162461bcd60e51b815260040161072f90613120565b50506001600055505050565b60405163a47d29cb60e01b81526004810182905281907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa1580156121b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121d69190612f90565b6001600160a01b0316336001600160a01b0316146122065760405162461bcd60e51b815260040161072f90612fad565b60405162461bcd60e51b815260206004820152600f60248201526e139bdd081a5b5c1b195b595b9d1959608a1b604482015260640161072f565b6000818152600160205260408120805460ff168061226657508054600160201b900460ff165b15612275576002015492915050565b80546001820154600160401b82046001600160401b0390811692600160801b9081900490911691046001600160801b03164283106122ef5760405162461bcd60e51b8152602060048201526017602482015276105d58dd1a5bdb881b9bdd081e595d081cdd185c9d1959604a1b604482015260640161072f565b6000821161233a5760405162461bcd60e51b81526020600482015260186024820152774f6e6c7920636f6e666967757265642061756374696f6e7360401b604482015260640161072f565b60018401546001600160801b03164284900383818161235b5761235b612f58565b0482901c915060028485838161237357612373612f58565b0684028161238357612383612f58565b048161239157612391612f58565b0482039150828210156123aa5750909695505050505050565b509695505050505050565b600082116123c257505050565b60008060008060008060007f00000000000000000000000000000000000000000000000000000000000000001561252d57604051638639415b60e01b8152600481018b9052602481018a905260009081906001600160a01b038b1690638639415b9060440161010060405180830381865afa158015612445573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124699190613161565b969e50949c50909a50985091965091945090925090508115612526576040516001600160a01b038216908390600081818185875af1925050503d80600081146124ce576040519150601f19603f3d011682016040523d82523d6000602084013e6124d3565b606091505b505080995050886125265760405162461bcd60e51b815260206004820181905260248201527f506c6174666f726d2050726f7669646572207061796d656e74206661696c6564604482015260640161072f565b50506125ad565b604051638639415b60e01b8152600481018b9052602481018a90526001600160a01b03891690638639415b9060440160c060405180830381865afa158015612579573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061259d91906131e9565b949a509298509096509450925090505b8515612654576040516001600160a01b038616908790600081818185875af1925050503d80600081146125fc576040519150601f19603f3d011682016040523d82523d6000602084013e612601565b606091505b505080975050866126545760405162461bcd60e51b815260206004820152601e60248201527f52656e6465722050726f7669646572207061796d656e74206661696c65640000604482015260640161072f565b83156126f3576040516001600160a01b038416908590600081818185875af1925050503d80600081146126a3576040519150601f19603f3d011682016040523d82523d6000602084013e6126a8565b606091505b505080975050866126f35760405162461bcd60e51b8152602060048201526015602482015274105c9d1a5cdd081c185e5b595b9d0819985a5b1959605a1b604482015260640161072f565b811561279a576040516001600160a01b038216908390600081818185875af1925050503d8060008114612742576040519150601f19603f3d011682016040523d82523d6000602084013e612747565b606091505b5050809750508661279a5760405162461bcd60e51b815260206004820152601f60248201527f4164646974696f6e616c205061796565207061796d656e74206661696c656400604482015260640161072f565b50505050505050505050565b604051630ea5613f60e01b81526004810182905260009081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630ea5613f9060240160c060405180830381865afa158015612810573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128349190613252565b50939792965091945050505050565b60006001600160e81b038211156128ac5760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20326044820152663332206269747360c81b606482015260840161072f565b5090565b60008181526001602052604081208054909190610100900462ffffff161580156128dc5750815460ff16155b905080156128f2576128ed83612a00565b505050565b6128ed83612a63565b600061290682612b23565b15612921575060009081526001602052604090206002015490565b6109f282612240565b919050565b60006001600160401b038211156128ac5760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203660448201526534206269747360d01b606482015260840161072f565b60006001600160801b038211156128ac5760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b606482015260840161072f565b600080612a0c836127a6565b60008581526001602052604090819020805460ff1962ffffff8516610100021663ffffffff1990911617848414178155905191945091925084906000805160206132d2833981519152906114a69086815260200190565b600080612a6f836127a6565b60008581526001602052604090208054919450919250610100900462ffffff1683811115612adf57815483851463ffffffff1990911661010062ffffff87160260ff19161717825560405184815285906000805160206132d28339815191529060200160405180910390a2612b1c565b808310612b1c57815460ff1916600117825560405185906000805160206132d283398151915290612b139087815260200190565b60405180910390a25b5050505050565b6000806000612b31846127a6565b6000868152600160205260409020805492945090925090610100900462ffffff1682811115612b635750501492915050565b90921015949350505050565b6001600160a01b038116811461177257600080fd5b60008060408385031215612b9757600080fd5b8235612ba281612b6f565b946020939093013593505050565b600060208284031215612bc257600080fd5b5035919050565b60008060408385031215612bdc57600080fd5b50508035926020909101359150565b93845260208401929092526040830152606082015260800190565b60008060408385031215612c1957600080fd5b823591506020830135612c2b81612b6f565b809150509250929050565b6000815180845260005b81811015612c5c57602081850181015186830182015201612c40565b506000602082860101526020601f19601f83011685010191505092915050565b8415158152836020820152608060408201526000612c9d6080830185612c36565b905060018060a01b038316606083015295945050505050565b60008060208385031215612cc957600080fd5b82356001600160401b0380821115612ce057600080fd5b818501915085601f830112612cf457600080fd5b813581811115612d0357600080fd5b8660208260051b8501011115612d1857600080fd5b60209290920196919550909350505050565b600080600080600060a08688031215612d4257600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b60208152600061156a6020830184612c36565b634e487b7160e01b600052604160045260246000fd5b60008060408385031215612da157600080fd5b8235612dac81612b6f565b91506020838101356001600160401b0380821115612dc957600080fd5b818601915086601f830112612ddd57600080fd5b813581811115612def57612def612d78565b8060051b604051601f19603f83011681018181108582111715612e1457612e14612d78565b604052918252848201925083810185019189831115612e3257600080fd5b938501935b82851015612e5057843584529385019392850192612e37565b8096505050505050509250929050565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b60208082526025908201527f4d6178696d756d206e756d626572206f6620696e766f636174696f6e732072656040820152641858da195960da1b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b808201808211156109f2576109f2612edc565b62ffffff818116838216019080821115612f2157612f21612edc565b5092915050565b80820281158282048414176109f2576109f2612edc565b600060208284031215612f5157600080fd5b5051919050565b634e487b7160e01b600052601260045260246000fd5b600062ffffff808316818103612f8657612f86612edc565b6001019392505050565b600060208284031215612fa257600080fd5b815161156a81612b6f565b6020808252600b908201526a13db9b1e48105c9d1a5cdd60aa1b604082015260600190565b6001600160a01b0393841681529190921660208201526001600160e01b0319909116604082015260600190565b8051801515811461292a57600080fd5b60006020828403121561302157600080fd5b61156a82612fff565b6020808252601a908201527913db9b1e4810dbdc994810591b5a5b9050d308185b1b1bddd95960321b604082015260600190565b6020808252601e908201527f4f6e6c79206265666f726520726576656e75657320636f6c6c65637465640000604082015260600190565b60208082526021908201527f4e6f20707572636861736573206d6164652062792074686973206164647265736040820152607360f81b606082015260800190565b818103818111156109f2576109f2612edc565b6020808252601f908201527f4e6f20636c61696d696e6720746f20746865207a65726f206164647265737300604082015260600190565b602080825260119082015270149958db185a5b5a5b99c819985a5b1959607a1b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b600080600080600080600080610100898b03121561317e57600080fd5b88519750602089015161319081612b6f565b60408a015160608b015191985096506131a881612b6f565b60808a015160a08b015191965094506131c081612b6f565b60c08a015160e08b015191945092506131d881612b6f565b809150509295985092959890939650565b60008060008060008060c0878903121561320257600080fd5b86519550602087015161321481612b6f565b60408801516060890151919650945061322c81612b6f565b608088015160a0890151919450925061324481612b6f565b809150509295509295509295565b60008060008060008060c0878903121561326b57600080fd5b865195506020870151945061328260408801612fff565b935061329060608801612fff565b9250608087015191506132a560a08801612fff565b9050929550929550929556fe88bc1bf6777e1eaef8a0583c526f6963c9183af9ee82015f9a28f55b9115ea718445d32a2ee05956c6c842357ca16ee41e92657b1cbcbf1c94f500672e48c3b1a26469706673582212204212f610de37ac860a4bd3b6d557e4f86f86395909287548d97e73453cc475e464736f6c63430008110033",
1125
+ "linkReferences": {},
1126
+ "deployedLinkReferences": {}
1127
+ }