UNPKG

82.9 kBJSONView Raw
1{
2 "abi": [
3 {
4 "inputs": [
5 {
6 "internalType": "address",
7 "name": "factory_",
8 "type": "address"
9 },
10 {
11 "internalType": "uint256",
12 "name": "windowSize_",
13 "type": "uint256"
14 },
15 {
16 "internalType": "uint8",
17 "name": "granularity_",
18 "type": "uint8"
19 }
20 ],
21 "stateMutability": "nonpayable",
22 "type": "constructor"
23 },
24 {
25 "inputs": [
26 {
27 "internalType": "address",
28 "name": "tokenIn",
29 "type": "address"
30 },
31 {
32 "internalType": "uint256",
33 "name": "amountIn",
34 "type": "uint256"
35 },
36 {
37 "internalType": "address",
38 "name": "tokenOut",
39 "type": "address"
40 }
41 ],
42 "name": "consult",
43 "outputs": [
44 {
45 "internalType": "uint256",
46 "name": "amountOut",
47 "type": "uint256"
48 }
49 ],
50 "stateMutability": "view",
51 "type": "function"
52 },
53 {
54 "inputs": [],
55 "name": "factory",
56 "outputs": [
57 {
58 "internalType": "address",
59 "name": "",
60 "type": "address"
61 }
62 ],
63 "stateMutability": "view",
64 "type": "function"
65 },
66 {
67 "inputs": [],
68 "name": "granularity",
69 "outputs": [
70 {
71 "internalType": "uint8",
72 "name": "",
73 "type": "uint8"
74 }
75 ],
76 "stateMutability": "view",
77 "type": "function"
78 },
79 {
80 "inputs": [
81 {
82 "internalType": "uint256",
83 "name": "timestamp",
84 "type": "uint256"
85 }
86 ],
87 "name": "observationIndexOf",
88 "outputs": [
89 {
90 "internalType": "uint8",
91 "name": "index",
92 "type": "uint8"
93 }
94 ],
95 "stateMutability": "view",
96 "type": "function"
97 },
98 {
99 "inputs": [
100 {
101 "internalType": "address",
102 "name": "",
103 "type": "address"
104 },
105 {
106 "internalType": "uint256",
107 "name": "",
108 "type": "uint256"
109 }
110 ],
111 "name": "pairObservations",
112 "outputs": [
113 {
114 "internalType": "uint256",
115 "name": "timestamp",
116 "type": "uint256"
117 },
118 {
119 "internalType": "uint256",
120 "name": "price0Cumulative",
121 "type": "uint256"
122 },
123 {
124 "internalType": "uint256",
125 "name": "price1Cumulative",
126 "type": "uint256"
127 }
128 ],
129 "stateMutability": "view",
130 "type": "function"
131 },
132 {
133 "inputs": [],
134 "name": "periodSize",
135 "outputs": [
136 {
137 "internalType": "uint256",
138 "name": "",
139 "type": "uint256"
140 }
141 ],
142 "stateMutability": "view",
143 "type": "function"
144 },
145 {
146 "inputs": [
147 {
148 "internalType": "address",
149 "name": "tokenA",
150 "type": "address"
151 },
152 {
153 "internalType": "address",
154 "name": "tokenB",
155 "type": "address"
156 }
157 ],
158 "name": "update",
159 "outputs": [],
160 "stateMutability": "nonpayable",
161 "type": "function"
162 },
163 {
164 "inputs": [],
165 "name": "windowSize",
166 "outputs": [
167 {
168 "internalType": "uint256",
169 "name": "",
170 "type": "uint256"
171 }
172 ],
173 "stateMutability": "view",
174 "type": "function"
175 }
176 ],
177 "evm": {
178 "bytecode": {
179 "linkReferences": {},
180 "object": "61010060405234801561001157600080fd5b506040516200128838038062001288833981016040819052610032916100d3565b60018160ff161161005e5760405162461bcd60e51b815260040161005590610175565b60405180910390fd5b8160ff821680828161006c57fe5b0460e081905202146100905760405162461bcd60e51b815260040161005590610125565b60609290921b6001600160601b03191660805260a05260f81b7fff000000000000000000000000000000000000000000000000000000000000001660c0526101aa565b6000806000606084860312156100e7578283fd5b83516001600160a01b03811681146100fd578384fd5b60208501516040860151919450925060ff8116811461011a578182fd5b809150509250925092565b60208082526030908201527f536c6964696e6757696e646f774f7261636c653a2057494e444f575f4e4f545f60408201526f4556454e4c595f444956495349424c4560801b606082015260800190565b6020808252818101527f536c6964696e6757696e646f774f7261636c653a204752414e554c4152495459604082015260600190565b60805160601c60a05160c05160f81c60e051611070620002186000398061022952806104a752806104fa528061055a52508061013c52806103ea5280610526528061061c52508061016052806101c6528061024d52508061018a528061036f528061039852506110706000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063c45a01551161005b578063c45a0155146100f5578063c640752d1461010a578063dbaad32f1461011f578063e4463eb21461013257610088565b8063556f0dc71461008d5780638a14117a146100ab5780638c86f1e4146100c0578063bfcc8e42146100d3575b600080fd5b61009561013a565b6040516100a29190610feb565b60405180910390f35b6100b361015e565b6040516100a29190610fcc565b6100b36100ce366004610c54565b610182565b6100e66100e1366004610c2a565b61032e565b6040516100a293929190610fd5565b6100fd61036d565b6040516100a29190610dc9565b61011d610118366004610bf6565b610391565b005b61009561012d366004610cde565b6104f5565b6100b3610558565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000806101b07f0000000000000000000000000000000000000000000000000000000000000000868561057c565b905060006101bd8261060a565b805490915042037f0000000000000000000000000000000000000000000000000000000000000000811115610227576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161021e90610dea565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006002027f0000000000000000000000000000000000000000000000000000000000000000038110156102a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161021e90610e47565b6000806102b2856106b2565b509150915060006102c38a896108d8565b5090508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156103175761030a856001015484868c6109d7565b9650505050505050610327565b61030a856002015483868c6109d7565b9392505050565b6000602052816000526040600020818154811061034757fe5b600091825260209091206003909102018054600182015460029092015490935090915083565b7f000000000000000000000000000000000000000000000000000000000000000081565b60006103be7f0000000000000000000000000000000000000000000000000000000000000000848461057c565b73ffffffffffffffffffffffffffffffffffffffff81166000908152602081905260409020549091505b7f000000000000000000000000000000000000000000000000000000000000000060ff168110156104495773ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604081208054600190810182559152016103e8565b506000610455426104f5565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604081208054929350909160ff841690811061048e57fe5b60009182526020909120600390910201805490915042037f00000000000000000000000000000000000000000000000000000000000000008111156104ed576000806104d9866106b2565b504286556001860191909155600285015550505b505050505050565b6000807f0000000000000000000000000000000000000000000000000000000000000000838161052157fe5b0490507f000000000000000000000000000000000000000000000000000000000000000060ff16818161055057fe5b069392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600080600061058b85856108d8565b915091508582826040516020016105a3929190610d0e565b604051602081830303815290604052805190602001206040516020016105ca929190610d48565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291905280516020909101209695505050505050565b600080610616426104f5565b905060007f000000000000000000000000000000000000000000000000000000000000000060ff168260010160ff168161064c57fe5b0690506000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208160ff168154811061069b57fe5b906000526020600020906003020192505050919050565b60008060006106bf610a4a565b90508373ffffffffffffffffffffffffffffffffffffffff16635909c0d56040518163ffffffff1660e01b815260040160206040518083038186803b15801561070757600080fd5b505afa15801561071b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073f9190610cf6565b92508373ffffffffffffffffffffffffffffffffffffffff16635a3d54936040518163ffffffff1660e01b815260040160206040518083038186803b15801561078757600080fd5b505afa15801561079b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107bf9190610cf6565b915060008060008673ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561080c57600080fd5b505afa158015610820573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108449190610c95565b9250925092508363ffffffff168163ffffffff16146108ce5780840363ffffffff81166108718486610a54565b517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1602969096019563ffffffff81166108a78585610a54565b517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16029590950194505b5050509193909250565b6000808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415610941576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161021e90610ea4565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161061097b57828461097e565b83835b909250905073ffffffffffffffffffffffffffffffffffffffff82166109d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161021e90610f5e565b9250929050565b60006109e1610bad565b604051806020016040528085888803816109f757fe5b047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1690529050610a2c610a278285610b18565b610ba6565b71ffffffffffffffffffffffffffffffffffff169695505050505050565b63ffffffff421690565b610a5c610bad565b6000826dffffffffffffffffffffffffffff1611610aa6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161021e90610f95565b6040805160208101909152806dffffffffffffffffffffffffffff84167bffffffffffffffffffffffffffff0000000000000000000000000000607087901b1681610aed57fe5b047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525090505b92915050565b610b20610bbf565b6000821580610b5b57505082517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1682810290838281610b5857fe5b04145b610b91576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161021e90610f01565b60408051602081019091529081529392505050565b5160701c90565b60408051602081019091526000815290565b6040518060200160405280600081525090565b803573ffffffffffffffffffffffffffffffffffffffff81168114610b1257600080fd5b60008060408385031215610c08578182fd5b610c128484610bd2565b9150610c218460208501610bd2565b90509250929050565b60008060408385031215610c3c578182fd5b610c468484610bd2565b946020939093013593505050565b600080600060608486031215610c68578081fd5b8335610c7381610ff9565b9250602084013591506040840135610c8a81610ff9565b809150509250925092565b600080600060608486031215610ca9578283fd5b8351610cb48161101e565b6020850151909350610cc58161101e565b604085015190925063ffffffff81168114610c8a578182fd5b600060208284031215610cef578081fd5b5035919050565b600060208284031215610d07578081fd5b5051919050565b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606093841b811682529190921b16601482015260280190565b7fff00000000000000000000000000000000000000000000000000000000000000815260609290921b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016600183015260158201527fab428a35b38b4307862d79ae79c6ec58b221c049532ba8b17045f4499da215f9603582015260550190565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b60208082526033908201527f536c6964696e6757696e646f774f7261636c653a204d495353494e475f48495360408201527f544f524943414c5f4f42534552564154494f4e00000000000000000000000000606082015260800190565b6020808252602c908201527f536c6964696e6757696e646f774f7261636c653a20554e45585045435445445f60408201527f54494d455f454c41505345440000000000000000000000000000000000000000606082015260800190565b60208082526025908201527f556e697377617056324c6962726172793a204944454e544943414c5f4144445260408201527f4553534553000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526023908201527f4669786564506f696e743a204d554c5449504c49434154494f4e5f4f5645524660408201527f4c4f570000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252601e908201527f556e697377617056324c6962726172793a205a45524f5f414444524553530000604082015260600190565b60208082526017908201527f4669786564506f696e743a204449565f42595f5a45524f000000000000000000604082015260600190565b90815260200190565b9283526020830191909152604082015260600190565b60ff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff8116811461101b57600080fd5b50565b6dffffffffffffffffffffffffffff8116811461101b57600080fdfea2646970667358221220c5295606636cb8a7ae7f35c43a55bffaab66a75eb46184fc473d1a6264ed6f9c64736f6c63430006060033",
181 "opcodes": "PUSH2 0x100 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x1288 CODESIZE SUB DUP1 PUSH3 0x1288 DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH2 0x32 SWAP2 PUSH2 0xD3 JUMP JUMPDEST PUSH1 0x1 DUP2 PUSH1 0xFF AND GT PUSH2 0x5E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x55 SWAP1 PUSH2 0x175 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0xFF DUP3 AND DUP1 DUP3 DUP2 PUSH2 0x6C JUMPI INVALID JUMPDEST DIV PUSH1 0xE0 DUP2 SWAP1 MSTORE MUL EQ PUSH2 0x90 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x55 SWAP1 PUSH2 0x125 JUMP JUMPDEST PUSH1 0x60 SWAP3 SWAP1 SWAP3 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0x60 SHL SUB NOT AND PUSH1 0x80 MSTORE PUSH1 0xA0 MSTORE PUSH1 0xF8 SHL PUSH32 0xFF00000000000000000000000000000000000000000000000000000000000000 AND PUSH1 0xC0 MSTORE PUSH2 0x1AA JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xE7 JUMPI DUP3 DUP4 REVERT JUMPDEST DUP4 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0xFD JUMPI DUP4 DUP5 REVERT JUMPDEST PUSH1 0x20 DUP6 ADD MLOAD PUSH1 0x40 DUP7 ADD MLOAD SWAP2 SWAP5 POP SWAP3 POP PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x11A JUMPI DUP2 DUP3 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x30 SWAP1 DUP3 ADD MSTORE PUSH32 0x536C6964696E6757696E646F774F7261636C653A2057494E444F575F4E4F545F PUSH1 0x40 DUP3 ADD MSTORE PUSH16 0x4556454E4C595F444956495349424C45 PUSH1 0x80 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP2 DUP2 ADD MSTORE PUSH32 0x536C6964696E6757696E646F774F7261636C653A204752414E554C4152495459 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH1 0x60 SHR PUSH1 0xA0 MLOAD PUSH1 0xC0 MLOAD PUSH1 0xF8 SHR PUSH1 0xE0 MLOAD PUSH2 0x1070 PUSH3 0x218 PUSH1 0x0 CODECOPY DUP1 PUSH2 0x229 MSTORE DUP1 PUSH2 0x4A7 MSTORE DUP1 PUSH2 0x4FA MSTORE DUP1 PUSH2 0x55A MSTORE POP DUP1 PUSH2 0x13C MSTORE DUP1 PUSH2 0x3EA MSTORE DUP1 PUSH2 0x526 MSTORE DUP1 PUSH2 0x61C MSTORE POP DUP1 PUSH2 0x160 MSTORE DUP1 PUSH2 0x1C6 MSTORE DUP1 PUSH2 0x24D MSTORE POP DUP1 PUSH2 0x18A MSTORE DUP1 PUSH2 0x36F MSTORE DUP1 PUSH2 0x398 MSTORE POP PUSH2 0x1070 PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x88 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xC45A0155 GT PUSH2 0x5B JUMPI DUP1 PUSH4 0xC45A0155 EQ PUSH2 0xF5 JUMPI DUP1 PUSH4 0xC640752D EQ PUSH2 0x10A JUMPI DUP1 PUSH4 0xDBAAD32F EQ PUSH2 0x11F JUMPI DUP1 PUSH4 0xE4463EB2 EQ PUSH2 0x132 JUMPI PUSH2 0x88 JUMP JUMPDEST DUP1 PUSH4 0x556F0DC7 EQ PUSH2 0x8D JUMPI DUP1 PUSH4 0x8A14117A EQ PUSH2 0xAB JUMPI DUP1 PUSH4 0x8C86F1E4 EQ PUSH2 0xC0 JUMPI DUP1 PUSH4 0xBFCC8E42 EQ PUSH2 0xD3 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x95 PUSH2 0x13A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA2 SWAP2 SWAP1 PUSH2 0xFEB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xB3 PUSH2 0x15E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA2 SWAP2 SWAP1 PUSH2 0xFCC JUMP JUMPDEST PUSH2 0xB3 PUSH2 0xCE CALLDATASIZE PUSH1 0x4 PUSH2 0xC54 JUMP JUMPDEST PUSH2 0x182 JUMP JUMPDEST PUSH2 0xE6 PUSH2 0xE1 CALLDATASIZE PUSH1 0x4 PUSH2 0xC2A JUMP JUMPDEST PUSH2 0x32E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA2 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xFD5 JUMP JUMPDEST PUSH2 0xFD PUSH2 0x36D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA2 SWAP2 SWAP1 PUSH2 0xDC9 JUMP JUMPDEST PUSH2 0x11D PUSH2 0x118 CALLDATASIZE PUSH1 0x4 PUSH2 0xBF6 JUMP JUMPDEST PUSH2 0x391 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x95 PUSH2 0x12D CALLDATASIZE PUSH1 0x4 PUSH2 0xCDE JUMP JUMPDEST PUSH2 0x4F5 JUMP JUMPDEST PUSH2 0xB3 PUSH2 0x558 JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1B0 PUSH32 0x0 DUP7 DUP6 PUSH2 0x57C JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x1BD DUP3 PUSH2 0x60A JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP TIMESTAMP SUB PUSH32 0x0 DUP2 GT ISZERO PUSH2 0x227 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x21E SWAP1 PUSH2 0xDEA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH32 0x0 PUSH1 0x2 MUL PUSH32 0x0 SUB DUP2 LT ISZERO PUSH2 0x2A6 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x21E SWAP1 PUSH2 0xE47 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2B2 DUP6 PUSH2 0x6B2 JUMP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH1 0x0 PUSH2 0x2C3 DUP11 DUP10 PUSH2 0x8D8 JUMP JUMPDEST POP SWAP1 POP DUP10 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x317 JUMPI PUSH2 0x30A DUP6 PUSH1 0x1 ADD SLOAD DUP5 DUP7 DUP13 PUSH2 0x9D7 JUMP JUMPDEST SWAP7 POP POP POP POP POP POP POP PUSH2 0x327 JUMP JUMPDEST PUSH2 0x30A DUP6 PUSH1 0x2 ADD SLOAD DUP4 DUP7 DUP13 PUSH2 0x9D7 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 MSTORE DUP2 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x347 JUMPI INVALID JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 PUSH1 0x3 SWAP1 SWAP2 MUL ADD DUP1 SLOAD PUSH1 0x1 DUP3 ADD SLOAD PUSH1 0x2 SWAP1 SWAP3 ADD SLOAD SWAP1 SWAP4 POP SWAP1 SWAP2 POP DUP4 JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3BE PUSH32 0x0 DUP5 DUP5 PUSH2 0x57C JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 SWAP2 POP JUMPDEST PUSH32 0x0 PUSH1 0xFF AND DUP2 LT ISZERO PUSH2 0x449 JUMPI PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 SWAP1 DUP2 ADD DUP3 SSTORE SWAP2 MSTORE ADD PUSH2 0x3E8 JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x455 TIMESTAMP PUSH2 0x4F5 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD SWAP3 SWAP4 POP SWAP1 SWAP2 PUSH1 0xFF DUP5 AND SWAP1 DUP2 LT PUSH2 0x48E JUMPI INVALID JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 PUSH1 0x3 SWAP1 SWAP2 MUL ADD DUP1 SLOAD SWAP1 SWAP2 POP TIMESTAMP SUB PUSH32 0x0 DUP2 GT ISZERO PUSH2 0x4ED JUMPI PUSH1 0x0 DUP1 PUSH2 0x4D9 DUP7 PUSH2 0x6B2 JUMP JUMPDEST POP TIMESTAMP DUP7 SSTORE PUSH1 0x1 DUP7 ADD SWAP2 SWAP1 SWAP2 SSTORE PUSH1 0x2 DUP6 ADD SSTORE POP POP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH32 0x0 DUP4 DUP2 PUSH2 0x521 JUMPI INVALID JUMPDEST DIV SWAP1 POP PUSH32 0x0 PUSH1 0xFF AND DUP2 DUP2 PUSH2 0x550 JUMPI INVALID JUMPDEST MOD SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x58B DUP6 DUP6 PUSH2 0x8D8 JUMP JUMPDEST SWAP2 POP SWAP2 POP DUP6 DUP3 DUP3 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x5A3 SWAP3 SWAP2 SWAP1 PUSH2 0xD0E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x5CA SWAP3 SWAP2 SWAP1 PUSH2 0xD48 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP2 SWAP1 MSTORE DUP1 MLOAD PUSH1 0x20 SWAP1 SWAP2 ADD KECCAK256 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x616 TIMESTAMP PUSH2 0x4F5 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH32 0x0 PUSH1 0xFF AND DUP3 PUSH1 0x1 ADD PUSH1 0xFF AND DUP2 PUSH2 0x64C JUMPI INVALID JUMPDEST MOD SWAP1 POP PUSH1 0x0 DUP1 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 PUSH1 0xFF AND DUP2 SLOAD DUP2 LT PUSH2 0x69B JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD SWAP3 POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x6BF PUSH2 0xA4A JUMP JUMPDEST SWAP1 POP DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x5909C0D5 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x707 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x71B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x73F SWAP2 SWAP1 PUSH2 0xCF6 JUMP JUMPDEST SWAP3 POP DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x5A3D5493 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x787 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x79B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x7BF SWAP2 SWAP1 PUSH2 0xCF6 JUMP JUMPDEST SWAP2 POP PUSH1 0x0 DUP1 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x902F1AC PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x80C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x820 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x844 SWAP2 SWAP1 PUSH2 0xC95 JUMP JUMPDEST SWAP3 POP SWAP3 POP SWAP3 POP DUP4 PUSH4 0xFFFFFFFF AND DUP2 PUSH4 0xFFFFFFFF AND EQ PUSH2 0x8CE JUMPI DUP1 DUP5 SUB PUSH4 0xFFFFFFFF DUP2 AND PUSH2 0x871 DUP5 DUP7 PUSH2 0xA54 JUMP JUMPDEST MLOAD PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL SWAP7 SWAP1 SWAP7 ADD SWAP6 PUSH4 0xFFFFFFFF DUP2 AND PUSH2 0x8A7 DUP6 DUP6 PUSH2 0xA54 JUMP JUMPDEST MLOAD PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL SWAP6 SWAP1 SWAP6 ADD SWAP5 POP JUMPDEST POP POP POP SWAP2 SWAP4 SWAP1 SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x941 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x21E SWAP1 PUSH2 0xEA4 JUMP JUMPDEST DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND LT PUSH2 0x97B JUMPI DUP3 DUP5 PUSH2 0x97E JUMP JUMPDEST DUP4 DUP4 JUMPDEST SWAP1 SWAP3 POP SWAP1 POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND PUSH2 0x9D0 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x21E SWAP1 PUSH2 0xF5E JUMP JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x9E1 PUSH2 0xBAD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 DUP6 DUP9 DUP9 SUB DUP2 PUSH2 0x9F7 JUMPI INVALID JUMPDEST DIV PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 MSTORE SWAP1 POP PUSH2 0xA2C PUSH2 0xA27 DUP3 DUP6 PUSH2 0xB18 JUMP JUMPDEST PUSH2 0xBA6 JUMP JUMPDEST PUSH18 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH4 0xFFFFFFFF TIMESTAMP AND SWAP1 JUMP JUMPDEST PUSH2 0xA5C PUSH2 0xBAD JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH14 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND GT PUSH2 0xAA6 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x21E SWAP1 PUSH2 0xF95 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE DUP1 PUSH14 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP5 AND PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000 PUSH1 0x70 DUP8 SWAP1 SHL AND DUP2 PUSH2 0xAED JUMPI INVALID JUMPDEST DIV PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP SWAP1 POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xB20 PUSH2 0xBBF JUMP JUMPDEST PUSH1 0x0 DUP3 ISZERO DUP1 PUSH2 0xB5B JUMPI POP POP DUP3 MLOAD PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 DUP2 MUL SWAP1 DUP4 DUP3 DUP2 PUSH2 0xB58 JUMPI INVALID JUMPDEST DIV EQ JUMPDEST PUSH2 0xB91 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x21E SWAP1 PUSH2 0xF01 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE SWAP1 DUP2 MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST MLOAD PUSH1 0x70 SHR SWAP1 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0xB12 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xC08 JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH2 0xC12 DUP5 DUP5 PUSH2 0xBD2 JUMP JUMPDEST SWAP2 POP PUSH2 0xC21 DUP5 PUSH1 0x20 DUP6 ADD PUSH2 0xBD2 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xC3C JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH2 0xC46 DUP5 DUP5 PUSH2 0xBD2 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xC68 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0xC73 DUP2 PUSH2 0xFF9 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH2 0xC8A DUP2 PUSH2 0xFF9 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xCA9 JUMPI DUP3 DUP4 REVERT JUMPDEST DUP4 MLOAD PUSH2 0xCB4 DUP2 PUSH2 0x101E JUMP JUMPDEST PUSH1 0x20 DUP6 ADD MLOAD SWAP1 SWAP4 POP PUSH2 0xCC5 DUP2 PUSH2 0x101E JUMP JUMPDEST PUSH1 0x40 DUP6 ADD MLOAD SWAP1 SWAP3 POP PUSH4 0xFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0xC8A JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xCEF JUMPI DUP1 DUP2 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xD07 JUMPI DUP1 DUP2 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000 PUSH1 0x60 SWAP4 DUP5 SHL DUP2 AND DUP3 MSTORE SWAP2 SWAP1 SWAP3 SHL AND PUSH1 0x14 DUP3 ADD MSTORE PUSH1 0x28 ADD SWAP1 JUMP JUMPDEST PUSH32 0xFF00000000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x60 SWAP3 SWAP1 SWAP3 SHL PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000 AND PUSH1 0x1 DUP4 ADD MSTORE PUSH1 0x15 DUP3 ADD MSTORE PUSH32 0xAB428A35B38B4307862D79AE79C6EC58B221C049532BA8B17045F4499DA215F9 PUSH1 0x35 DUP3 ADD MSTORE PUSH1 0x55 ADD SWAP1 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x33 SWAP1 DUP3 ADD MSTORE PUSH32 0x536C6964696E6757696E646F774F7261636C653A204D495353494E475F484953 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x544F524943414C5F4F42534552564154494F4E00000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2C SWAP1 DUP3 ADD MSTORE PUSH32 0x536C6964696E6757696E646F774F7261636C653A20554E45585045435445445F PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x54494D455F454C41505345440000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x25 SWAP1 DUP3 ADD MSTORE PUSH32 0x556E697377617056324C6962726172793A204944454E544943414C5F41444452 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x4553534553000000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x23 SWAP1 DUP3 ADD MSTORE PUSH32 0x4669786564506F696E743A204D554C5449504C49434154494F4E5F4F56455246 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x4C4F570000000000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x1E SWAP1 DUP3 ADD MSTORE PUSH32 0x556E697377617056324C6962726172793A205A45524F5F414444524553530000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x17 SWAP1 DUP3 ADD MSTORE PUSH32 0x4669786564506F696E743A204449565F42595F5A45524F000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST SWAP3 DUP4 MSTORE PUSH1 0x20 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0xFF SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x101B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH14 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x101B JUMPI PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC5 0x29 JUMP MOD PUSH4 0x6CB8A7AE PUSH32 0x35C43A55BFFAAB66A75EB46184FC473D1A6264ED6F9C64736F6C634300060600 CALLER ",
182 "sourceMap": "750:5705:12:-:0;;;2021:427;5:9:-1;2:2;;;27:1;24;17:12;2:2;2021:427:12;;;;;;;;;;;;;;;;;;;;;2129:1;2114:12;:16;;;2106:61;;;;-1:-1:-1;;;2106:61:12;;;;;;;;;;;;;;;;;2258:11;2198:56;;;;2258:11;2198:56;2212:26;;;;;2199:39;;;;2198:56;:71;2177:166;;;;-1:-1:-1;;;2177:166:12;;;;;;;;;2353:18;;;;;-1:-1:-1;;;;;;2353:18:12;;;2381:24;;2415:26;;;;;;750:5705;;424:531:-1;;;;571:2;559:9;550:7;546:23;542:32;539:2;;;-1:-1;;577:12;539:2;83:13;;-1:-1;;;;;2857:54;;3149:35;;3139:2;;-1:-1;;3188:12;3139:2;740;790:22;;224:13;859:2;907:22;;363:13;629:74;;-1:-1;224:13;-1:-1;3073:4;3062:16;;3395:33;;3385:2;;-1:-1;;3432:12;3385:2;867:72;;;;533:422;;;;;;1697:407;1888:2;1902:47;;;1187:2;1873:18;;;2629:19;1223:34;2669:14;;;1203:55;-1:-1;;;1278:12;;;1271:40;1330:12;;;1859:245;2111:407;2302:2;2316:47;;;2287:18;;;2629:19;1617:34;2669:14;;;1597:55;1671:12;;;2273:245;;750:5705:12;;;;;;;;;;;;;;;;;;;;;;"
183 },
184 "deployedBytecode": {
185 "immutableReferences": {
186 "6969": [
187 {
188 "length": 32,
189 "start": 394
190 },
191 {
192 "length": 32,
193 "start": 879
194 },
195 {
196 "length": 32,
197 "start": 920
198 }
199 ],
200 "6971": [
201 {
202 "length": 32,
203 "start": 352
204 },
205 {
206 "length": 32,
207 "start": 454
208 },
209 {
210 "length": 32,
211 "start": 589
212 }
213 ],
214 "6973": [
215 {
216 "length": 32,
217 "start": 316
218 },
219 {
220 "length": 32,
221 "start": 1002
222 },
223 {
224 "length": 32,
225 "start": 1318
226 },
227 {
228 "length": 32,
229 "start": 1564
230 }
231 ],
232 "6975": [
233 {
234 "length": 32,
235 "start": 553
236 },
237 {
238 "length": 32,
239 "start": 1191
240 },
241 {
242 "length": 32,
243 "start": 1274
244 },
245 {
246 "length": 32,
247 "start": 1370
248 }
249 ]
250 },
251 "linkReferences": {},
252 "object": "608060405234801561001057600080fd5b50600436106100885760003560e01c8063c45a01551161005b578063c45a0155146100f5578063c640752d1461010a578063dbaad32f1461011f578063e4463eb21461013257610088565b8063556f0dc71461008d5780638a14117a146100ab5780638c86f1e4146100c0578063bfcc8e42146100d3575b600080fd5b61009561013a565b6040516100a29190610feb565b60405180910390f35b6100b361015e565b6040516100a29190610fcc565b6100b36100ce366004610c54565b610182565b6100e66100e1366004610c2a565b61032e565b6040516100a293929190610fd5565b6100fd61036d565b6040516100a29190610dc9565b61011d610118366004610bf6565b610391565b005b61009561012d366004610cde565b6104f5565b6100b3610558565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000806101b07f0000000000000000000000000000000000000000000000000000000000000000868561057c565b905060006101bd8261060a565b805490915042037f0000000000000000000000000000000000000000000000000000000000000000811115610227576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161021e90610dea565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006002027f0000000000000000000000000000000000000000000000000000000000000000038110156102a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161021e90610e47565b6000806102b2856106b2565b509150915060006102c38a896108d8565b5090508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156103175761030a856001015484868c6109d7565b9650505050505050610327565b61030a856002015483868c6109d7565b9392505050565b6000602052816000526040600020818154811061034757fe5b600091825260209091206003909102018054600182015460029092015490935090915083565b7f000000000000000000000000000000000000000000000000000000000000000081565b60006103be7f0000000000000000000000000000000000000000000000000000000000000000848461057c565b73ffffffffffffffffffffffffffffffffffffffff81166000908152602081905260409020549091505b7f000000000000000000000000000000000000000000000000000000000000000060ff168110156104495773ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604081208054600190810182559152016103e8565b506000610455426104f5565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604081208054929350909160ff841690811061048e57fe5b60009182526020909120600390910201805490915042037f00000000000000000000000000000000000000000000000000000000000000008111156104ed576000806104d9866106b2565b504286556001860191909155600285015550505b505050505050565b6000807f0000000000000000000000000000000000000000000000000000000000000000838161052157fe5b0490507f000000000000000000000000000000000000000000000000000000000000000060ff16818161055057fe5b069392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600080600061058b85856108d8565b915091508582826040516020016105a3929190610d0e565b604051602081830303815290604052805190602001206040516020016105ca929190610d48565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291905280516020909101209695505050505050565b600080610616426104f5565b905060007f000000000000000000000000000000000000000000000000000000000000000060ff168260010160ff168161064c57fe5b0690506000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208160ff168154811061069b57fe5b906000526020600020906003020192505050919050565b60008060006106bf610a4a565b90508373ffffffffffffffffffffffffffffffffffffffff16635909c0d56040518163ffffffff1660e01b815260040160206040518083038186803b15801561070757600080fd5b505afa15801561071b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073f9190610cf6565b92508373ffffffffffffffffffffffffffffffffffffffff16635a3d54936040518163ffffffff1660e01b815260040160206040518083038186803b15801561078757600080fd5b505afa15801561079b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107bf9190610cf6565b915060008060008673ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561080c57600080fd5b505afa158015610820573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108449190610c95565b9250925092508363ffffffff168163ffffffff16146108ce5780840363ffffffff81166108718486610a54565b517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1602969096019563ffffffff81166108a78585610a54565b517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16029590950194505b5050509193909250565b6000808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415610941576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161021e90610ea4565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161061097b57828461097e565b83835b909250905073ffffffffffffffffffffffffffffffffffffffff82166109d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161021e90610f5e565b9250929050565b60006109e1610bad565b604051806020016040528085888803816109f757fe5b047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1690529050610a2c610a278285610b18565b610ba6565b71ffffffffffffffffffffffffffffffffffff169695505050505050565b63ffffffff421690565b610a5c610bad565b6000826dffffffffffffffffffffffffffff1611610aa6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161021e90610f95565b6040805160208101909152806dffffffffffffffffffffffffffff84167bffffffffffffffffffffffffffff0000000000000000000000000000607087901b1681610aed57fe5b047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525090505b92915050565b610b20610bbf565b6000821580610b5b57505082517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1682810290838281610b5857fe5b04145b610b91576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161021e90610f01565b60408051602081019091529081529392505050565b5160701c90565b60408051602081019091526000815290565b6040518060200160405280600081525090565b803573ffffffffffffffffffffffffffffffffffffffff81168114610b1257600080fd5b60008060408385031215610c08578182fd5b610c128484610bd2565b9150610c218460208501610bd2565b90509250929050565b60008060408385031215610c3c578182fd5b610c468484610bd2565b946020939093013593505050565b600080600060608486031215610c68578081fd5b8335610c7381610ff9565b9250602084013591506040840135610c8a81610ff9565b809150509250925092565b600080600060608486031215610ca9578283fd5b8351610cb48161101e565b6020850151909350610cc58161101e565b604085015190925063ffffffff81168114610c8a578182fd5b600060208284031215610cef578081fd5b5035919050565b600060208284031215610d07578081fd5b5051919050565b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606093841b811682529190921b16601482015260280190565b7fff00000000000000000000000000000000000000000000000000000000000000815260609290921b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016600183015260158201527fab428a35b38b4307862d79ae79c6ec58b221c049532ba8b17045f4499da215f9603582015260550190565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b60208082526033908201527f536c6964696e6757696e646f774f7261636c653a204d495353494e475f48495360408201527f544f524943414c5f4f42534552564154494f4e00000000000000000000000000606082015260800190565b6020808252602c908201527f536c6964696e6757696e646f774f7261636c653a20554e45585045435445445f60408201527f54494d455f454c41505345440000000000000000000000000000000000000000606082015260800190565b60208082526025908201527f556e697377617056324c6962726172793a204944454e544943414c5f4144445260408201527f4553534553000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526023908201527f4669786564506f696e743a204d554c5449504c49434154494f4e5f4f5645524660408201527f4c4f570000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252601e908201527f556e697377617056324c6962726172793a205a45524f5f414444524553530000604082015260600190565b60208082526017908201527f4669786564506f696e743a204449565f42595f5a45524f000000000000000000604082015260600190565b90815260200190565b9283526020830191909152604082015260600190565b60ff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff8116811461101b57600080fd5b50565b6dffffffffffffffffffffffffffff8116811461101b57600080fdfea2646970667358221220c5295606636cb8a7ae7f35c43a55bffaab66a75eb46184fc473d1a6264ed6f9c64736f6c63430006060033",
253 "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x88 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xC45A0155 GT PUSH2 0x5B JUMPI DUP1 PUSH4 0xC45A0155 EQ PUSH2 0xF5 JUMPI DUP1 PUSH4 0xC640752D EQ PUSH2 0x10A JUMPI DUP1 PUSH4 0xDBAAD32F EQ PUSH2 0x11F JUMPI DUP1 PUSH4 0xE4463EB2 EQ PUSH2 0x132 JUMPI PUSH2 0x88 JUMP JUMPDEST DUP1 PUSH4 0x556F0DC7 EQ PUSH2 0x8D JUMPI DUP1 PUSH4 0x8A14117A EQ PUSH2 0xAB JUMPI DUP1 PUSH4 0x8C86F1E4 EQ PUSH2 0xC0 JUMPI DUP1 PUSH4 0xBFCC8E42 EQ PUSH2 0xD3 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x95 PUSH2 0x13A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA2 SWAP2 SWAP1 PUSH2 0xFEB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xB3 PUSH2 0x15E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA2 SWAP2 SWAP1 PUSH2 0xFCC JUMP JUMPDEST PUSH2 0xB3 PUSH2 0xCE CALLDATASIZE PUSH1 0x4 PUSH2 0xC54 JUMP JUMPDEST PUSH2 0x182 JUMP JUMPDEST PUSH2 0xE6 PUSH2 0xE1 CALLDATASIZE PUSH1 0x4 PUSH2 0xC2A JUMP JUMPDEST PUSH2 0x32E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA2 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xFD5 JUMP JUMPDEST PUSH2 0xFD PUSH2 0x36D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA2 SWAP2 SWAP1 PUSH2 0xDC9 JUMP JUMPDEST PUSH2 0x11D PUSH2 0x118 CALLDATASIZE PUSH1 0x4 PUSH2 0xBF6 JUMP JUMPDEST PUSH2 0x391 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x95 PUSH2 0x12D CALLDATASIZE PUSH1 0x4 PUSH2 0xCDE JUMP JUMPDEST PUSH2 0x4F5 JUMP JUMPDEST PUSH2 0xB3 PUSH2 0x558 JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1B0 PUSH32 0x0 DUP7 DUP6 PUSH2 0x57C JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x1BD DUP3 PUSH2 0x60A JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP TIMESTAMP SUB PUSH32 0x0 DUP2 GT ISZERO PUSH2 0x227 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x21E SWAP1 PUSH2 0xDEA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH32 0x0 PUSH1 0x2 MUL PUSH32 0x0 SUB DUP2 LT ISZERO PUSH2 0x2A6 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x21E SWAP1 PUSH2 0xE47 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x2B2 DUP6 PUSH2 0x6B2 JUMP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH1 0x0 PUSH2 0x2C3 DUP11 DUP10 PUSH2 0x8D8 JUMP JUMPDEST POP SWAP1 POP DUP10 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x317 JUMPI PUSH2 0x30A DUP6 PUSH1 0x1 ADD SLOAD DUP5 DUP7 DUP13 PUSH2 0x9D7 JUMP JUMPDEST SWAP7 POP POP POP POP POP POP POP PUSH2 0x327 JUMP JUMPDEST PUSH2 0x30A DUP6 PUSH1 0x2 ADD SLOAD DUP4 DUP7 DUP13 PUSH2 0x9D7 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 MSTORE DUP2 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x347 JUMPI INVALID JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 PUSH1 0x3 SWAP1 SWAP2 MUL ADD DUP1 SLOAD PUSH1 0x1 DUP3 ADD SLOAD PUSH1 0x2 SWAP1 SWAP3 ADD SLOAD SWAP1 SWAP4 POP SWAP1 SWAP2 POP DUP4 JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3BE PUSH32 0x0 DUP5 DUP5 PUSH2 0x57C JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 SWAP2 POP JUMPDEST PUSH32 0x0 PUSH1 0xFF AND DUP2 LT ISZERO PUSH2 0x449 JUMPI PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 SWAP1 DUP2 ADD DUP3 SSTORE SWAP2 MSTORE ADD PUSH2 0x3E8 JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x455 TIMESTAMP PUSH2 0x4F5 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD SWAP3 SWAP4 POP SWAP1 SWAP2 PUSH1 0xFF DUP5 AND SWAP1 DUP2 LT PUSH2 0x48E JUMPI INVALID JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 PUSH1 0x3 SWAP1 SWAP2 MUL ADD DUP1 SLOAD SWAP1 SWAP2 POP TIMESTAMP SUB PUSH32 0x0 DUP2 GT ISZERO PUSH2 0x4ED JUMPI PUSH1 0x0 DUP1 PUSH2 0x4D9 DUP7 PUSH2 0x6B2 JUMP JUMPDEST POP TIMESTAMP DUP7 SSTORE PUSH1 0x1 DUP7 ADD SWAP2 SWAP1 SWAP2 SSTORE PUSH1 0x2 DUP6 ADD SSTORE POP POP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH32 0x0 DUP4 DUP2 PUSH2 0x521 JUMPI INVALID JUMPDEST DIV SWAP1 POP PUSH32 0x0 PUSH1 0xFF AND DUP2 DUP2 PUSH2 0x550 JUMPI INVALID JUMPDEST MOD SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x58B DUP6 DUP6 PUSH2 0x8D8 JUMP JUMPDEST SWAP2 POP SWAP2 POP DUP6 DUP3 DUP3 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x5A3 SWAP3 SWAP2 SWAP1 PUSH2 0xD0E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x5CA SWAP3 SWAP2 SWAP1 PUSH2 0xD48 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP2 SWAP1 MSTORE DUP1 MLOAD PUSH1 0x20 SWAP1 SWAP2 ADD KECCAK256 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x616 TIMESTAMP PUSH2 0x4F5 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH32 0x0 PUSH1 0xFF AND DUP3 PUSH1 0x1 ADD PUSH1 0xFF AND DUP2 PUSH2 0x64C JUMPI INVALID JUMPDEST MOD SWAP1 POP PUSH1 0x0 DUP1 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 PUSH1 0xFF AND DUP2 SLOAD DUP2 LT PUSH2 0x69B JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD SWAP3 POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x6BF PUSH2 0xA4A JUMP JUMPDEST SWAP1 POP DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x5909C0D5 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x707 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x71B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x73F SWAP2 SWAP1 PUSH2 0xCF6 JUMP JUMPDEST SWAP3 POP DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x5A3D5493 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x787 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x79B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x7BF SWAP2 SWAP1 PUSH2 0xCF6 JUMP JUMPDEST SWAP2 POP PUSH1 0x0 DUP1 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x902F1AC PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x80C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x820 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x844 SWAP2 SWAP1 PUSH2 0xC95 JUMP JUMPDEST SWAP3 POP SWAP3 POP SWAP3 POP DUP4 PUSH4 0xFFFFFFFF AND DUP2 PUSH4 0xFFFFFFFF AND EQ PUSH2 0x8CE JUMPI DUP1 DUP5 SUB PUSH4 0xFFFFFFFF DUP2 AND PUSH2 0x871 DUP5 DUP7 PUSH2 0xA54 JUMP JUMPDEST MLOAD PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL SWAP7 SWAP1 SWAP7 ADD SWAP6 PUSH4 0xFFFFFFFF DUP2 AND PUSH2 0x8A7 DUP6 DUP6 PUSH2 0xA54 JUMP JUMPDEST MLOAD PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL SWAP6 SWAP1 SWAP6 ADD SWAP5 POP JUMPDEST POP POP POP SWAP2 SWAP4 SWAP1 SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x941 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x21E SWAP1 PUSH2 0xEA4 JUMP JUMPDEST DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND LT PUSH2 0x97B JUMPI DUP3 DUP5 PUSH2 0x97E JUMP JUMPDEST DUP4 DUP4 JUMPDEST SWAP1 SWAP3 POP SWAP1 POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND PUSH2 0x9D0 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x21E SWAP1 PUSH2 0xF5E JUMP JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x9E1 PUSH2 0xBAD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 DUP6 DUP9 DUP9 SUB DUP2 PUSH2 0x9F7 JUMPI INVALID JUMPDEST DIV PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 MSTORE SWAP1 POP PUSH2 0xA2C PUSH2 0xA27 DUP3 DUP6 PUSH2 0xB18 JUMP JUMPDEST PUSH2 0xBA6 JUMP JUMPDEST PUSH18 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH4 0xFFFFFFFF TIMESTAMP AND SWAP1 JUMP JUMPDEST PUSH2 0xA5C PUSH2 0xBAD JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH14 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND GT PUSH2 0xAA6 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x21E SWAP1 PUSH2 0xF95 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE DUP1 PUSH14 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP5 AND PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000 PUSH1 0x70 DUP8 SWAP1 SHL AND DUP2 PUSH2 0xAED JUMPI INVALID JUMPDEST DIV PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP SWAP1 POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xB20 PUSH2 0xBBF JUMP JUMPDEST PUSH1 0x0 DUP3 ISZERO DUP1 PUSH2 0xB5B JUMPI POP POP DUP3 MLOAD PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 DUP2 MUL SWAP1 DUP4 DUP3 DUP2 PUSH2 0xB58 JUMPI INVALID JUMPDEST DIV EQ JUMPDEST PUSH2 0xB91 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x21E SWAP1 PUSH2 0xF01 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE SWAP1 DUP2 MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST MLOAD PUSH1 0x70 SHR SWAP1 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0xB12 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xC08 JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH2 0xC12 DUP5 DUP5 PUSH2 0xBD2 JUMP JUMPDEST SWAP2 POP PUSH2 0xC21 DUP5 PUSH1 0x20 DUP6 ADD PUSH2 0xBD2 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xC3C JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH2 0xC46 DUP5 DUP5 PUSH2 0xBD2 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xC68 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0xC73 DUP2 PUSH2 0xFF9 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH2 0xC8A DUP2 PUSH2 0xFF9 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xCA9 JUMPI DUP3 DUP4 REVERT JUMPDEST DUP4 MLOAD PUSH2 0xCB4 DUP2 PUSH2 0x101E JUMP JUMPDEST PUSH1 0x20 DUP6 ADD MLOAD SWAP1 SWAP4 POP PUSH2 0xCC5 DUP2 PUSH2 0x101E JUMP JUMPDEST PUSH1 0x40 DUP6 ADD MLOAD SWAP1 SWAP3 POP PUSH4 0xFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0xC8A JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xCEF JUMPI DUP1 DUP2 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xD07 JUMPI DUP1 DUP2 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000 PUSH1 0x60 SWAP4 DUP5 SHL DUP2 AND DUP3 MSTORE SWAP2 SWAP1 SWAP3 SHL AND PUSH1 0x14 DUP3 ADD MSTORE PUSH1 0x28 ADD SWAP1 JUMP JUMPDEST PUSH32 0xFF00000000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x60 SWAP3 SWAP1 SWAP3 SHL PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000 AND PUSH1 0x1 DUP4 ADD MSTORE PUSH1 0x15 DUP3 ADD MSTORE PUSH32 0xAB428A35B38B4307862D79AE79C6EC58B221C049532BA8B17045F4499DA215F9 PUSH1 0x35 DUP3 ADD MSTORE PUSH1 0x55 ADD SWAP1 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x33 SWAP1 DUP3 ADD MSTORE PUSH32 0x536C6964696E6757696E646F774F7261636C653A204D495353494E475F484953 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x544F524943414C5F4F42534552564154494F4E00000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2C SWAP1 DUP3 ADD MSTORE PUSH32 0x536C6964696E6757696E646F774F7261636C653A20554E45585045435445445F PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x54494D455F454C41505345440000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x25 SWAP1 DUP3 ADD MSTORE PUSH32 0x556E697377617056324C6962726172793A204944454E544943414C5F41444452 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x4553534553000000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x23 SWAP1 DUP3 ADD MSTORE PUSH32 0x4669786564506F696E743A204D554C5449504C49434154494F4E5F4F56455246 PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x4C4F570000000000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x1E SWAP1 DUP3 ADD MSTORE PUSH32 0x556E697377617056324C6962726172793A205A45524F5F414444524553530000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x17 SWAP1 DUP3 ADD MSTORE PUSH32 0x4669786564506F696E743A204449565F42595F5A45524F000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST SWAP3 DUP4 MSTORE PUSH1 0x20 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0xFF SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x101B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH14 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x101B JUMPI PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC5 0x29 JUMP MOD PUSH4 0x6CB8A7AE PUSH32 0x35C43A55BFFAAB66A75EB46184FC473D1A6264ED6F9C64736F6C634300060600 CALLER ",
254 "sourceMap": "750:5705:12:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;750:5705:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;1689:34:12;;;:::i;:::-;;;;;;;;;;;;;;;;1104:32;;;:::i;:::-;;;;;;;;5391:1062;;;;;;;;;:::i;1957:57::-;;;;;;;;;:::i;:::-;;;;;;;;;;968:32;;;:::i;:::-;;;;;;;;3419:1050;;;;;;;;;:::i;:::-;;2535:185;;;;;;;;;:::i;1840:32::-;;;:::i;1689:34::-;;;:::o;1104:32::-;;;:::o;5391:1062::-;5481:14;5507:12;5522:52;5547:7;5556;5565:8;5522:24;:52::i;:::-;5507:67;;5584:36;5623:33;5651:4;5623:27;:33::i;:::-;5704:26;;5584:72;;-1:-1:-1;5686:15:12;:44;5763:10;5748:25;;;5740:89;;;;;;;;;;;;;;;;;;;;;;5907:10;5920:1;5907:14;5894:10;:27;5879:11;:42;;5871:99;;;;;;;;;;;;;;5982:21;6005;6031:52;6078:4;6031:46;:52::i;:::-;5981:102;;;;;6094:14;6113:46;6141:7;6150:8;6113:27;:46::i;:::-;6093:66;;;6184:7;6174:17;;:6;:17;;;6170:277;;;6214:92;6231:16;:33;;;6266:16;6284:11;6297:8;6214:16;:92::i;:::-;6207:99;;;;;;;;;;6170:277;6344:92;6361:16;:33;;;6396:16;6414:11;6427:8;6344:16;:92::i;5391:1062::-;;;;;;:::o;1957:57::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1957:57:12;;-1:-1:-1;1957:57:12;:::o;968:32::-;;;:::o;3419:1050::-;3486:12;3501:49;3526:7;3535:6;3543;3501:24;:49::i;:::-;3647:22;;;3638:6;3647:22;;;;;;;;;;:29;3486:64;;-1:-1:-1;3633:121:12;3682:11;3678:15;;:1;:15;3633:121;;;3714:22;;;:16;:22;;;;;;;;;;27:10:-1;;3714:29:12;23:18:-1;;;45:23;;3714:29:12;;3695:3;3633:121;;;;3818:22;3843:35;3862:15;3843:18;:35::i;:::-;3922:22;;;3888:31;3922:22;;;;;;;;;;:40;;3818:60;;-1:-1:-1;3888:31:12;;3922:40;;;;;;;;;;;;;;;;;;;;;;;4100:21;;3922:40;;-1:-1:-1;4082:15:12;:39;4149:10;4135:24;;4131:332;;;4176:21;4199;4225:52;4272:4;4225:46;:52::i;:::-;-1:-1:-1;4315:15:12;4291:39;;4344:28;;;:47;;;;4405:28;;;:47;-1:-1:-1;;4131:332:12;3419:1050;;;;;;:::o;2535:185::-;2600:11;2623:16;2654:10;2642:9;:22;;;;;;2623:41;;2701:11;2687:25;;:11;:25;;;;;;;2535:185;-1:-1:-1;;;2535:185:12:o;1840:32::-;;;:::o;754:470:23:-;843:12;868:14;884;902:26;913:6;921;902:10;:26::i;:::-;867:61;;;;1027:7;1079:6;1087;1062:32;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;1062:32:23;;;1052:43;;;;;;968:246;;;;;;;;;;;;;;22:32:-1;26:21;;;22:32;6:49;;968:246:23;;;958:257;;49:4:-1;958:257:23;;;;;754:470;-1:-1:-1;;;;;;754:470:23:o;2841:425:12:-;2914:36;2962:22;2987:35;3006:15;2987:18;:35::i;:::-;2962:60;;3119:27;3174:11;3149:36;;3150:16;3169:1;3150:20;3149:36;;;;;;;;3119:66;;3214:16;:22;3231:4;3214:22;;;;;;;;;;;;;;;3237:21;3214:45;;;;;;;;;;;;;;;;;;;;3195:64;;2841:425;;;;;:::o;686:1040:24:-;770:21;793;816;866:23;:21;:23::i;:::-;849:40;;933:4;918:41;;;:43;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;918:43:24;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;918:43:24;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;918:43:24;;;;;;;;;899:62;;1005:4;990:41;;;:43;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;990:43:24;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;990:43:24;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;990:43:24;;;;;;;;;971:62;;1145:16;1163;1181:25;1225:4;1210:32;;;:34;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1210:34:24;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1210:34:24;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;1210:34:24;;;;;;;;;1144:100;;;;;;1280:14;1258:36;;:18;:36;;;1254:466;;1378:35;;;1521:62;;;1526:39;1546:8;1556;1526:19;:39::i;:::-;:42;1521:48;;:62;1501:82;;;;;1647:62;;;1652:39;1672:8;1682;1652:19;:39::i;:::-;:42;1647:48;;:62;1627:82;;;;;-1:-1:-1;1254:466:24;686:1040;;;;;;;;:::o;320:345:23:-;395:14;411;455:6;445:16;;:6;:16;;;;437:66;;;;;;;;;;;;;;541:6;532:15;;:6;:15;;;:53;;570:6;578;532:53;;;551:6;559;532:53;513:72;;-1:-1:-1;513:72:23;-1:-1:-1;603:20:23;;;595:63;;;;;;;;;;;;;;320:345;;;;;:::o;4669:433:12:-;4824:14;4882:40;;:::i;:::-;4925:110;;;;;;;;5013:11;4989:20;4968:18;:41;4967:57;;;;;;4925:110;;;;4882:153;-1:-1:-1;5057:38:12;:26;4882:153;5074:8;5057:16;:26::i;:::-;:36;:38::i;:::-;5045:50;;;4669:433;-1:-1:-1;;;;;;4669:433:12:o;462:121:24:-;550:25;:15;:25;;462:121::o;1517:243:4:-;1598:16;;:::i;:::-;1648:1;1634:11;:15;;;1626:51;;;;;;;;;;;;;;1694:59;;;;;;;;;;1704:48;;;1705:32;407:3;1705:32;;;;1704:48;;;;;;1694:59;;;;;1687:66;;1517:243;;;;;:::o;1116:249::-;1183:16;;:::i;:::-;1211:6;1235;;;:54;;-1:-1:-1;;1281:7:4;;1276:13;;1250:17;;;;1271:1;1250:17;1271:1;1245:27;;;;;:44;1235:54;1227:102;;;;;;;;;;;;;;1346:12;;;;;;;;;;;;;1116:249;-1:-1:-1;;;1116:249:4:o;2051:128::-;2150:7;407:3;2150:21;;2051:128::o;750:5705:12:-;;;;;;;;;;-1:-1:-1;750:5705:12;;;:::o;:::-;;;;;;;;;;;;;;:::o;5:130:-1:-;72:20;;12296:42;12285:54;;13053:35;;13043:2;;13102:1;;13092:12;700:366;;;821:2;809:9;800:7;796:23;792:32;789:2;;;-1:-1;;827:12;789:2;889:53;934:7;910:22;889:53;;;879:63;;997:53;1042:7;979:2;1022:9;1018:22;997:53;;;987:63;;783:283;;;;;;1073:366;;;1194:2;1182:9;1173:7;1169:23;1165:32;1162:2;;;-1:-1;;1200:12;1162:2;1262:53;1307:7;1283:22;1262:53;;;1252:63;1352:2;1391:22;;;;350:20;;-1:-1;;;1156:283;1446:491;;;;1584:2;1572:9;1563:7;1559:23;1555:32;1552:2;;;-1:-1;;1590:12;1552:2;85:6;72:20;97:33;124:5;97:33;;;1642:63;-1:-1;1742:2;1781:22;;350:20;;-1:-1;1850:2;1889:22;;72:20;97:33;72:20;97:33;;;1858:63;;;;1546:391;;;;;;1944:533;;;;2092:2;2080:9;2071:7;2067:23;2063:32;2060:2;;;-1:-1;;2098:12;2060:2;226:6;220:13;238:33;265:5;238:33;;;2261:2;2311:22;;220:13;2150:74;;-1:-1;238:33;220:13;238:33;;;2380:2;2429:22;;638:13;2269:74;;-1:-1;12502:10;12491:22;;13424:34;;13414:2;;-1:-1;;13462:12;2484:241;;2588:2;2576:9;2567:7;2563:23;2559:32;2556:2;;;-1:-1;;2594:12;2556:2;-1:-1;350:20;;2550:175;-1:-1;2550:175;2732:263;;2847:2;2835:9;2826:7;2822:23;2818:32;2815:2;;;-1:-1;;2853:12;2815:2;-1:-1;498:13;;2809:186;-1:-1;2809:186;6712:383;12962:14;12966:2;12962:14;;;;;3211:58;;12962:14;;;;;6956:2;6947:12;;3211:58;7058:12;;;6847:248;7102:917;5315:66;5295:87;;12966:2;12962:14;;;;;;5280:1;5401:11;;3211:58;7705:12;;;3370:58;4907:66;7816:12;;;4887:87;4993:12;;;7439:580;8026:213;12296:42;12285:54;;;;3073:37;;8144:2;8129:18;;8115:124;8246:407;8437:2;8451:47;;;3665:2;8422:18;;;11708:19;3701:34;11748:14;;;3681:55;3770:21;3756:12;;;3749:43;3811:12;;;8408:245;8660:407;8851:2;8865:47;;;4062:2;8836:18;;;11708:19;4098:34;11748:14;;;4078:55;4167:14;4153:12;;;4146:36;4201:12;;;8822:245;9074:407;9265:2;9279:47;;;4452:2;9250:18;;;11708:19;4488:34;11748:14;;;4468:55;4557:7;4543:12;;;4536:29;4584:12;;;9236:245;9488:407;9679:2;9693:47;;;5651:2;9664:18;;;11708:19;5687:34;11748:14;;;5667:55;5756:5;5742:12;;;5735:27;5781:12;;;9650:245;9902:407;10093:2;10107:47;;;6032:2;10078:18;;;11708:19;6068:32;11748:14;;;6048:53;6120:12;;;10064:245;10316:407;10507:2;10521:47;;;6371:2;10492:18;;;11708:19;6407:25;11748:14;;;6387:46;6452:12;;;10478:245;10730:213;3370:58;;;10848:2;10833:18;;10819:124;10950:435;3370:58;;;11288:2;11273:18;;3370:58;;;;11371:2;11356:18;;3370:58;11124:2;11109:18;;11095:290;11392:205;12596:4;12585:16;;;;6665:35;;11506:2;11491:18;;11477:120;12994:117;12296:42;13081:5;12285:54;13056:5;13053:35;13043:2;;13102:1;;13092:12;13043:2;13037:74;;13118:117;12180:30;13205:5;12169:42;13180:5;13177:35;13167:2;;13226:1;;13216:12"
255 }
256 },
257 "metadata": "{\"compiler\":{\"version\":\"0.6.6+commit.6c089d02\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"factory_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"windowSize_\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"granularity_\",\"type\":\"uint8\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"tokenIn\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amountIn\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"tokenOut\",\"type\":\"address\"}],\"name\":\"consult\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amountOut\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"factory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"granularity\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"name\":\"observationIndexOf\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"index\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"pairObservations\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"price0Cumulative\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"price1Cumulative\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"periodSize\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"tokenA\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenB\",\"type\":\"address\"}],\"name\":\"update\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"windowSize\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"contracts/examples/ExampleSlidingWindowOracle.sol\":\"ExampleSlidingWindowOracle\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[]},\"sources\":{\"@daofi/uniswap-v2-core/contracts/interfaces/IUniswapV2Factory.sol\":{\"keccak256\":\"0xc3035318ad416580fb83ffbf32e0faa9d159435a07cc60a09d7d8c3a463497e5\",\"urls\":[\"bzz-raw://bdd6a93cae87d6773877a3ed519be73b9e3f849312ca210f04ce92d1fc8907d5\",\"dweb:/ipfs/QmYh1DG3XpSYSxMdxwQ2Epjms6tMtcLX794Eba78z2LPtW\"]},\"@daofi/uniswap-v2-core/contracts/interfaces/IUniswapV2Pair.sol\":{\"keccak256\":\"0x67a5d298b477d96f82c91282e5ffd11b525a215c3d2a290843455b04d9bf6556\",\"urls\":[\"bzz-raw://f77b9a6ec90fcfc33b80cc728619bd166260d5389818ae529f64fe0beca7a14a\",\"dweb:/ipfs/QmS1xwUSizor92CpgLsBiCaUVrgwMvg27dPcLdVhyNDC5U\"]},\"@uniswap/lib/contracts/libraries/FixedPoint.sol\":{\"keccak256\":\"0xc671208d030ea70032b9fe0ac9c05d7dcd3ef2593a1a36e7e7f03bf25c2997c4\",\"urls\":[\"bzz-raw://5d5fac757d514b276ae2954b28048cc854dfbeed20706b784a0c2d3efa6af752\",\"dweb:/ipfs/QmVmSgZ8yN9wqV8wHWj8KhHYbi2LoK6pdPK1i1pBqFKcUc\"]},\"contracts/examples/ExampleSlidingWindowOracle.sol\":{\"keccak256\":\"0x76d7817ab21d2a36642356ccfb1cdec60d5ec8b9a749ac63c1954a21a3fa1392\",\"urls\":[\"bzz-raw://2007c0f305ab1c86700b1cd71b683d7d7fb85befe88888abea7b056fbc66d24b\",\"dweb:/ipfs/QmdGWDeQDZf7ESNfiktUYR2psEr7VPjctzHHdCVgc2HJoE\"]},\"contracts/libraries/SafeMath.sol\":{\"keccak256\":\"0x456ce938ef2994db6d8299bec615d4ef9811f61332718899a6fc26ca831d4052\",\"urls\":[\"bzz-raw://5841eacf0214e990faa02d5875e4ec5d12da55e82d741b48770e132a5149d074\",\"dweb:/ipfs/QmfAVKusuPTx82ejY8fYcxipgmX4v8aSVoSoizwojzqaqP\"]},\"contracts/libraries/UniswapV2Library.sol\":{\"keccak256\":\"0x903f64efd7c821cd21b49ffb33c8135cf99332394389041bf8e083b3c98b7d96\",\"urls\":[\"bzz-raw://0b8ca7baaef9dc1cf9a6d635e8e4d6605ec32808cd5f96358c4d018a68691bbb\",\"dweb:/ipfs/QmRou1qfoXZ56erPkWmNzmkJQ5TnJheU67sKfjfVm78rbV\"]},\"contracts/libraries/UniswapV2OracleLibrary.sol\":{\"keccak256\":\"0xb7a4c2a4e6d727370f2593b55b36dc95d9d8370d17d6ed1c8522d9f113ecfa7c\",\"urls\":[\"bzz-raw://f079b5a6eea305e14b9a0edd110659b100dd5873fd794861f4cd2af96661fe17\",\"dweb:/ipfs/QmeZorjdcZm97gv1MdBLu3v1n9hrDpda997WeespNNsBMt\"]}},\"version\":1}",
258 "interface": [
259 {
260 "inputs": [
261 {
262 "internalType": "address",
263 "name": "factory_",
264 "type": "address"
265 },
266 {
267 "internalType": "uint256",
268 "name": "windowSize_",
269 "type": "uint256"
270 },
271 {
272 "internalType": "uint8",
273 "name": "granularity_",
274 "type": "uint8"
275 }
276 ],
277 "stateMutability": "nonpayable",
278 "type": "constructor"
279 },
280 {
281 "inputs": [
282 {
283 "internalType": "address",
284 "name": "tokenIn",
285 "type": "address"
286 },
287 {
288 "internalType": "uint256",
289 "name": "amountIn",
290 "type": "uint256"
291 },
292 {
293 "internalType": "address",
294 "name": "tokenOut",
295 "type": "address"
296 }
297 ],
298 "name": "consult",
299 "outputs": [
300 {
301 "internalType": "uint256",
302 "name": "amountOut",
303 "type": "uint256"
304 }
305 ],
306 "stateMutability": "view",
307 "type": "function"
308 },
309 {
310 "inputs": [],
311 "name": "factory",
312 "outputs": [
313 {
314 "internalType": "address",
315 "name": "",
316 "type": "address"
317 }
318 ],
319 "stateMutability": "view",
320 "type": "function"
321 },
322 {
323 "inputs": [],
324 "name": "granularity",
325 "outputs": [
326 {
327 "internalType": "uint8",
328 "name": "",
329 "type": "uint8"
330 }
331 ],
332 "stateMutability": "view",
333 "type": "function"
334 },
335 {
336 "inputs": [
337 {
338 "internalType": "uint256",
339 "name": "timestamp",
340 "type": "uint256"
341 }
342 ],
343 "name": "observationIndexOf",
344 "outputs": [
345 {
346 "internalType": "uint8",
347 "name": "index",
348 "type": "uint8"
349 }
350 ],
351 "stateMutability": "view",
352 "type": "function"
353 },
354 {
355 "inputs": [
356 {
357 "internalType": "address",
358 "name": "",
359 "type": "address"
360 },
361 {
362 "internalType": "uint256",
363 "name": "",
364 "type": "uint256"
365 }
366 ],
367 "name": "pairObservations",
368 "outputs": [
369 {
370 "internalType": "uint256",
371 "name": "timestamp",
372 "type": "uint256"
373 },
374 {
375 "internalType": "uint256",
376 "name": "price0Cumulative",
377 "type": "uint256"
378 },
379 {
380 "internalType": "uint256",
381 "name": "price1Cumulative",
382 "type": "uint256"
383 }
384 ],
385 "stateMutability": "view",
386 "type": "function"
387 },
388 {
389 "inputs": [],
390 "name": "periodSize",
391 "outputs": [
392 {
393 "internalType": "uint256",
394 "name": "",
395 "type": "uint256"
396 }
397 ],
398 "stateMutability": "view",
399 "type": "function"
400 },
401 {
402 "inputs": [
403 {
404 "internalType": "address",
405 "name": "tokenA",
406 "type": "address"
407 },
408 {
409 "internalType": "address",
410 "name": "tokenB",
411 "type": "address"
412 }
413 ],
414 "name": "update",
415 "outputs": [],
416 "stateMutability": "nonpayable",
417 "type": "function"
418 },
419 {
420 "inputs": [],
421 "name": "windowSize",
422 "outputs": [
423 {
424 "internalType": "uint256",
425 "name": "",
426 "type": "uint256"
427 }
428 ],
429 "stateMutability": "view",
430 "type": "function"
431 }
432 ],
433 "bytecode": "61010060405234801561001157600080fd5b506040516200128838038062001288833981016040819052610032916100d3565b60018160ff161161005e5760405162461bcd60e51b815260040161005590610175565b60405180910390fd5b8160ff821680828161006c57fe5b0460e081905202146100905760405162461bcd60e51b815260040161005590610125565b60609290921b6001600160601b03191660805260a05260f81b7fff000000000000000000000000000000000000000000000000000000000000001660c0526101aa565b6000806000606084860312156100e7578283fd5b83516001600160a01b03811681146100fd578384fd5b60208501516040860151919450925060ff8116811461011a578182fd5b809150509250925092565b60208082526030908201527f536c6964696e6757696e646f774f7261636c653a2057494e444f575f4e4f545f60408201526f4556454e4c595f444956495349424c4560801b606082015260800190565b6020808252818101527f536c6964696e6757696e646f774f7261636c653a204752414e554c4152495459604082015260600190565b60805160601c60a05160c05160f81c60e051611070620002186000398061022952806104a752806104fa528061055a52508061013c52806103ea5280610526528061061c52508061016052806101c6528061024d52508061018a528061036f528061039852506110706000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063c45a01551161005b578063c45a0155146100f5578063c640752d1461010a578063dbaad32f1461011f578063e4463eb21461013257610088565b8063556f0dc71461008d5780638a14117a146100ab5780638c86f1e4146100c0578063bfcc8e42146100d3575b600080fd5b61009561013a565b6040516100a29190610feb565b60405180910390f35b6100b361015e565b6040516100a29190610fcc565b6100b36100ce366004610c54565b610182565b6100e66100e1366004610c2a565b61032e565b6040516100a293929190610fd5565b6100fd61036d565b6040516100a29190610dc9565b61011d610118366004610bf6565b610391565b005b61009561012d366004610cde565b6104f5565b6100b3610558565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000806101b07f0000000000000000000000000000000000000000000000000000000000000000868561057c565b905060006101bd8261060a565b805490915042037f0000000000000000000000000000000000000000000000000000000000000000811115610227576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161021e90610dea565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006002027f0000000000000000000000000000000000000000000000000000000000000000038110156102a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161021e90610e47565b6000806102b2856106b2565b509150915060006102c38a896108d8565b5090508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156103175761030a856001015484868c6109d7565b9650505050505050610327565b61030a856002015483868c6109d7565b9392505050565b6000602052816000526040600020818154811061034757fe5b600091825260209091206003909102018054600182015460029092015490935090915083565b7f000000000000000000000000000000000000000000000000000000000000000081565b60006103be7f0000000000000000000000000000000000000000000000000000000000000000848461057c565b73ffffffffffffffffffffffffffffffffffffffff81166000908152602081905260409020549091505b7f000000000000000000000000000000000000000000000000000000000000000060ff168110156104495773ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604081208054600190810182559152016103e8565b506000610455426104f5565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604081208054929350909160ff841690811061048e57fe5b60009182526020909120600390910201805490915042037f00000000000000000000000000000000000000000000000000000000000000008111156104ed576000806104d9866106b2565b504286556001860191909155600285015550505b505050505050565b6000807f0000000000000000000000000000000000000000000000000000000000000000838161052157fe5b0490507f000000000000000000000000000000000000000000000000000000000000000060ff16818161055057fe5b069392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600080600061058b85856108d8565b915091508582826040516020016105a3929190610d0e565b604051602081830303815290604052805190602001206040516020016105ca929190610d48565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291905280516020909101209695505050505050565b600080610616426104f5565b905060007f000000000000000000000000000000000000000000000000000000000000000060ff168260010160ff168161064c57fe5b0690506000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208160ff168154811061069b57fe5b906000526020600020906003020192505050919050565b60008060006106bf610a4a565b90508373ffffffffffffffffffffffffffffffffffffffff16635909c0d56040518163ffffffff1660e01b815260040160206040518083038186803b15801561070757600080fd5b505afa15801561071b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073f9190610cf6565b92508373ffffffffffffffffffffffffffffffffffffffff16635a3d54936040518163ffffffff1660e01b815260040160206040518083038186803b15801561078757600080fd5b505afa15801561079b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107bf9190610cf6565b915060008060008673ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561080c57600080fd5b505afa158015610820573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108449190610c95565b9250925092508363ffffffff168163ffffffff16146108ce5780840363ffffffff81166108718486610a54565b517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1602969096019563ffffffff81166108a78585610a54565b517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16029590950194505b5050509193909250565b6000808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415610941576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161021e90610ea4565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161061097b57828461097e565b83835b909250905073ffffffffffffffffffffffffffffffffffffffff82166109d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161021e90610f5e565b9250929050565b60006109e1610bad565b604051806020016040528085888803816109f757fe5b047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1690529050610a2c610a278285610b18565b610ba6565b71ffffffffffffffffffffffffffffffffffff169695505050505050565b63ffffffff421690565b610a5c610bad565b6000826dffffffffffffffffffffffffffff1611610aa6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161021e90610f95565b6040805160208101909152806dffffffffffffffffffffffffffff84167bffffffffffffffffffffffffffff0000000000000000000000000000607087901b1681610aed57fe5b047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525090505b92915050565b610b20610bbf565b6000821580610b5b57505082517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1682810290838281610b5857fe5b04145b610b91576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161021e90610f01565b60408051602081019091529081529392505050565b5160701c90565b60408051602081019091526000815290565b6040518060200160405280600081525090565b803573ffffffffffffffffffffffffffffffffffffffff81168114610b1257600080fd5b60008060408385031215610c08578182fd5b610c128484610bd2565b9150610c218460208501610bd2565b90509250929050565b60008060408385031215610c3c578182fd5b610c468484610bd2565b946020939093013593505050565b600080600060608486031215610c68578081fd5b8335610c7381610ff9565b9250602084013591506040840135610c8a81610ff9565b809150509250925092565b600080600060608486031215610ca9578283fd5b8351610cb48161101e565b6020850151909350610cc58161101e565b604085015190925063ffffffff81168114610c8a578182fd5b600060208284031215610cef578081fd5b5035919050565b600060208284031215610d07578081fd5b5051919050565b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606093841b811682529190921b16601482015260280190565b7fff00000000000000000000000000000000000000000000000000000000000000815260609290921b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016600183015260158201527fab428a35b38b4307862d79ae79c6ec58b221c049532ba8b17045f4499da215f9603582015260550190565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b60208082526033908201527f536c6964696e6757696e646f774f7261636c653a204d495353494e475f48495360408201527f544f524943414c5f4f42534552564154494f4e00000000000000000000000000606082015260800190565b6020808252602c908201527f536c6964696e6757696e646f774f7261636c653a20554e45585045435445445f60408201527f54494d455f454c41505345440000000000000000000000000000000000000000606082015260800190565b60208082526025908201527f556e697377617056324c6962726172793a204944454e544943414c5f4144445260408201527f4553534553000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526023908201527f4669786564506f696e743a204d554c5449504c49434154494f4e5f4f5645524660408201527f4c4f570000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252601e908201527f556e697377617056324c6962726172793a205a45524f5f414444524553530000604082015260600190565b60208082526017908201527f4669786564506f696e743a204449565f42595f5a45524f000000000000000000604082015260600190565b90815260200190565b9283526020830191909152604082015260600190565b60ff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff8116811461101b57600080fd5b50565b6dffffffffffffffffffffffffffff8116811461101b57600080fdfea2646970667358221220c5295606636cb8a7ae7f35c43a55bffaab66a75eb46184fc473d1a6264ed6f9c64736f6c63430006060033"
434}
\No newline at end of file