Contract Overview
Balance:
0 xDAI
xDAI Value:
$0.00
My Name Tag:
Not Available, login to update
Txn Hash | Method |
Block
|
From
|
To
|
Value | [Txn Fee] | |||
---|---|---|---|---|---|---|---|---|---|
0x544851de2a2fdd0d0aaa074f76889087043ce3499fc65d3514597800cf80e4b7 | 0x60806040 | 27104669 | 370 days 9 hrs ago | 0x33ac1887f5c475c69342fcdd2ce2154fb7a2a839 | IN | Create: Verifier | 0 xDAI | 0.001195128008 |
[ Download CSV Export ]
Contract Name:
Verifier
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at gnosisscan.io on 2023-03-24 */ // This file is MIT Licensed. // // Copyright 2017 Christian Reitwiessner // Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: // The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. pragma solidity ^0.8.0; library Pairing { struct G1Point { uint X; uint Y; } // Encoding of field elements is: X[0] * z + X[1] struct G2Point { uint[2] X; uint[2] Y; } /// @return the generator of G1 function P1() pure internal returns (G1Point memory) { return G1Point(1, 2); } /// @return the generator of G2 function P2() pure internal returns (G2Point memory) { return G2Point( [10857046999023057135944570762232829481370756359578518086990519993285655852781, 11559732032986387107991004021392285783925812861821192530917403151452391805634], [8495653923123431417604973247489272438418190587263600148770280649306958101930, 4082367875863433681332203403145435568316851327593401208105741076214120093531] ); } /// @return the negation of p, i.e. p.addition(p.negate()) should be zero. function negate(G1Point memory p) pure internal returns (G1Point memory) { // The prime q in the base field F_q for G1 uint q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; if (p.X == 0 && p.Y == 0) return G1Point(0, 0); return G1Point(p.X, q - (p.Y % q)); } /// @return r the sum of two points of G1 function addition(G1Point memory p1, G1Point memory p2) internal view returns (G1Point memory r) { uint[4] memory input; input[0] = p1.X; input[1] = p1.Y; input[2] = p2.X; input[3] = p2.Y; bool success; assembly { success := staticcall(sub(gas(), 2000), 6, input, 0xc0, r, 0x60) // Use "invalid" to make gas estimation work switch success case 0 { invalid() } } require(success); } /// @return r the product of a point on G1 and a scalar, i.e. /// p == p.scalar_mul(1) and p.addition(p) == p.scalar_mul(2) for all points p. function scalar_mul(G1Point memory p, uint s) internal view returns (G1Point memory r) { uint[3] memory input; input[0] = p.X; input[1] = p.Y; input[2] = s; bool success; assembly { success := staticcall(sub(gas(), 2000), 7, input, 0x80, r, 0x60) // Use "invalid" to make gas estimation work switch success case 0 { invalid() } } require (success); } /// @return the result of computing the pairing check /// e(p1[0], p2[0]) * .... * e(p1[n], p2[n]) == 1 /// For example pairing([P1(), P1().negate()], [P2(), P2()]) should /// return true. function pairing(G1Point[] memory p1, G2Point[] memory p2) internal view returns (bool) { require(p1.length == p2.length); uint elements = p1.length; uint inputSize = elements * 6; uint[] memory input = new uint[](inputSize); for (uint i = 0; i < elements; i++) { input[i * 6 + 0] = p1[i].X; input[i * 6 + 1] = p1[i].Y; input[i * 6 + 2] = p2[i].X[1]; input[i * 6 + 3] = p2[i].X[0]; input[i * 6 + 4] = p2[i].Y[1]; input[i * 6 + 5] = p2[i].Y[0]; } uint[1] memory out; bool success; assembly { success := staticcall(sub(gas(), 2000), 8, add(input, 0x20), mul(inputSize, 0x20), out, 0x20) // Use "invalid" to make gas estimation work switch success case 0 { invalid() } } require(success); return out[0] != 0; } /// Convenience method for a pairing check for two pairs. function pairingProd2(G1Point memory a1, G2Point memory a2, G1Point memory b1, G2Point memory b2) internal view returns (bool) { G1Point[] memory p1 = new G1Point[](2); G2Point[] memory p2 = new G2Point[](2); p1[0] = a1; p1[1] = b1; p2[0] = a2; p2[1] = b2; return pairing(p1, p2); } /// Convenience method for a pairing check for three pairs. function pairingProd3( G1Point memory a1, G2Point memory a2, G1Point memory b1, G2Point memory b2, G1Point memory c1, G2Point memory c2 ) internal view returns (bool) { G1Point[] memory p1 = new G1Point[](3); G2Point[] memory p2 = new G2Point[](3); p1[0] = a1; p1[1] = b1; p1[2] = c1; p2[0] = a2; p2[1] = b2; p2[2] = c2; return pairing(p1, p2); } /// Convenience method for a pairing check for four pairs. function pairingProd4( G1Point memory a1, G2Point memory a2, G1Point memory b1, G2Point memory b2, G1Point memory c1, G2Point memory c2, G1Point memory d1, G2Point memory d2 ) internal view returns (bool) { G1Point[] memory p1 = new G1Point[](4); G2Point[] memory p2 = new G2Point[](4); p1[0] = a1; p1[1] = b1; p1[2] = c1; p1[3] = d1; p2[0] = a2; p2[1] = b2; p2[2] = c2; p2[3] = d2; return pairing(p1, p2); } } contract Verifier { using Pairing for *; struct VerifyingKey { Pairing.G1Point alpha; Pairing.G2Point beta; Pairing.G2Point gamma; Pairing.G2Point delta; Pairing.G1Point[] gamma_abc; } struct Proof { Pairing.G1Point a; Pairing.G2Point b; Pairing.G1Point c; } function verifyingKey() pure internal returns (VerifyingKey memory vk) { vk.alpha = Pairing.G1Point(uint256(0x284185b2483eb0eb810975c1ea9b41a3304d2c8d395677e5974f00641e4e0283), uint256(0x125505dc536b1c79dc9b88f4362ddef12f149a25b61c358cc3f81b63e6031176)); vk.beta = Pairing.G2Point([uint256(0x0b457b76e767cfcd863a3e0ae553c4b14e50388391051783334afc0a53b54c24), uint256(0x068104888012edb7a95959bcfb1df0b25a6095b1b5f303c4a3daa215772fc3ab)], [uint256(0x04be5f8f4980b545085ce6394f19e10a5a9e8f7ac9da2a1b7401fcdbcb6e040c), uint256(0x1c0600adaeaa289596a7aa4de220ecf9ccfcaa3f294435fa677307503a7841d8)]); vk.gamma = Pairing.G2Point([uint256(0x14d65b46653f8a3557be34adc6f78c297dd4a2f58ea0368238d20194b0c6abdf), uint256(0x17e3a4ff8af6e683796d8b4ee2cd612c3860a7e0e0dd41a214a1385297fcde1b)], [uint256(0x05832193dffb550c3a0daa5ed0980fb3062d070bd9f67e3008988f4dec7e25aa), uint256(0x225491af98a8a65f21fdaffe61ce18cf82d77b4811b50c04f460c3bdf2b817d6)]); vk.delta = Pairing.G2Point([uint256(0x05f945e14f71af1cfbf74f1678b15464a5fa4a458469e1f2bd9d4568b7817f91), uint256(0x191b378ade91f9b43eba7613618e39a70ab8919b9658330f5ed36de677184062)], [uint256(0x19b35f076122274a524c28eaaaf737794e4cb84c6330a2b23d7f0ced6ee91b02), uint256(0x252db2093ebecdc06821a6da216c66fd0e7078eabc7d835952413eedaa72be13)]); vk.gamma_abc = new Pairing.G1Point[](2); vk.gamma_abc[0] = Pairing.G1Point(uint256(0x012d08919b0bd36849d2b67a9b656ef0d3b7c1d96fe1071030a9bbd69c7a6669), uint256(0x16c3588ec72092bd54e7f3846abeaeeacec4497ce6f693d3698e6ffe01adda32)); vk.gamma_abc[1] = Pairing.G1Point(uint256(0x12b6c9e4c428039c3494c41b5e2598c21ba732bbc22ec7a1268f41e6f3208a10), uint256(0x02d3ba7591742bfce10f1a3f692c45219da921bc150c2040b090f837e9aba3a8)); } function verify(uint[] memory input, Proof memory proof) internal view returns (uint) { uint256 snark_scalar_field = 21888242871839275222246405745257275088548364400416034343698204186575808495617; VerifyingKey memory vk = verifyingKey(); require(input.length + 1 == vk.gamma_abc.length); // Compute the linear combination vk_x Pairing.G1Point memory vk_x = Pairing.G1Point(0, 0); for (uint i = 0; i < input.length; i++) { require(input[i] < snark_scalar_field); vk_x = Pairing.addition(vk_x, Pairing.scalar_mul(vk.gamma_abc[i + 1], input[i])); } vk_x = Pairing.addition(vk_x, vk.gamma_abc[0]); if(!Pairing.pairingProd4( proof.a, proof.b, Pairing.negate(vk_x), vk.gamma, Pairing.negate(proof.c), vk.delta, Pairing.negate(vk.alpha), vk.beta)) return 1; return 0; } function verifyTx( Proof memory proof, uint[1] memory input ) public view returns (bool r) { uint[] memory inputValues = new uint[](1); for(uint i = 0; i < input.length; i++){ inputValues[i] = input[i]; } if (verify(inputValues, proof) == 0) { return true; } else { return false; } } }
[{"inputs":[{"components":[{"components":[{"internalType":"uint256","name":"X","type":"uint256"},{"internalType":"uint256","name":"Y","type":"uint256"}],"internalType":"struct Pairing.G1Point","name":"a","type":"tuple"},{"components":[{"internalType":"uint256[2]","name":"X","type":"uint256[2]"},{"internalType":"uint256[2]","name":"Y","type":"uint256[2]"}],"internalType":"struct Pairing.G2Point","name":"b","type":"tuple"},{"components":[{"internalType":"uint256","name":"X","type":"uint256"},{"internalType":"uint256","name":"Y","type":"uint256"}],"internalType":"struct Pairing.G1Point","name":"c","type":"tuple"}],"internalType":"struct Verifier.Proof","name":"proof","type":"tuple"},{"internalType":"uint256[1]","name":"input","type":"uint256[1]"}],"name":"verifyTx","outputs":[{"internalType":"bool","name":"r","type":"bool"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b506114ae806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063f48d772914610030575b600080fd5b61004a60048036038101906100459190611250565b610060565b60405161005791906112ad565b60405180910390f35b600080600167ffffffffffffffff81111561007e5761007d610f2e565b5b6040519080825280602002602001820160405280156100ac5781602001602082028036833780820191505090505b50905060005b6001811015610105578381600181106100ce576100cd6112c8565b5b60200201518282815181106100e6576100e56112c8565b5b60200260200101818152505080806100fd90611326565b9150506100b2565b506000610112828661012d565b03610121576001915050610127565b60009150505b92915050565b6000807f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000019050600061015d6102c4565b905080608001515160018651610173919061136e565b1461017d57600080fd5b60006040518060400160405280600081526020016000815250905060005b865181101561023657838782815181106101b8576101b76112c8565b5b6020026020010151106101ca57600080fd5b6102218261021c85608001516001856101e3919061136e565b815181106101f4576101f36112c8565b5b60200260200101518a858151811061020f5761020e6112c8565b5b60200260200101516106c8565b61076a565b9150808061022e90611326565b91505061019b565b50610260818360800151600081518110610253576102526112c8565b5b602002602001015161076a565b90506102a68560000151866020015161027884610832565b856040015161028a8a60400151610832565b876060015161029c8960000151610832565b89602001516108d7565b6102b657600193505050506102be565b600093505050505b92915050565b6102cc610dfa565b60405180604001604052807f284185b2483eb0eb810975c1ea9b41a3304d2c8d395677e5974f00641e4e028381526020017f125505dc536b1c79dc9b88f4362ddef12f149a25b61c358cc3f81b63e60311768152508160000181905250604051806040016040528060405180604001604052807f0b457b76e767cfcd863a3e0ae553c4b14e50388391051783334afc0a53b54c2481526020017f068104888012edb7a95959bcfb1df0b25a6095b1b5f303c4a3daa215772fc3ab815250815260200160405180604001604052807f04be5f8f4980b545085ce6394f19e10a5a9e8f7ac9da2a1b7401fcdbcb6e040c81526020017f1c0600adaeaa289596a7aa4de220ecf9ccfcaa3f294435fa677307503a7841d88152508152508160200181905250604051806040016040528060405180604001604052807f14d65b46653f8a3557be34adc6f78c297dd4a2f58ea0368238d20194b0c6abdf81526020017f17e3a4ff8af6e683796d8b4ee2cd612c3860a7e0e0dd41a214a1385297fcde1b815250815260200160405180604001604052807f05832193dffb550c3a0daa5ed0980fb3062d070bd9f67e3008988f4dec7e25aa81526020017f225491af98a8a65f21fdaffe61ce18cf82d77b4811b50c04f460c3bdf2b817d68152508152508160400181905250604051806040016040528060405180604001604052807f05f945e14f71af1cfbf74f1678b15464a5fa4a458469e1f2bd9d4568b7817f9181526020017f191b378ade91f9b43eba7613618e39a70ab8919b9658330f5ed36de677184062815250815260200160405180604001604052807f19b35f076122274a524c28eaaaf737794e4cb84c6330a2b23d7f0ced6ee91b0281526020017f252db2093ebecdc06821a6da216c66fd0e7078eabc7d835952413eedaa72be138152508152508160600181905250600267ffffffffffffffff81111561059357610592610f2e565b5b6040519080825280602002602001820160405280156105cc57816020015b6105b9610e41565b8152602001906001900390816105b15790505b50816080018190525060405180604001604052807f012d08919b0bd36849d2b67a9b656ef0d3b7c1d96fe1071030a9bbd69c7a666981526020017f16c3588ec72092bd54e7f3846abeaeeacec4497ce6f693d3698e6ffe01adda328152508160800151600081518110610642576106416112c8565b5b602002602001018190525060405180604001604052807f12b6c9e4c428039c3494c41b5e2598c21ba732bbc22ec7a1268f41e6f3208a1081526020017f02d3ba7591742bfce10f1a3f692c45219da921bc150c2040b090f837e9aba3a881525081608001516001815181106106ba576106b96112c8565b5b602002602001018190525090565b6106d0610e41565b6106d8610e5b565b8360000151816000600381106106f1576106f06112c8565b5b602002018181525050836020015181600160038110610713576107126112c8565b5b6020020181815250508281600260038110610731576107306112c8565b5b602002018181525050600060608360808460076107d05a03fa9050806000810361075757fe5b508061076257600080fd5b505092915050565b610772610e41565b61077a610e7d565b836000015181600060048110610793576107926112c8565b5b6020020181815250508360200151816001600481106107b5576107b46112c8565b5b6020020181815250508260000151816002600481106107d7576107d66112c8565b5b6020020181815250508260200151816003600481106107f9576107f86112c8565b5b602002018181525050600060608360c08460066107d05a03fa9050806000810361081f57fe5b508061082a57600080fd5b505092915050565b61083a610e41565b60007f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47905060008360000151148015610877575060008360200151145b1561089b5760405180604001604052806000815260200160008152509150506108d2565b6040518060400160405280846000015181526020018285602001516108c091906113d1565b836108cb9190611402565b8152509150505b919050565b600080600467ffffffffffffffff8111156108f5576108f4610f2e565b5b60405190808252806020026020018201604052801561092e57816020015b61091b610e41565b8152602001906001900390816109135790505b5090506000600467ffffffffffffffff81111561094e5761094d610f2e565b5b60405190808252806020026020018201604052801561098757816020015b610974610e9f565b81526020019060019003908161096c5790505b5090508a8260008151811061099f5761099e6112c8565b5b602002602001018190525088826001815181106109bf576109be6112c8565b5b602002602001018190525086826002815181106109df576109de6112c8565b5b602002602001018190525084826003815181106109ff576109fe6112c8565b5b60200260200101819052508981600081518110610a1f57610a1e6112c8565b5b60200260200101819052508781600181518110610a3f57610a3e6112c8565b5b60200260200101819052508581600281518110610a5f57610a5e6112c8565b5b60200260200101819052508381600381518110610a7f57610a7e6112c8565b5b6020026020010181905250610a948282610aa4565b9250505098975050505050505050565b60008151835114610ab457600080fd5b6000835190506000600682610ac99190611436565b905060008167ffffffffffffffff811115610ae757610ae6610f2e565b5b604051908082528060200260200182016040528015610b155781602001602082028036833780820191505090505b50905060005b83811015610d9a57868181518110610b3657610b356112c8565b5b602002602001015160000151826000600684610b529190611436565b610b5c919061136e565b81518110610b6d57610b6c6112c8565b5b602002602001018181525050868181518110610b8c57610b8b6112c8565b5b602002602001015160200151826001600684610ba89190611436565b610bb2919061136e565b81518110610bc357610bc26112c8565b5b602002602001018181525050858181518110610be257610be16112c8565b5b602002602001015160000151600160028110610c0157610c006112c8565b5b6020020151826002600684610c169190611436565b610c20919061136e565b81518110610c3157610c306112c8565b5b602002602001018181525050858181518110610c5057610c4f6112c8565b5b602002602001015160000151600060028110610c6f57610c6e6112c8565b5b6020020151826003600684610c849190611436565b610c8e919061136e565b81518110610c9f57610c9e6112c8565b5b602002602001018181525050858181518110610cbe57610cbd6112c8565b5b602002602001015160200151600160028110610cdd57610cdc6112c8565b5b6020020151826004600684610cf29190611436565b610cfc919061136e565b81518110610d0d57610d0c6112c8565b5b602002602001018181525050858181518110610d2c57610d2b6112c8565b5b602002602001015160200151600060028110610d4b57610d4a6112c8565b5b6020020151826005600684610d609190611436565b610d6a919061136e565b81518110610d7b57610d7a6112c8565b5b6020026020010181815250508080610d9290611326565b915050610b1b565b50610da3610ec5565b6000602082602086026020860160086107d05a03fa90508060008103610dc557fe5b5080610dd057600080fd5b600082600060018110610de657610de56112c8565b5b602002015114159550505050505092915050565b6040518060a00160405280610e0d610e41565b8152602001610e1a610e9f565b8152602001610e27610e9f565b8152602001610e34610e9f565b8152602001606081525090565b604051806040016040528060008152602001600081525090565b6040518060600160405280600390602082028036833780820191505090505090565b6040518060800160405280600490602082028036833780820191505090505090565b6040518060400160405280610eb2610ee7565b8152602001610ebf610ee7565b81525090565b6040518060200160405280600190602082028036833780820191505090505090565b6040518060400160405280600290602082028036833780820191505090505090565b6000604051905090565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610f6682610f1d565b810181811067ffffffffffffffff82111715610f8557610f84610f2e565b5b80604052505050565b6000610f98610f09565b9050610fa48282610f5d565b919050565b6000819050919050565b610fbc81610fa9565b8114610fc757600080fd5b50565b600081359050610fd981610fb3565b92915050565b600060408284031215610ff557610ff4610f18565b5b610fff6040610f8e565b9050600061100f84828501610fca565b600083015250602061102384828501610fca565b60208301525092915050565b600080fd5b600067ffffffffffffffff82111561104f5761104e610f2e565b5b602082029050919050565b600080fd5b600061107261106d84611034565b610f8e565b9050806020840283018581111561108c5761108b61105a565b5b835b818110156110b557806110a18882610fca565b84526020840193505060208101905061108e565b5050509392505050565b600082601f8301126110d4576110d361102f565b5b60026110e184828561105f565b91505092915050565b600060808284031215611100576110ff610f18565b5b61110a6040610f8e565b9050600061111a848285016110bf565b600083015250604061112e848285016110bf565b60208301525092915050565b6000610100828403121561115157611150610f18565b5b61115b6060610f8e565b9050600061116b84828501610fdf565b600083015250604061117f848285016110ea565b60208301525060c061119384828501610fdf565b60408301525092915050565b600067ffffffffffffffff8211156111ba576111b9610f2e565b5b602082029050919050565b60006111d86111d38461119f565b610f8e565b905080602084028301858111156111f2576111f161105a565b5b835b8181101561121b57806112078882610fca565b8452602084019350506020810190506111f4565b5050509392505050565b600082601f83011261123a5761123961102f565b5b60016112478482856111c5565b91505092915050565b600080610120838503121561126857611267610f13565b5b60006112768582860161113a565b92505061010061128885828601611225565b9150509250929050565b60008115159050919050565b6112a781611292565b82525050565b60006020820190506112c2600083018461129e565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061133182610fa9565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611363576113626112f7565b5b600182019050919050565b600061137982610fa9565b915061138483610fa9565b925082820190508082111561139c5761139b6112f7565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006113dc82610fa9565b91506113e783610fa9565b9250826113f7576113f66113a2565b5b828206905092915050565b600061140d82610fa9565b915061141883610fa9565b92508282039050818111156114305761142f6112f7565b5b92915050565b600061144182610fa9565b915061144c83610fa9565b925082820261145a81610fa9565b91508282048414831517611471576114706112f7565b5b509291505056fea26469706673582212203045e6c79c9a7b7cd335c4ffdc4cb696da8bd800a2372013e15c8fefa3336c9e64736f6c63430008130033
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063f48d772914610030575b600080fd5b61004a60048036038101906100459190611250565b610060565b60405161005791906112ad565b60405180910390f35b600080600167ffffffffffffffff81111561007e5761007d610f2e565b5b6040519080825280602002602001820160405280156100ac5781602001602082028036833780820191505090505b50905060005b6001811015610105578381600181106100ce576100cd6112c8565b5b60200201518282815181106100e6576100e56112c8565b5b60200260200101818152505080806100fd90611326565b9150506100b2565b506000610112828661012d565b03610121576001915050610127565b60009150505b92915050565b6000807f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000019050600061015d6102c4565b905080608001515160018651610173919061136e565b1461017d57600080fd5b60006040518060400160405280600081526020016000815250905060005b865181101561023657838782815181106101b8576101b76112c8565b5b6020026020010151106101ca57600080fd5b6102218261021c85608001516001856101e3919061136e565b815181106101f4576101f36112c8565b5b60200260200101518a858151811061020f5761020e6112c8565b5b60200260200101516106c8565b61076a565b9150808061022e90611326565b91505061019b565b50610260818360800151600081518110610253576102526112c8565b5b602002602001015161076a565b90506102a68560000151866020015161027884610832565b856040015161028a8a60400151610832565b876060015161029c8960000151610832565b89602001516108d7565b6102b657600193505050506102be565b600093505050505b92915050565b6102cc610dfa565b60405180604001604052807f284185b2483eb0eb810975c1ea9b41a3304d2c8d395677e5974f00641e4e028381526020017f125505dc536b1c79dc9b88f4362ddef12f149a25b61c358cc3f81b63e60311768152508160000181905250604051806040016040528060405180604001604052807f0b457b76e767cfcd863a3e0ae553c4b14e50388391051783334afc0a53b54c2481526020017f068104888012edb7a95959bcfb1df0b25a6095b1b5f303c4a3daa215772fc3ab815250815260200160405180604001604052807f04be5f8f4980b545085ce6394f19e10a5a9e8f7ac9da2a1b7401fcdbcb6e040c81526020017f1c0600adaeaa289596a7aa4de220ecf9ccfcaa3f294435fa677307503a7841d88152508152508160200181905250604051806040016040528060405180604001604052807f14d65b46653f8a3557be34adc6f78c297dd4a2f58ea0368238d20194b0c6abdf81526020017f17e3a4ff8af6e683796d8b4ee2cd612c3860a7e0e0dd41a214a1385297fcde1b815250815260200160405180604001604052807f05832193dffb550c3a0daa5ed0980fb3062d070bd9f67e3008988f4dec7e25aa81526020017f225491af98a8a65f21fdaffe61ce18cf82d77b4811b50c04f460c3bdf2b817d68152508152508160400181905250604051806040016040528060405180604001604052807f05f945e14f71af1cfbf74f1678b15464a5fa4a458469e1f2bd9d4568b7817f9181526020017f191b378ade91f9b43eba7613618e39a70ab8919b9658330f5ed36de677184062815250815260200160405180604001604052807f19b35f076122274a524c28eaaaf737794e4cb84c6330a2b23d7f0ced6ee91b0281526020017f252db2093ebecdc06821a6da216c66fd0e7078eabc7d835952413eedaa72be138152508152508160600181905250600267ffffffffffffffff81111561059357610592610f2e565b5b6040519080825280602002602001820160405280156105cc57816020015b6105b9610e41565b8152602001906001900390816105b15790505b50816080018190525060405180604001604052807f012d08919b0bd36849d2b67a9b656ef0d3b7c1d96fe1071030a9bbd69c7a666981526020017f16c3588ec72092bd54e7f3846abeaeeacec4497ce6f693d3698e6ffe01adda328152508160800151600081518110610642576106416112c8565b5b602002602001018190525060405180604001604052807f12b6c9e4c428039c3494c41b5e2598c21ba732bbc22ec7a1268f41e6f3208a1081526020017f02d3ba7591742bfce10f1a3f692c45219da921bc150c2040b090f837e9aba3a881525081608001516001815181106106ba576106b96112c8565b5b602002602001018190525090565b6106d0610e41565b6106d8610e5b565b8360000151816000600381106106f1576106f06112c8565b5b602002018181525050836020015181600160038110610713576107126112c8565b5b6020020181815250508281600260038110610731576107306112c8565b5b602002018181525050600060608360808460076107d05a03fa9050806000810361075757fe5b508061076257600080fd5b505092915050565b610772610e41565b61077a610e7d565b836000015181600060048110610793576107926112c8565b5b6020020181815250508360200151816001600481106107b5576107b46112c8565b5b6020020181815250508260000151816002600481106107d7576107d66112c8565b5b6020020181815250508260200151816003600481106107f9576107f86112c8565b5b602002018181525050600060608360c08460066107d05a03fa9050806000810361081f57fe5b508061082a57600080fd5b505092915050565b61083a610e41565b60007f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47905060008360000151148015610877575060008360200151145b1561089b5760405180604001604052806000815260200160008152509150506108d2565b6040518060400160405280846000015181526020018285602001516108c091906113d1565b836108cb9190611402565b8152509150505b919050565b600080600467ffffffffffffffff8111156108f5576108f4610f2e565b5b60405190808252806020026020018201604052801561092e57816020015b61091b610e41565b8152602001906001900390816109135790505b5090506000600467ffffffffffffffff81111561094e5761094d610f2e565b5b60405190808252806020026020018201604052801561098757816020015b610974610e9f565b81526020019060019003908161096c5790505b5090508a8260008151811061099f5761099e6112c8565b5b602002602001018190525088826001815181106109bf576109be6112c8565b5b602002602001018190525086826002815181106109df576109de6112c8565b5b602002602001018190525084826003815181106109ff576109fe6112c8565b5b60200260200101819052508981600081518110610a1f57610a1e6112c8565b5b60200260200101819052508781600181518110610a3f57610a3e6112c8565b5b60200260200101819052508581600281518110610a5f57610a5e6112c8565b5b60200260200101819052508381600381518110610a7f57610a7e6112c8565b5b6020026020010181905250610a948282610aa4565b9250505098975050505050505050565b60008151835114610ab457600080fd5b6000835190506000600682610ac99190611436565b905060008167ffffffffffffffff811115610ae757610ae6610f2e565b5b604051908082528060200260200182016040528015610b155781602001602082028036833780820191505090505b50905060005b83811015610d9a57868181518110610b3657610b356112c8565b5b602002602001015160000151826000600684610b529190611436565b610b5c919061136e565b81518110610b6d57610b6c6112c8565b5b602002602001018181525050868181518110610b8c57610b8b6112c8565b5b602002602001015160200151826001600684610ba89190611436565b610bb2919061136e565b81518110610bc357610bc26112c8565b5b602002602001018181525050858181518110610be257610be16112c8565b5b602002602001015160000151600160028110610c0157610c006112c8565b5b6020020151826002600684610c169190611436565b610c20919061136e565b81518110610c3157610c306112c8565b5b602002602001018181525050858181518110610c5057610c4f6112c8565b5b602002602001015160000151600060028110610c6f57610c6e6112c8565b5b6020020151826003600684610c849190611436565b610c8e919061136e565b81518110610c9f57610c9e6112c8565b5b602002602001018181525050858181518110610cbe57610cbd6112c8565b5b602002602001015160200151600160028110610cdd57610cdc6112c8565b5b6020020151826004600684610cf29190611436565b610cfc919061136e565b81518110610d0d57610d0c6112c8565b5b602002602001018181525050858181518110610d2c57610d2b6112c8565b5b602002602001015160200151600060028110610d4b57610d4a6112c8565b5b6020020151826005600684610d609190611436565b610d6a919061136e565b81518110610d7b57610d7a6112c8565b5b6020026020010181815250508080610d9290611326565b915050610b1b565b50610da3610ec5565b6000602082602086026020860160086107d05a03fa90508060008103610dc557fe5b5080610dd057600080fd5b600082600060018110610de657610de56112c8565b5b602002015114159550505050505092915050565b6040518060a00160405280610e0d610e41565b8152602001610e1a610e9f565b8152602001610e27610e9f565b8152602001610e34610e9f565b8152602001606081525090565b604051806040016040528060008152602001600081525090565b6040518060600160405280600390602082028036833780820191505090505090565b6040518060800160405280600490602082028036833780820191505090505090565b6040518060400160405280610eb2610ee7565b8152602001610ebf610ee7565b81525090565b6040518060200160405280600190602082028036833780820191505090505090565b6040518060400160405280600290602082028036833780820191505090505090565b6000604051905090565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610f6682610f1d565b810181811067ffffffffffffffff82111715610f8557610f84610f2e565b5b80604052505050565b6000610f98610f09565b9050610fa48282610f5d565b919050565b6000819050919050565b610fbc81610fa9565b8114610fc757600080fd5b50565b600081359050610fd981610fb3565b92915050565b600060408284031215610ff557610ff4610f18565b5b610fff6040610f8e565b9050600061100f84828501610fca565b600083015250602061102384828501610fca565b60208301525092915050565b600080fd5b600067ffffffffffffffff82111561104f5761104e610f2e565b5b602082029050919050565b600080fd5b600061107261106d84611034565b610f8e565b9050806020840283018581111561108c5761108b61105a565b5b835b818110156110b557806110a18882610fca565b84526020840193505060208101905061108e565b5050509392505050565b600082601f8301126110d4576110d361102f565b5b60026110e184828561105f565b91505092915050565b600060808284031215611100576110ff610f18565b5b61110a6040610f8e565b9050600061111a848285016110bf565b600083015250604061112e848285016110bf565b60208301525092915050565b6000610100828403121561115157611150610f18565b5b61115b6060610f8e565b9050600061116b84828501610fdf565b600083015250604061117f848285016110ea565b60208301525060c061119384828501610fdf565b60408301525092915050565b600067ffffffffffffffff8211156111ba576111b9610f2e565b5b602082029050919050565b60006111d86111d38461119f565b610f8e565b905080602084028301858111156111f2576111f161105a565b5b835b8181101561121b57806112078882610fca565b8452602084019350506020810190506111f4565b5050509392505050565b600082601f83011261123a5761123961102f565b5b60016112478482856111c5565b91505092915050565b600080610120838503121561126857611267610f13565b5b60006112768582860161113a565b92505061010061128885828601611225565b9150509250929050565b60008115159050919050565b6112a781611292565b82525050565b60006020820190506112c2600083018461129e565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061133182610fa9565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611363576113626112f7565b5b600182019050919050565b600061137982610fa9565b915061138483610fa9565b925082820190508082111561139c5761139b6112f7565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006113dc82610fa9565b91506113e783610fa9565b9250826113f7576113f66113a2565b5b828206905092915050565b600061140d82610fa9565b915061141883610fa9565b92508282039050818111156114305761142f6112f7565b5b92915050565b600061144182610fa9565b915061144c83610fa9565b925082820261145a81610fa9565b91508282048414831517611471576114706112f7565b5b509291505056fea26469706673582212203045e6c79c9a7b7cd335c4ffdc4cb696da8bd800a2372013e15c8fefa3336c9e64736f6c63430008130033
Deployed ByteCode Sourcemap
6379:3481:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9452:405;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;9557:6;9576:25;9615:1;9604:13;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9576:41;;9634:6;9630:90;9650:12;9646:1;:16;9630:90;;;9700:5;9706:1;9700:8;;;;;;;:::i;:::-;;;;;;9683:11;9695:1;9683:14;;;;;;;;:::i;:::-;;;;;;;:25;;;;;9664:3;;;;;:::i;:::-;;;;9630:90;;;;9764:1;9734:26;9741:11;9754:5;9734:6;:26::i;:::-;:31;9730:120;;9789:4;9782:11;;;;;9730:120;9833:5;9826:12;;;9452:405;;;;;:::o;8508:938::-;8588:4;8605:26;8634:77;8605:106;;8722:22;8747:14;:12;:14::i;:::-;8722:39;;8800:2;:12;;;:19;8795:1;8780:5;:12;:16;;;;:::i;:::-;:39;8772:48;;;;;;8879:27;8909:21;;;;;;;;8925:1;8909:21;;;;8928:1;8909:21;;;8879:51;;8946:6;8941:200;8962:5;:12;8958:1;:16;8941:200;;;9015:18;9004:5;9010:1;9004:8;;;;;;;;:::i;:::-;;;;;;;;:29;8996:38;;;;;;9056:73;9073:4;9079:49;9098:2;:12;;;9115:1;9111;:5;;;;:::i;:::-;9098:19;;;;;;;;:::i;:::-;;;;;;;;9119:5;9125:1;9119:8;;;;;;;;:::i;:::-;;;;;;;;9079:18;:49::i;:::-;9056:16;:73::i;:::-;9049:80;;8976:3;;;;;:::i;:::-;;;;8941:200;;;;9158:39;9175:4;9181:2;:12;;;9194:1;9181:15;;;;;;;;:::i;:::-;;;;;;;;9158:16;:39::i;:::-;9151:46;;9212:197;9248:5;:7;;;9257:5;:7;;;9280:20;9295:4;9280:14;:20::i;:::-;9302:2;:8;;;9326:23;9341:5;:7;;;9326:14;:23::i;:::-;9351:2;:8;;;9375:24;9390:2;:8;;;9375:14;:24::i;:::-;9401:2;:7;;;9212:20;:197::i;:::-;9208:211;;9418:1;9411:8;;;;;;;9208:211;9437:1;9430:8;;;;;8508:938;;;;;:::o;6740:1762::-;6787:22;;:::i;:::-;6833:169;;;;;;;;6857:66;6833:169;;;;6934:66;6833:169;;;6822:2;:8;;:180;;;;7023:327;;;;;;;;;;;;;;;;7048:66;7023:327;;;;7125:66;7023:327;;;;;;;;;;;;;;;7204:66;7023:327;;;;7281:66;7023:327;;;;;;7013:2;:7;;:337;;;;7372:327;;;;;;;;;;;;;;;;7397:66;7372:327;;;;7474:66;7372:327;;;;;;;;;;;;;;;7553:66;7372:327;;;;7630:66;7372:327;;;;;;7361:2;:8;;:338;;;;7721:327;;;;;;;;;;;;;;;;7746:66;7721:327;;;;7823:66;7721:327;;;;;;;;;;;;;;;7902:66;7721:327;;;;7979:66;7721:327;;;;;;7710:2;:8;;:338;;;;8096:1;8074:24;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;8059:2;:12;;:39;;;;8127:169;;;;;;;;8151:66;8127:169;;;;8228:66;8127:169;;;8109:2;:12;;;8122:1;8109:15;;;;;;;;:::i;:::-;;;;;;;:187;;;;8325:169;;;;;;;;8349:66;8325:169;;;;8426:66;8325:169;;;8307:2;:12;;;8320:1;8307:15;;;;;;;;:::i;:::-;;;;;;;:187;;;;6740:1762;:::o;3139:466::-;3208:16;;:::i;:::-;3237:20;;:::i;:::-;3279:1;:3;;;3268:5;3274:1;3268:8;;;;;;;:::i;:::-;;;;;:14;;;;;3304:1;:3;;;3293:5;3299:1;3293:8;;;;;;;:::i;:::-;;;;;:14;;;;;3329:1;3318:5;3324:1;3318:8;;;;;;;:::i;:::-;;;;;:12;;;;;3341;3447:4;3444:1;3438:4;3431:5;3428:1;3421:4;3414:5;3410:16;3399:53;3388:64;;3531:7;3544:1;3539:20;;3524:35;3539:20;3548:9;3524:35;;3589:7;3580:17;;;;;;3226:379;;3139:466;;;;:::o;2471:506::-;2550:16;;:::i;:::-;2579:20;;:::i;:::-;2621:2;:4;;;2610:5;2616:1;2610:8;;;;;;;:::i;:::-;;;;;:15;;;;;2647:2;:4;;;2636:5;2642:1;2636:8;;;;;;;:::i;:::-;;;;;:15;;;;;2673:2;:4;;;2662:5;2668:1;2662:8;;;;;;;:::i;:::-;;;;;:15;;;;;2699:2;:4;;;2688:5;2694:1;2688:8;;;;;;;:::i;:::-;;;;;:15;;;;;2714:12;2820:4;2817:1;2811:4;2804:5;2801:1;2794:4;2787:5;2783:16;2772:53;2761:64;;2904:7;2917:1;2912:20;;2897:35;2912:20;2921:9;2897:35;;2961:7;2953:16;;;;;;2568:409;;2471:506;;;;:::o;2072:346::-;2129:14;;:::i;:::-;2209:6;2218:77;2209:86;;2317:1;2310;:3;;;:8;:20;;;;;2329:1;2322;:3;;;:8;2310:20;2306:59;;;2352:13;;;;;;;;2360:1;2352:13;;;;2363:1;2352:13;;;2345:20;;;;;2306:59;2383:27;;;;;;;;2391:1;:3;;;2383:27;;;;2407:1;2401;:3;;;:7;;;;:::i;:::-;2396:1;:13;;;;:::i;:::-;2383:27;;;2376:34;;;2072:346;;;;:::o;5803:569::-;6059:4;6076:19;6112:1;6098:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;6076:38;;6125:19;6161:1;6147:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;6125:38;;6182:2;6174;6177:1;6174:5;;;;;;;;:::i;:::-;;;;;;;:10;;;;6203:2;6195;6198:1;6195:5;;;;;;;;:::i;:::-;;;;;;;:10;;;;6224:2;6216;6219:1;6216:5;;;;;;;;:::i;:::-;;;;;;;:10;;;;6245:2;6237;6240:1;6237:5;;;;;;;;:::i;:::-;;;;;;;:10;;;;6266:2;6258;6261:1;6258:5;;;;;;;;:::i;:::-;;;;;;;:10;;;;6287:2;6279;6282:1;6279:5;;;;;;;;:::i;:::-;;;;;;;:10;;;;6308:2;6300;6303:1;6300:5;;;;;;;;:::i;:::-;;;;;;;:10;;;;6329:2;6321;6324:1;6321:5;;;;;;;;:::i;:::-;;;;;;;:10;;;;6349:15;6357:2;6361;6349:7;:15::i;:::-;6342:22;;;;5803:569;;;;;;;;;;:::o;3821:946::-;3903:4;3941:2;:9;3928:2;:9;:22;3920:31;;;;;;3962:13;3978:2;:9;3962:25;;3998:14;4026:1;4015:8;:12;;;;:::i;:::-;3998:29;;4038:19;4071:9;4060:21;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4038:43;;4097:6;4092:315;4113:8;4109:1;:12;4092:315;;;4171:2;4174:1;4171:5;;;;;;;;:::i;:::-;;;;;;;;:7;;;4152:5;4166:1;4162;4158;:5;;;;:::i;:::-;:9;;;;:::i;:::-;4152:16;;;;;;;;:::i;:::-;;;;;;;:26;;;;;4212:2;4215:1;4212:5;;;;;;;;:::i;:::-;;;;;;;;:7;;;4193:5;4207:1;4203;4199;:5;;;;:::i;:::-;:9;;;;:::i;:::-;4193:16;;;;;;;;:::i;:::-;;;;;;;:26;;;;;4253:2;4256:1;4253:5;;;;;;;;:::i;:::-;;;;;;;;:7;;;4261:1;4253:10;;;;;;;:::i;:::-;;;;;;4234:5;4248:1;4244;4240;:5;;;;:::i;:::-;:9;;;;:::i;:::-;4234:16;;;;;;;;:::i;:::-;;;;;;;:29;;;;;4297:2;4300:1;4297:5;;;;;;;;:::i;:::-;;;;;;;;:7;;;4305:1;4297:10;;;;;;;:::i;:::-;;;;;;4278:5;4292:1;4288;4284;:5;;;;:::i;:::-;:9;;;;:::i;:::-;4278:16;;;;;;;;:::i;:::-;;;;;;;:29;;;;;4341:2;4344:1;4341:5;;;;;;;;:::i;:::-;;;;;;;;:7;;;4349:1;4341:10;;;;;;;:::i;:::-;;;;;;4322:5;4336:1;4332;4328;:5;;;;:::i;:::-;:9;;;;:::i;:::-;4322:16;;;;;;;;:::i;:::-;;;;;;;:29;;;;;4385:2;4388:1;4385:5;;;;;;;;:::i;:::-;;;;;;;;:7;;;4393:1;4385:10;;;;;;;:::i;:::-;;;;;;4366:5;4380:1;4376;4372;:5;;;;:::i;:::-;:9;;;;:::i;:::-;4366:16;;;;;;;;:::i;:::-;;;;;;;:29;;;;;4123:3;;;;;:::i;:::-;;;;4092:315;;;;4417:18;;:::i;:::-;4446:12;4581:4;4576:3;4569:4;4558:9;4554:20;4547:4;4540:5;4536:16;4533:1;4526:4;4519:5;4515:16;4504:82;4493:93;;4665:7;4678:1;4673:20;;4658:35;4673:20;4682:9;4658:35;;4722:7;4714:16;;;;;;4758:1;4748:3;4752:1;4748:6;;;;;;;:::i;:::-;;;;;;:11;;4741:18;;;;;;;3821:946;;;;:::o;-1:-1:-1:-;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7:75:1:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;334:117;443:1;440;433:12;457:102;498:6;549:2;545:7;540:2;533:5;529:14;525:28;515:38;;457:102;;;:::o;565:180::-;613:77;610:1;603:88;710:4;707:1;700:15;734:4;731:1;724:15;751:281;834:27;856:4;834:27;:::i;:::-;826:6;822:40;964:6;952:10;949:22;928:18;916:10;913:34;910:62;907:88;;;975:18;;:::i;:::-;907:88;1015:10;1011:2;1004:22;794:238;751:281;;:::o;1038:129::-;1072:6;1099:20;;:::i;:::-;1089:30;;1128:33;1156:4;1148:6;1128:33;:::i;:::-;1038:129;;;:::o;1296:77::-;1333:7;1362:5;1351:16;;1296:77;;;:::o;1379:122::-;1452:24;1470:5;1452:24;:::i;:::-;1445:5;1442:35;1432:63;;1491:1;1488;1481:12;1432:63;1379:122;:::o;1507:139::-;1553:5;1591:6;1578:20;1569:29;;1607:33;1634:5;1607:33;:::i;:::-;1507:139;;;;:::o;1682:565::-;1753:5;1797:4;1785:9;1780:3;1776:19;1772:30;1769:117;;;1805:79;;:::i;:::-;1769:117;1904:21;1920:4;1904:21;:::i;:::-;1895:30;;1981:1;2021:49;2066:3;2057:6;2046:9;2042:22;2021:49;:::i;:::-;2014:4;2007:5;2003:16;1996:75;1935:147;2138:2;2179:49;2224:3;2215:6;2204:9;2200:22;2179:49;:::i;:::-;2172:4;2165:5;2161:16;2154:75;2092:148;1682:565;;;;:::o;2253:117::-;2362:1;2359;2352:12;2376:249;2451:4;2541:18;2533:6;2530:30;2527:56;;;2563:18;;:::i;:::-;2527:56;2613:4;2605:6;2601:17;2593:25;;2376:249;;;:::o;2631:117::-;2740:1;2737;2730:12;2772:643;2866:5;2891:79;2907:62;2962:6;2907:62;:::i;:::-;2891:79;:::i;:::-;2882:88;;2990:5;3043:4;3035:6;3031:17;3023:6;3019:30;3072:3;3064:6;3061:15;3058:122;;;3091:79;;:::i;:::-;3058:122;3206:6;3189:220;3223:6;3218:3;3215:15;3189:220;;;3298:3;3327:37;3360:3;3348:10;3327:37;:::i;:::-;3322:3;3315:50;3394:4;3389:3;3385:14;3378:21;;3265:144;3249:4;3244:3;3240:14;3233:21;;3189:220;;;3193:21;2872:543;;2772:643;;;;;:::o;3439:339::-;3508:5;3557:3;3550:4;3542:6;3538:17;3534:27;3524:122;;3565:79;;:::i;:::-;3524:122;3669:4;3691:81;3768:3;3760:6;3752;3691:81;:::i;:::-;3682:90;;3514:264;3439:339;;;;:::o;3814:612::-;3886:5;3930:4;3918:9;3913:3;3909:19;3905:30;3902:117;;;3938:79;;:::i;:::-;3902:117;4037:21;4053:4;4037:21;:::i;:::-;4028:30;;4114:1;4154:72;4222:3;4213:6;4202:9;4198:22;4154:72;:::i;:::-;4147:4;4140:5;4136:16;4129:98;4068:170;4294:2;4335:72;4403:3;4394:6;4383:9;4379:22;4335:72;:::i;:::-;4328:4;4321:5;4317:16;4310:98;4248:171;3814:612;;;;:::o;4461:793::-;4532:5;4576:6;4564:9;4559:3;4555:19;4551:32;4548:119;;;4586:79;;:::i;:::-;4548:119;4685:21;4701:4;4685:21;:::i;:::-;4676:30;;4762:1;4802:71;4869:3;4860:6;4849:9;4845:22;4802:71;:::i;:::-;4795:4;4788:5;4784:16;4777:97;4716:169;4941:2;4982:72;5050:3;5041:6;5030:9;5026:22;4982:72;:::i;:::-;4975:4;4968:5;4964:16;4957:98;4895:171;5122:3;5164:71;5231:3;5222:6;5211:9;5207:22;5164:71;:::i;:::-;5157:4;5150:5;5146:16;5139:97;5076:171;4461:793;;;;:::o;5260:249::-;5335:4;5425:18;5417:6;5414:30;5411:56;;;5447:18;;:::i;:::-;5411:56;5497:4;5489:6;5485:17;5477:25;;5260:249;;;:::o;5533:643::-;5627:5;5652:79;5668:62;5723:6;5668:62;:::i;:::-;5652:79;:::i;:::-;5643:88;;5751:5;5804:4;5796:6;5792:17;5784:6;5780:30;5833:3;5825:6;5822:15;5819:122;;;5852:79;;:::i;:::-;5819:122;5967:6;5950:220;5984:6;5979:3;5976:15;5950:220;;;6059:3;6088:37;6121:3;6109:10;6088:37;:::i;:::-;6083:3;6076:50;6155:4;6150:3;6146:14;6139:21;;6026:144;6010:4;6005:3;6001:14;5994:21;;5950:220;;;5954:21;5633:543;;5533:643;;;;;:::o;6200:339::-;6269:5;6318:3;6311:4;6303:6;6299:17;6295:27;6285:122;;6326:79;;:::i;:::-;6285:122;6430:4;6452:81;6529:3;6521:6;6513;6452:81;:::i;:::-;6443:90;;6275:264;6200:339;;;;:::o;6545:566::-;6658:6;6666;6715:3;6703:9;6694:7;6690:23;6686:33;6683:120;;;6722:79;;:::i;:::-;6683:120;6842:1;6867:75;6934:7;6925:6;6914:9;6910:22;6867:75;:::i;:::-;6857:85;;6813:139;6991:3;7018:76;7086:7;7077:6;7066:9;7062:22;7018:76;:::i;:::-;7008:86;;6962:142;6545:566;;;;;:::o;7117:90::-;7151:7;7194:5;7187:13;7180:21;7169:32;;7117:90;;;:::o;7213:109::-;7294:21;7309:5;7294:21;:::i;:::-;7289:3;7282:34;7213:109;;:::o;7328:210::-;7415:4;7453:2;7442:9;7438:18;7430:26;;7466:65;7528:1;7517:9;7513:17;7504:6;7466:65;:::i;:::-;7328:210;;;;:::o;7544:180::-;7592:77;7589:1;7582:88;7689:4;7686:1;7679:15;7713:4;7710:1;7703:15;7730:180;7778:77;7775:1;7768:88;7875:4;7872:1;7865:15;7899:4;7896:1;7889:15;7916:233;7955:3;7978:24;7996:5;7978:24;:::i;:::-;7969:33;;8024:66;8017:5;8014:77;8011:103;;8094:18;;:::i;:::-;8011:103;8141:1;8134:5;8130:13;8123:20;;7916:233;;;:::o;8155:191::-;8195:3;8214:20;8232:1;8214:20;:::i;:::-;8209:25;;8248:20;8266:1;8248:20;:::i;:::-;8243:25;;8291:1;8288;8284:9;8277:16;;8312:3;8309:1;8306:10;8303:36;;;8319:18;;:::i;:::-;8303:36;8155:191;;;;:::o;8352:180::-;8400:77;8397:1;8390:88;8497:4;8494:1;8487:15;8521:4;8518:1;8511:15;8538:176;8570:1;8587:20;8605:1;8587:20;:::i;:::-;8582:25;;8621:20;8639:1;8621:20;:::i;:::-;8616:25;;8660:1;8650:35;;8665:18;;:::i;:::-;8650:35;8706:1;8703;8699:9;8694:14;;8538:176;;;;:::o;8720:194::-;8760:4;8780:20;8798:1;8780:20;:::i;:::-;8775:25;;8814:20;8832:1;8814:20;:::i;:::-;8809:25;;8858:1;8855;8851:9;8843:17;;8882:1;8876:4;8873:11;8870:37;;;8887:18;;:::i;:::-;8870:37;8720:194;;;;:::o;8920:410::-;8960:7;8983:20;9001:1;8983:20;:::i;:::-;8978:25;;9017:20;9035:1;9017:20;:::i;:::-;9012:25;;9072:1;9069;9065:9;9094:30;9112:11;9094:30;:::i;:::-;9083:41;;9273:1;9264:7;9260:15;9257:1;9254:22;9234:1;9227:9;9207:83;9184:139;;9303:18;;:::i;:::-;9184:139;8968:362;8920:410;;;;:::o
Swarm Source
ipfs://3045e6c79c9a7b7cd335c4ffdc4cb696da8bd800a2372013e15c8fefa3336c9e
Age | Block | Fee Address | BC Fee Address | Voting Power | Jailed | Incoming |
---|
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.