Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 513 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Update Organizat... | 18295204 | 504 days ago | IN | 0 ETH | 0.00061043 | ||||
Del Organization... | 16735686 | 723 days ago | IN | 0 ETH | 0.00133484 | ||||
Del Organization... | 16735685 | 723 days ago | IN | 0 ETH | 0.00133484 | ||||
Del Organization... | 16735685 | 723 days ago | IN | 0 ETH | 0.00133484 | ||||
Del Organization... | 16735685 | 723 days ago | IN | 0 ETH | 0.00133484 | ||||
Del Organization... | 16735684 | 723 days ago | IN | 0 ETH | 0.00133484 | ||||
Del Organization... | 16735684 | 723 days ago | IN | 0 ETH | 0.00133484 | ||||
Del Organization... | 16735684 | 723 days ago | IN | 0 ETH | 0.00133484 | ||||
Del Organization... | 16735683 | 723 days ago | IN | 0 ETH | 0.00133484 | ||||
Del Organization... | 16735683 | 723 days ago | IN | 0 ETH | 0.00133484 | ||||
Del Organization... | 16735683 | 723 days ago | IN | 0 ETH | 0.00133484 | ||||
Del Organization... | 16735682 | 723 days ago | IN | 0 ETH | 0.00133484 | ||||
Set Organization... | 16733721 | 724 days ago | IN | 0 ETH | 0.01891986 | ||||
Set Organization... | 16733718 | 724 days ago | IN | 0 ETH | 0.02072175 | ||||
Update Organizat... | 16733126 | 724 days ago | IN | 0 ETH | 0.00098932 | ||||
Update Organizat... | 16732776 | 724 days ago | IN | 0 ETH | 0.00144144 | ||||
Set Organization... | 16732143 | 724 days ago | IN | 0 ETH | 0.01621702 | ||||
Set Organization... | 16727143 | 725 days ago | IN | 0 ETH | 0.02702838 | ||||
Set Organization... | 16726838 | 725 days ago | IN | 0 ETH | 0.02754138 | ||||
Del Individual C... | 15972991 | 830 days ago | IN | 0 ETH | 0.00061236 | ||||
Set Individual C... | 15824184 | 851 days ago | IN | 0 ETH | 0.00035664 | ||||
Set Individual C... | 15801970 | 854 days ago | IN | 0 ETH | 0.00058359 | ||||
Set Individual C... | 15801970 | 854 days ago | IN | 0 ETH | 0.00051875 | ||||
Set Individual C... | 15797811 | 855 days ago | IN | 0 ETH | 0.00110234 | ||||
Set Individual C... | 15782223 | 857 days ago | IN | 0 ETH | 0.00084297 |
Latest 25 internal transactions (View All)
Advanced mode:
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
CertificationRegistry
Compiler Version
v0.5.8+commit.23d335f2
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2019-08-21 */ pragma solidity ^0.5.8; // File: contracts/IndividualCertification.sol /** * @title Individual Certification Contract * @author Rosen GmbH * * This contract represents the individual certificate. */ contract IndividualCertification { address public registryAddress; bytes32 public b0; bytes32 public b1; constructor(bytes32 _b0, bytes32 _b1) public { registryAddress = msg.sender; b0 = _b0; b1 = _b1; } function updateHashValue(bytes32 _b0, bytes32 _b1) public onlyRegistry { b0 = _b0; b1 = _b1; } function changeRegistry(address newRegistryAddress) public onlyRegistry { registryAddress = newRegistryAddress; } function hashValue() public view returns (bytes32, bytes32) { return (b0, b1); } modifier onlyRegistry() { require(msg.sender == registryAddress, "Call invoked from incorrect address"); _; } /** * Extinguish this certificate. * * This can be done by the same certifier contract which has created * the certificate in the first place only. */ function deleteCertificate() public onlyRegistry { selfdestruct(msg.sender); } } // File: contracts/OrganizationalCertification.sol /** * @title Certificate Contract * @author Rosen HCMC Lab * * Each instance of this contract represents a single certificate. */ contract OrganizationalCertification { /** * Address of CertificatioRegistry contract this certificate belongs to. */ address public registryAddress; string public CompanyName; string public Standard; string public CertificateId; string public IssueDate; string public ExpireDate; string public Scope; string public CertificationBodyName; /** * Constructor. * * @param _CompanyName Name of company name the certificate is IssueDate to. * @param _Standard The Standard. * @param _CertificateId Unique identifier of the certificate. * @param _IssueDate Timestamp (Unix epoch) when the certificate was IssueDate. * @param _ExpireDate Timestamp (Unix epoch) when the certificate will expire. * @param _Scope The scope of the certificate. * @param _CertificationBodyName The issuer of the certificate. */ constructor( string memory _CompanyName, string memory _Standard, string memory _CertificateId, string memory _IssueDate, string memory _ExpireDate, string memory _Scope, string memory _CertificationBodyName) public { registryAddress = msg.sender; CompanyName = _CompanyName; Standard = _Standard; CertificateId = _CertificateId; IssueDate = _IssueDate; ExpireDate = _ExpireDate; Scope = _Scope; CertificationBodyName = _CertificationBodyName; } function updateCertificate( string memory _CompanyName, string memory _Standard, string memory _IssueDate, string memory _ExpireDate, string memory _Scope) public onlyRegistry { CompanyName = _CompanyName; Standard = _Standard; IssueDate = _IssueDate; ExpireDate = _ExpireDate; Scope = _Scope; } function changeRegistry(address newRegistryAddress) public onlyRegistry { registryAddress = newRegistryAddress; } modifier onlyRegistry() { require(msg.sender == registryAddress, "Call invoked from incorrect address"); _; } /** * Extinguish this certificate. * * This can be done the same certifier contract which has created * the certificate in the first place only. */ function deleteCertificate() public onlyRegistry { selfdestruct(msg.sender); } } // File: contracts\CertificationRegistry.sol /** * @title Certification Contract * @author Rosen HCMC Lab * This contract represents the singleton certificate registry. */ contract CertificationRegistry { /** @dev Dictionary of all Certificate Contracts issued by the Organization. Stores the Organization ID and which Certificates they issued. Stores the Certification key derived from the keccak256(CertificateOriginalId) and stores the address where the corresponding Certificate is stored. Mapping(keccak256(CertificateOriginalId, organizationID) => certAddress)) */ mapping (bytes32 => address) public CertificateAddresses; mapping (bytes32 => address) public RosenCertificateAddresses; /** @dev Dictionary that stores which addresses are owntrated by Certification administrators and which Organization those Certification adminisors belong to keccak256 (adminAddress, organizationID) => bool */ mapping (bytes32 => bool) public CertAdmins; /** @dev Dictionary that stores which addresses are owned by ROSEN Certification administrators Mapping(adminAddress => bool) */ mapping (address => bool) public RosenCertAdmins; /** @dev stores the address of the Global Administrator */ address public GlobalAdmin; event OrganizationCertificationSet(address indexed contractAddress); event OrganizationCertificationUpdated(address indexed contractAddress); event IndividualCertificationSet(address indexed contractAddress); event IndividualCertificationUpdated(address indexed contractAddress); event CertificationDeleted(address indexed contractAddress); event CertAdminAdded(address indexed account); event CertAdminDeleted(address account); event GlobalAdminChanged(address indexed account); event Migration(address indexed newRegistryAddress); /** * Constructor. * * The creator of this contract becomes the global administrator. */ constructor() public { GlobalAdmin = msg.sender; } // Functions /** * Create a new certificate contract. * This can be done by an certificate administrator only. * * @param _OriginalCertificateId Globally uniqueID composed by BEC service. * @param _CompanyName Name of company name the certificate is issued to. * @param _Standard The norm. * @param _CertificateId Certificate physical ID * @param _IssueDate Timestamp (Unix epoch) when the certificate was issued. * @param _ExpireDate Timestamp (Unix epoch) when the certificate will expire. * @param _Scope The scope of the certificate. * @param _CertificationBodyName The issuer of the certificate. */ function setOrganizationCertificate( string memory _OriginalCertificateId, string memory _CompanyName, string memory _Standard, string memory _CertificateId, string memory _IssueDate, string memory _ExpireDate, string memory _Scope, string memory _CertificationBodyName ) public onlyRosenCertAdmin { bytes32 certKey = keccak256(abi.encodePacked(_OriginalCertificateId)); OrganizationalCertification orgCert = new OrganizationalCertification( _CompanyName, _Standard, _CertificateId, _IssueDate, _ExpireDate, _Scope, _CertificationBodyName); RosenCertificateAddresses[certKey] = address(orgCert); emit OrganizationCertificationSet(address(orgCert)); } /** * Update an organization certificate contract. * This can be done by an certificate administrator only. * * @param _OriginalCertificateId Globally uniqueID composed by BEC service. * @param _CompanyName Name of company name the certificate is issued to. * @param _Standard The norm. * @param _IssueDate Timestamp (Unix epoch) when the certificate was issued. * @param _ExpireDate Timestamp (Unix epoch) when the certificate will expire. * @param _Scope The scope of the certificate. */ function updateOrganizationCertificate( string memory _OriginalCertificateId, string memory _CompanyName, string memory _Standard, string memory _IssueDate, string memory _ExpireDate, string memory _Scope) public onlyRosenCertAdmin { bytes32 certKey = keccak256(abi.encodePacked(_OriginalCertificateId)); address certAddress = RosenCertificateAddresses[certKey]; OrganizationalCertification(certAddress).updateCertificate( _CompanyName, _Standard, _IssueDate, _ExpireDate, _Scope); emit OrganizationCertificationUpdated(certAddress); } function setIndividualCertificate( bytes32 b0, bytes32 b1, string memory _OriginalCertificateId, string memory _organizationID) public onlyPrivilegedCertAdmin(_organizationID) entryMustNotExist(_OriginalCertificateId, _organizationID) { IndividualCertification individualCert = new IndividualCertification(b0, b1); CertificateAddresses[toCertificateKey(_OriginalCertificateId, _organizationID)] = address(individualCert); emit IndividualCertificationSet(address(individualCert)); } function updateIndividualCertificate(bytes32 b0, bytes32 b1, string memory _OriginalCertificateId, string memory _organizationID) public onlyPrivilegedCertAdmin(_organizationID) duplicatedHashGuard(b0, b1, _OriginalCertificateId, _organizationID) { address certAddr = CertificateAddresses[toCertificateKey(_OriginalCertificateId, _organizationID)]; IndividualCertification(certAddr).updateHashValue(b0, b1); emit IndividualCertificationUpdated(certAddr); } /** * Delete an existing certificate. * * This can be done by an certificate administrator only. * * @param _OriginalCertificateId Unique identifier of the certificate to delete. */ function delOrganizationCertificate(string memory _OriginalCertificateId) public onlyRosenCertAdmin { bytes32 certKey = keccak256(abi.encodePacked(_OriginalCertificateId)); OrganizationalCertification(RosenCertificateAddresses[certKey]).deleteCertificate(); emit CertificationDeleted(RosenCertificateAddresses[certKey]); delete RosenCertificateAddresses[certKey]; } /** * Delete an exisiting certificate. * * This can be done by an certificate administrator only. * * @param _OriginalCertificateId Unique identifier of the certificate to delete. * @param _organizationID UUID of organization tenantID. */ function delIndividualCertificate( string memory _OriginalCertificateId, string memory _organizationID) public onlyPrivilegedCertAdmin(_organizationID) { bytes32 certKey = toCertificateKey(_OriginalCertificateId,_organizationID); IndividualCertification(CertificateAddresses[certKey]).deleteCertificate(); emit CertificationDeleted(CertificateAddresses[certKey]); delete CertificateAddresses[certKey]; } /** * Register a certificate administrator. * * This can be done by the global administrator only. * * @param _CertAdmin Address of certificate administrator to be added. * @param _organizationID UUID of organization tenantID. */ function addCertAdmin(address _CertAdmin, string memory _organizationID) public onlyGlobalAdmin { CertAdmins[toCertAdminKey(_CertAdmin, _organizationID)] = true; emit CertAdminAdded(_CertAdmin); } /** * Delete a certificate administrator. * * This can be done by the global administrator only. * * @param _CertAdmin Address of certificate administrator to be removed. * @param _organizationID UUID of organization tenantID. */ function delCertAdmin(address _CertAdmin, string memory _organizationID) public onlyGlobalAdmin { delete CertAdmins[toCertAdminKey(_CertAdmin, _organizationID)]; emit CertAdminDeleted(_CertAdmin); } /** * Register a ROSEN certificate administrator. * * This can be done by the global administrator only. * * @param _CertAdmin Address of certificate administrator to be added. */ function addRosenCertAdmin(address _CertAdmin) public onlyGlobalAdmin { RosenCertAdmins[_CertAdmin] = true; emit CertAdminAdded(_CertAdmin); } /** * Delete a ROSEN certificate administrator. * * This can be done by the global administrator only. * * @param _CertAdmin Address of certificate administrator to be removed. */ function delRosenCertAdmin(address _CertAdmin) public onlyGlobalAdmin { delete RosenCertAdmins[_CertAdmin]; emit CertAdminDeleted(_CertAdmin); } /** * Change the address of the global administrator. * * This can be done by the global administrator only. * * @param _GlobalAdmin Address of new global administrator to be set. */ function changeGlobalAdmin(address _GlobalAdmin) public onlyGlobalAdmin { GlobalAdmin=_GlobalAdmin; emit GlobalAdminChanged(_GlobalAdmin); } // Constant Functions /** * Determines the address of a certificate contract. * * @param _organizationID UUID of organization tenantID. * @param _OriginalCertificateId Unique certificate identifier. * @return Address of certification contract. */ function getCertAddressByID(string memory _organizationID, string memory _OriginalCertificateId) public view returns (address) { return CertificateAddresses[toCertificateKey(_OriginalCertificateId, _organizationID)]; } /** * Determines the address of a certificate contract. * * @param _OriginalCertificateId Unique certificate identifier. * @return Address of certification contract. */ function getOrganizationalCertAddressByID(string memory _OriginalCertificateId) public view returns (address) { return RosenCertificateAddresses[keccak256(abi.encodePacked(_OriginalCertificateId))]; } function getCertAdminByOrganizationID(address _certAdmin, string memory _organizationID) public view returns (bool) { return CertAdmins[toCertAdminKey(_certAdmin, _organizationID)]; } /** * Derives an unique key from a certificate identifier to be used in the * global mapping CertificateAddresses. * * This is necessary due to certificate identifiers are of type string * which cannot be used as dictionary keys. * * @param _OriginalCertificateId The unique certificate identifier. * @param _organizationID UUID of organization tenantID. * @return The key derived from certificate identifier. */ function toCertificateKey(string memory _OriginalCertificateId, string memory _organizationID) public pure returns (bytes32) { return keccak256(abi.encodePacked(_OriginalCertificateId, _organizationID)); } function toCertAdminKey(address _certAdmin, string memory _organizationID) public pure returns (bytes32) { return keccak256(abi.encodePacked(_certAdmin, _organizationID)); } /** * Use conjunction with updateIndividualCertMapping to migrate IndividualCertication contract to new CertificationRegistry */ function migrateIndividualCertificate(address _newRegistryAddress, string memory _OriginalCertificateId, string memory _organizationID) public onlyGlobalAdmin { bytes32 certKey = toCertificateKey(_OriginalCertificateId, _organizationID); address certAddress = CertificateAddresses[certKey]; IndividualCertification(certAddress).changeRegistry(_newRegistryAddress); emit Migration(_newRegistryAddress); } /** * Use conjunction with updateOrganizationCertMapping to migrate OrganizationalCertification contract to new CertificationRegistry */ function migrateOrganizationCertificate(address _newRegistryAddress, string memory _OriginalCertificateId) public onlyGlobalAdmin { bytes32 certKey = keccak256(abi.encodePacked(_OriginalCertificateId)); address certAddress = RosenCertificateAddresses[certKey]; IndividualCertification(certAddress).changeRegistry(_newRegistryAddress); emit Migration(_newRegistryAddress); } function updateOrganizationCertMapping(address certAddress, string memory _OriginalCertificateId) public onlyRosenCertAdmin { RosenCertificateAddresses[keccak256(abi.encodePacked(_OriginalCertificateId))] = certAddress; } function updateIndividualCertMapping(address certAddress, string memory _OriginalCertificateId, string memory _organizationID) public onlyPrivilegedCertAdmin(_organizationID) { CertificateAddresses[toCertificateKey(_OriginalCertificateId, _organizationID)] = certAddress; } // Modifiers /** * Ensure that only the global administrator is able to perform. */ modifier onlyGlobalAdmin() { require(msg.sender == GlobalAdmin, "Access denied, require global admin account"); _; } /** * Ensure that only a privileged certificate administrator is able to perform. */ modifier onlyPrivilegedCertAdmin(string memory organizationID) { require(CertAdmins[toCertAdminKey(msg.sender, organizationID)] || RosenCertAdmins[msg.sender], "Access denied, Please use function with certificate admin privileges"); _; } modifier onlyRosenCertAdmin() { require(RosenCertAdmins[msg.sender], "Access denied, Please use function with certificate admin privileges"); _; } /** * Ensure individual entry should not exist, prevent re-entrancy */ modifier entryMustNotExist(string memory _OriginalCertificateId, string memory _organizationID) { require(CertificateAddresses[toCertificateKey(_OriginalCertificateId, _organizationID)] == address(0), "Entry existed exception!"); _; } modifier duplicatedHashGuard( bytes32 _b0, bytes32 _b1, string memory _OriginalCertificateId, string memory _organizationID) { IndividualCertification individualCert = IndividualCertification(CertificateAddresses[toCertificateKey(_OriginalCertificateId, _organizationID)]); require(keccak256(abi.encodePacked(_b0, _b1)) != keccak256(abi.encodePacked(individualCert.b0(), individualCert.b1())), "Duplicated hash-value exception!"); _; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":false,"inputs":[{"name":"_GlobalAdmin","type":"address"}],"name":"changeGlobalAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_certAdmin","type":"address"},{"name":"_organizationID","type":"string"}],"name":"getCertAdminByOrganizationID","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_OriginalCertificateId","type":"string"}],"name":"delOrganizationCertificate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_OriginalCertificateId","type":"string"},{"name":"_organizationID","type":"string"}],"name":"toCertificateKey","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"certAddress","type":"address"},{"name":"_OriginalCertificateId","type":"string"}],"name":"updateOrganizationCertMapping","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"CertAdmins","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_CertAdmin","type":"address"}],"name":"delRosenCertAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_CertAdmin","type":"address"}],"name":"addRosenCertAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newRegistryAddress","type":"address"},{"name":"_OriginalCertificateId","type":"string"},{"name":"_organizationID","type":"string"}],"name":"migrateIndividualCertificate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_organizationID","type":"string"},{"name":"_OriginalCertificateId","type":"string"}],"name":"getCertAddressByID","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_CertAdmin","type":"address"},{"name":"_organizationID","type":"string"}],"name":"addCertAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_OriginalCertificateId","type":"string"},{"name":"_organizationID","type":"string"}],"name":"delIndividualCertificate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"GlobalAdmin","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_certAdmin","type":"address"},{"name":"_organizationID","type":"string"}],"name":"toCertAdminKey","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"RosenCertificateAddresses","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_CertAdmin","type":"address"},{"name":"_organizationID","type":"string"}],"name":"delCertAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_OriginalCertificateId","type":"string"}],"name":"getOrganizationalCertAddressByID","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newRegistryAddress","type":"address"},{"name":"_OriginalCertificateId","type":"string"}],"name":"migrateOrganizationCertificate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"RosenCertAdmins","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"b0","type":"bytes32"},{"name":"b1","type":"bytes32"},{"name":"_OriginalCertificateId","type":"string"},{"name":"_organizationID","type":"string"}],"name":"setIndividualCertificate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"certAddress","type":"address"},{"name":"_OriginalCertificateId","type":"string"},{"name":"_organizationID","type":"string"}],"name":"updateIndividualCertMapping","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"CertificateAddresses","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"b0","type":"bytes32"},{"name":"b1","type":"bytes32"},{"name":"_OriginalCertificateId","type":"string"},{"name":"_organizationID","type":"string"}],"name":"updateIndividualCertificate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_OriginalCertificateId","type":"string"},{"name":"_CompanyName","type":"string"},{"name":"_Standard","type":"string"},{"name":"_CertificateId","type":"string"},{"name":"_IssueDate","type":"string"},{"name":"_ExpireDate","type":"string"},{"name":"_Scope","type":"string"},{"name":"_CertificationBodyName","type":"string"}],"name":"setOrganizationCertificate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_OriginalCertificateId","type":"string"},{"name":"_CompanyName","type":"string"},{"name":"_Standard","type":"string"},{"name":"_IssueDate","type":"string"},{"name":"_ExpireDate","type":"string"},{"name":"_Scope","type":"string"}],"name":"updateOrganizationCertificate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"contractAddress","type":"address"}],"name":"OrganizationCertificationSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"contractAddress","type":"address"}],"name":"OrganizationCertificationUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"contractAddress","type":"address"}],"name":"IndividualCertificationSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"contractAddress","type":"address"}],"name":"IndividualCertificationUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"contractAddress","type":"address"}],"name":"CertificationDeleted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"CertAdminAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"account","type":"address"}],"name":"CertAdminDeleted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"GlobalAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"newRegistryAddress","type":"address"}],"name":"Migration","type":"event"}]
Contract Creation Code
608060405234801561001057600080fd5b50600480546001600160a01b0319163317905561437e806100326000396000f3fe60806040523480156200001157600080fd5b5060043610620001965760003560e01c8063a614d54e11620000f3578063c9a6811a11620000a5578063cfe6f220116200007b578063cfe6f2201462000fd5578063d2879f001462000ff5578063ea3045861462001133578063f8cae2e614620015965762000196565b8063c9a6811a1462000d2c578063cad3f18f1462000d55578063ccb07cf81462000e935762000196565b8063a614d54e1462000a2a578063ad9065611462000a34578063b56245261462000aee578063bb0bac7f1462000b0e578063be048d041462000bc8578063c16ab1f41462000c725762000196565b806323483e45116200014d57806323483e45146200055c5780632af7ecc714620005855780635e73a67914620005ae57806391dfee0014620006f05780639279fa09146200083e57806398ffab8c14620008f85762000196565b80630226ed48146200019b578063080ab54814620001c65780630ba9287814620002945780631c2672de146200033e578063211fddce146200048257806321446960146200053c575b600080fd5b620001c460048036036020811015620001b357600080fd5b50356001600160a01b0316620018e8565b005b6200028060048036036040811015620001de57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156200020957600080fd5b8201836020820111156200021c57600080fd5b803590602001918460018302840111600160201b831117156200023e57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955062001980945050505050565b604080519115158252519081900360200190f35b620001c460048036036020811015620002ac57600080fd5b810190602081018135600160201b811115620002c757600080fd5b820183602082011115620002da57600080fd5b803590602001918460018302840111600160201b83111715620002fc57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550620019ad945050505050565b62000470600480360360408110156200035657600080fd5b810190602081018135600160201b8111156200037157600080fd5b8201836020820111156200038457600080fd5b803590602001918460018302840111600160201b83111715620003a657600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b811115620003f957600080fd5b8201836020820111156200040c57600080fd5b803590602001918460018302840111600160201b831117156200042e57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955062001b3d945050505050565b60408051918252519081900360200190f35b620001c4600480360360408110156200049a57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b811115620004c557600080fd5b820183602082011115620004d857600080fd5b803590602001918460018302840111600160201b83111715620004fa57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955062001c03945050505050565b62000280600480360360208110156200055457600080fd5b503562001d01565b620001c4600480360360208110156200057457600080fd5b50356001600160a01b031662001d16565b620001c4600480360360208110156200059d57600080fd5b50356001600160a01b031662001dbc565b620001c460048036036060811015620005c657600080fd5b6001600160a01b038235169190810190604081016020820135600160201b811115620005f157600080fd5b8201836020820111156200060457600080fd5b803590602001918460018302840111600160201b831117156200062657600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b8111156200067957600080fd5b8201836020820111156200068c57600080fd5b803590602001918460018302840111600160201b83111715620006ae57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955062001e56945050505050565b62000822600480360360408110156200070857600080fd5b810190602081018135600160201b8111156200072357600080fd5b8201836020820111156200073657600080fd5b803590602001918460018302840111600160201b831117156200075857600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b811115620007ab57600080fd5b820183602082011115620007be57600080fd5b803590602001918460018302840111600160201b83111715620007e057600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955062001f62945050505050565b604080516001600160a01b039092168252519081900360200190f35b620001c4600480360360408110156200085657600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156200088157600080fd5b8201836020820111156200089457600080fd5b803590602001918460018302840111600160201b83111715620008b657600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955062001f94945050505050565b620001c4600480360360408110156200091057600080fd5b810190602081018135600160201b8111156200092b57600080fd5b8201836020820111156200093e57600080fd5b803590602001918460018302840111600160201b831117156200096057600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b811115620009b357600080fd5b820183602082011115620009c657600080fd5b803590602001918460018302840111600160201b83111715620009e857600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506200204b945050505050565b62000822620021a8565b620004706004803603604081101562000a4c57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111562000a7757600080fd5b82018360208201111562000a8a57600080fd5b803590602001918460018302840111600160201b8311171562000aac57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550620021b7945050505050565b620008226004803603602081101562000b0657600080fd5b503562002209565b620001c46004803603604081101562000b2657600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111562000b5157600080fd5b82018360208201111562000b6457600080fd5b803590602001918460018302840111600160201b8311171562000b8657600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955062002224945050505050565b620008226004803603602081101562000be057600080fd5b810190602081018135600160201b81111562000bfb57600080fd5b82018360208201111562000c0e57600080fd5b803590602001918460018302840111600160201b8311171562000c3057600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550620022dc945050505050565b620001c46004803603604081101562000c8a57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111562000cb557600080fd5b82018360208201111562000cc857600080fd5b803590602001918460018302840111600160201b8311171562000cea57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506200236f945050505050565b620002806004803603602081101562000d4457600080fd5b50356001600160a01b0316620024df565b620001c46004803603608081101562000d6d57600080fd5b813591602081013591810190606081016040820135600160201b81111562000d9457600080fd5b82018360208201111562000da757600080fd5b803590602001918460018302840111600160201b8311171562000dc957600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b81111562000e1c57600080fd5b82018360208201111562000e2f57600080fd5b803590602001918460018302840111600160201b8311171562000e5157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550620024f4945050505050565b620001c46004803603606081101562000eab57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111562000ed657600080fd5b82018360208201111562000ee957600080fd5b803590602001918460018302840111600160201b8311171562000f0b57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b81111562000f5e57600080fd5b82018360208201111562000f7157600080fd5b803590602001918460018302840111600160201b8311171562000f9357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550620026a5945050505050565b620008226004803603602081101562000fed57600080fd5b50356200276d565b620001c4600480360360808110156200100d57600080fd5b813591602081013591810190606081016040820135600160201b8111156200103457600080fd5b8201836020820111156200104757600080fd5b803590602001918460018302840111600160201b831117156200106957600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b811115620010bc57600080fd5b820183602082011115620010cf57600080fd5b803590602001918460018302840111600160201b83111715620010f157600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955062002788945050505050565b620001c460048036036101008110156200114c57600080fd5b810190602081018135600160201b8111156200116757600080fd5b8201836020820111156200117a57600080fd5b803590602001918460018302840111600160201b831117156200119c57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b811115620011ef57600080fd5b8201836020820111156200120257600080fd5b803590602001918460018302840111600160201b831117156200122457600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b8111156200127757600080fd5b8201836020820111156200128a57600080fd5b803590602001918460018302840111600160201b83111715620012ac57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b811115620012ff57600080fd5b8201836020820111156200131257600080fd5b803590602001918460018302840111600160201b831117156200133457600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b8111156200138757600080fd5b8201836020820111156200139a57600080fd5b803590602001918460018302840111600160201b83111715620013bc57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b8111156200140f57600080fd5b8201836020820111156200142257600080fd5b803590602001918460018302840111600160201b831117156200144457600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b8111156200149757600080fd5b820183602082011115620014aa57600080fd5b803590602001918460018302840111600160201b83111715620014cc57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b8111156200151f57600080fd5b8201836020820111156200153257600080fd5b803590602001918460018302840111600160201b831117156200155457600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955062002a95945050505050565b620001c4600480360360c0811015620015ae57600080fd5b810190602081018135600160201b811115620015c957600080fd5b820183602082011115620015dc57600080fd5b803590602001918460018302840111600160201b83111715620015fe57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b8111156200165157600080fd5b8201836020820111156200166457600080fd5b803590602001918460018302840111600160201b831117156200168657600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b811115620016d957600080fd5b820183602082011115620016ec57600080fd5b803590602001918460018302840111600160201b831117156200170e57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b8111156200176157600080fd5b8201836020820111156200177457600080fd5b803590602001918460018302840111600160201b831117156200179657600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b811115620017e957600080fd5b820183602082011115620017fc57600080fd5b803590602001918460018302840111600160201b831117156200181e57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b8111156200187157600080fd5b8201836020820111156200188457600080fd5b803590602001918460018302840111600160201b83111715620018a657600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955062002eda945050505050565b6004546001600160a01b031633146200193657604051600160e51b62461bcd02815260040180806020018281038252602b815260200180620042e4602b913960400191505060405180910390fd5b600480546001600160a01b0319166001600160a01b0383169081179091556040517f01998ad4b0cc08b3e190adcb94d72b69479b3f817ea6a2b1fd960ce176610fd990600090a250565b600060026000620019928585620021b7565b815260208101919091526040016000205460ff169392505050565b3360009081526003602052604090205460ff1662001a0057604051600160e51b62461bcd0281526004018080602001828103825260448152602001806200430f6044913960600191505060405180910390fd5b6000816040516020018082805190602001908083835b6020831062001a375780518252601f19909201916020918201910162001a16565b51815160209384036101000a60001901801990921691161790526040805192909401828103601f190183528085528251928201929092206000818152600190925284822054600160e31b6315f526d702845294519097506001600160a01b03909416955063afa936b89450600480830194919350909182900301818387803b15801562001ac357600080fd5b505af115801562001ad8573d6000803e3d6000fd5b5050506000828152600160205260408082205490516001600160a01b0390911692507fd32fa8c4fe717dc0bf7abf756afbd22f6c56c9a985d5862571f2e73576cae2389190a2600090815260016020526040902080546001600160a01b031916905550565b600082826040516020018083805190602001908083835b6020831062001b755780518252601f19909201916020918201910162001b54565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b6020831062001bbf5780518252601f19909201916020918201910162001b9e565b6001836020036101000a0380198251168184511680821785525050505050509050019250505060405160208183030381529060405280519060200120905092915050565b3360009081526003602052604090205460ff1662001c5657604051600160e51b62461bcd0281526004018080602001828103825260448152602001806200430f6044913960600191505060405180910390fd5b8160016000836040516020018082805190602001908083835b6020831062001c905780518252601f19909201916020918201910162001c6f565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405280519060200120815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055505050565b60026020526000908152604090205460ff1681565b6004546001600160a01b0316331462001d6457604051600160e51b62461bcd02815260040180806020018281038252602b815260200180620042e4602b913960400191505060405180910390fd5b6001600160a01b038116600081815260036020908152604091829020805460ff19169055815192835290517fd5c7aece2cb58986279bb01fed2a4436ffe2a84c3c057995bf317f9030a7dac39281900390910190a150565b6004546001600160a01b0316331462001e0a57604051600160e51b62461bcd02815260040180806020018281038252602b815260200180620042e4602b913960400191505060405180910390fd5b6001600160a01b038116600081815260036020526040808220805460ff19166001179055517fa4a1a78d5a7a475cc16cdf30cd440485cce5817d6c693dfd725dee060070f89a9190a250565b6004546001600160a01b0316331462001ea457604051600160e51b62461bcd02815260040180806020018281038252602b815260200180620042e4602b913960400191505060405180910390fd5b600062001eb2838362001b3d565b600081815260208190526040808220548151600160e01b6315554c550281526001600160a01b038981166004830152925194955091169283926315554c55926024808201939182900301818387803b15801562001f0e57600080fd5b505af115801562001f23573d6000803e3d6000fd5b50506040516001600160a01b03881692507f0caca70b66aed56b0630989a049110023c5a3f37e0ea4b6ce96fc747663f3ebc9150600090a25050505050565b600080600062001f73848662001b3d565b81526020810191909152604001600020546001600160a01b03169392505050565b6004546001600160a01b0316331462001fe257604051600160e51b62461bcd02815260040180806020018281038252602b815260200180620042e4602b913960400191505060405180910390fd5b60016002600062001ff48585620021b7565b8152602081019190915260409081016000908120805460ff191693151593909317909255516001600160a01b038416917fa4a1a78d5a7a475cc16cdf30cd440485cce5817d6c693dfd725dee060070f89a91a25050565b80600260006200205c3384620021b7565b815260208101919091526040016000205460ff16806200208b57503360009081526003602052604090205460ff165b620020cb57604051600160e51b62461bcd0281526004018080602001828103825260448152602001806200430f6044913960600191505060405180910390fd5b6000620020d9848462001b3d565b600081815260208190526040808220548151600160e31b6315f526d702815291519394506001600160a01b03169263afa936b89260048084019391929182900301818387803b1580156200212c57600080fd5b505af115801562002141573d6000803e3d6000fd5b5050506000828152602081905260408082205490516001600160a01b0390911692507fd32fa8c4fe717dc0bf7abf756afbd22f6c56c9a985d5862571f2e73576cae2389190a2600090815260208190526040902080546001600160a01b0319169055505050565b6004546001600160a01b031681565b6000828260405160200180836001600160a01b03166001600160a01b031660601b815260140182805190602001908083836020831062001bbf5780518252601f19909201916020918201910162001b9e565b6001602052600090815260409020546001600160a01b031681565b6004546001600160a01b031633146200227257604051600160e51b62461bcd02815260040180806020018281038252602b815260200180620042e4602b913960400191505060405180910390fd5b60026000620022828484620021b7565b81526020808201929092526040908101600020805460ff1916905580516001600160a01b038516815290517fd5c7aece2cb58986279bb01fed2a4436ffe2a84c3c057995bf317f9030a7dac3929181900390910190a15050565b600060016000836040516020018082805190602001908083835b60208310620023175780518252601f199092019160209182019101620022f6565b51815160209384036101000a60001901801990921691161790526040805192909401828103601f190183528452815191810191909120865285019590955292909201600020546001600160a01b031695945050505050565b6004546001600160a01b03163314620023bd57604051600160e51b62461bcd02815260040180806020018281038252602b815260200180620042e4602b913960400191505060405180910390fd5b6000816040516020018082805190602001908083835b60208310620023f45780518252601f199092019160209182019101620023d3565b51815160209384036101000a60001901801990921691161790526040805192909401828103601f190183528085528251928201929092206000818152600190925284822054600160e01b6315554c550284526001600160a01b038b8116600486015295519198509490941695508594506315554c559360248084019450919290919082900301818387803b1580156200248c57600080fd5b505af1158015620024a1573d6000803e3d6000fd5b50506040516001600160a01b03871692507f0caca70b66aed56b0630989a049110023c5a3f37e0ea4b6ce96fc747663f3ebc9150600090a250505050565b60036020526000908152604090205460ff1681565b8060026000620025053384620021b7565b815260208101919091526040016000205460ff16806200253457503360009081526003602052604090205460ff165b6200257457604051600160e51b62461bcd0281526004018080602001828103825260448152602001806200430f6044913960600191505060405180910390fd5b82826000808062002586858562001b3d565b81526020810191909152604001600020546001600160a01b031614620025f65760408051600160e51b62461bcd02815260206004820152601860248201527f456e747279206578697374656420657863657074696f6e210000000000000000604482015290519081900360640190fd5b60008787604051620026089062003264565b9182526020820152604080519182900301906000f08015801562002630573d6000803e3d6000fd5b5090508060008062002643898962001b3d565b815260208101919091526040908101600090812080546001600160a01b0319166001600160a01b039485161790559051918316917ff8fd1e75d55c05f454a137f970ada2117aacbb976bcc934c84f3382616654dd69190a25050505050505050565b8060026000620026b63384620021b7565b815260208101919091526040016000205460ff1680620026e557503360009081526003602052604090205460ff165b6200272557604051600160e51b62461bcd0281526004018080602001828103825260448152602001806200430f6044913960600191505060405180910390fd5b8360008062002735868662001b3d565b815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b0316021790555050505050565b6000602081905290815260409020546001600160a01b031681565b8060026000620027993384620021b7565b815260208101919091526040016000205460ff1680620027c857503360009081526003602052604090205460ff165b6200280857604051600160e51b62461bcd0281526004018080602001828103825260448152602001806200430f6044913960600191505060405180910390fd5b8484848460008060006200281d858562001b3d565b815260200190815260200160002060009054906101000a90046001600160a01b03169050806001600160a01b0316633602175c6040518163ffffffff1660e01b815260040160206040518083038186803b1580156200287b57600080fd5b505afa15801562002890573d6000803e3d6000fd5b505050506040513d6020811015620028a757600080fd5b505160408051600160e11b637724a80102815290516001600160a01b0384169163ee495002916004808301926020929190829003018186803b158015620028ed57600080fd5b505afa15801562002902573d6000803e3d6000fd5b505050506040513d60208110156200291957600080fd5b505160408051602081810194909452808201929092528051808303820181526060830182528051908401206080830189905260a08084018990528251808503909101815260c0909301909152815191909201201415620029c35760408051600160e51b62461bcd02815260206004820181905260248201527f4475706c69636174656420686173682d76616c756520657863657074696f6e21604482015290519081900360640190fd5b6000806000620029d48b8b62001b3d565b8152602081019190915260409081016000908120548251600160e01b635f722859028152600481018f9052602481018e905292516001600160a01b0390911693508392635f72285992604480830193919282900301818387803b15801562002a3b57600080fd5b505af115801562002a50573d6000803e3d6000fd5b50506040516001600160a01b03841692507fdb4c1022fb756dd9bef34eb42bad50f2105fdce2c025bb80432433fcdb8745919150600090a25050505050505050505050565b3360009081526003602052604090205460ff1662002ae857604051600160e51b62461bcd0281526004018080602001828103825260448152602001806200430f6044913960600191505060405180910390fd5b6000886040516020018082805190602001908083835b6020831062002b1f5780518252601f19909201916020918201910162002afe565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405280519060200120905060008888888888888860405162002b739062003272565b808060200180602001806020018060200180602001806020018060200188810388528f818151815260200191508051906020019080838360005b8381101562002bc757818101518382015260200162002bad565b50505050905090810190601f16801562002bf55780820380516001836020036101000a031916815260200191505b5088810387528e818151815260200191508051906020019080838360005b8381101562002c2d57818101518382015260200162002c13565b50505050905090810190601f16801562002c5b5780820380516001836020036101000a031916815260200191505b5088810386528d5181528d516020918201918f019080838360005b8381101562002c9057818101518382015260200162002c76565b50505050905090810190601f16801562002cbe5780820380516001836020036101000a031916815260200191505b5088810385528c5181528c516020918201918e019080838360005b8381101562002cf357818101518382015260200162002cd9565b50505050905090810190601f16801562002d215780820380516001836020036101000a031916815260200191505b5088810384528b5181528b516020918201918d019080838360005b8381101562002d5657818101518382015260200162002d3c565b50505050905090810190601f16801562002d845780820380516001836020036101000a031916815260200191505b5088810383528a5181528a516020918201918c019080838360005b8381101562002db957818101518382015260200162002d9f565b50505050905090810190601f16801562002de75780820380516001836020036101000a031916815260200191505b5088810382528951815289516020918201918b019080838360005b8381101562002e1c57818101518382015260200162002e02565b50505050905090810190601f16801562002e4a5780820380516001836020036101000a031916815260200191505b509e505050505050505050505050505050604051809103906000f08015801562002e78573d6000803e3d6000fd5b5060008381526001602052604080822080546001600160a01b0319166001600160a01b0385169081179091559051929350917fbd14f8612bb7f813a3ad4d59dbbacbd5f0e8538edef56acf18e273d1146b38649190a250505050505050505050565b3360009081526003602052604090205460ff1662002f2d57604051600160e51b62461bcd0281526004018080602001828103825260448152602001806200430f6044913960600191505060405180910390fd5b6000866040516020018082805190602001908083835b6020831062002f645780518252601f19909201916020918201910162002f43565b51815160209384036101000a60001901801990921691161790526040805192909401828103601f1901835280855282519282019290922060008181526001835294852054600160e11b630a611fd502845260a0600485019081528e5160a48601528e519299506001600160a01b0390911697508796506314c23faa958e95508d948d948d948d94938493602481019360448201936064830193608484019360c401928e0191908190849084905b838110156200302b57818101518382015260200162003011565b50505050905090810190601f168015620030595780820380516001836020036101000a031916815260200191505b5086810385528a5181528a516020918201918c019080838360005b838110156200308e57818101518382015260200162003074565b50505050905090810190601f168015620030bc5780820380516001836020036101000a031916815260200191505b5086810384528951815289516020918201918b019080838360005b83811015620030f1578181015183820152602001620030d7565b50505050905090810190601f1680156200311f5780820380516001836020036101000a031916815260200191505b5086810383528851815288516020918201918a019080838360005b83811015620031545781810151838201526020016200313a565b50505050905090810190601f168015620031825780820380516001836020036101000a031916815260200191505b50868103825287518152875160209182019189019080838360005b83811015620031b75781810151838201526020016200319d565b50505050905090810190601f168015620031e55780820380516001836020036101000a031916815260200191505b509a5050505050505050505050600060405180830381600087803b1580156200320d57600080fd5b505af115801562003222573d6000803e3d6000fd5b50506040516001600160a01b03841692507f7f9054a40eb84d2fc9b4dce7e1f7da05c1299c7087579ac781f3b402632ec4309150600090a25050505050505050565b610327806200328183390190565b610d3c80620035a88339019056fe608060405234801561001057600080fd5b506040516040806103278339810180604052604081101561003057600080fd5b508051602090910151600080546001600160a01b031916331790556001919091556002556102c4806100636000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80635f7228591161005b5780635f722859146100e5578063afa936b814610108578063ed9aab5114610110578063ee495002146101345761007d565b806315554c55146100825780632b92b8e5146100aa5780633602175c146100cb575b600080fd5b6100a86004803603602081101561009857600080fd5b50356001600160a01b031661013c565b005b6100b26101aa565b6040805192835260208301919091528051918290030190f35b6100d36101b4565b60408051918252519081900360200190f35b6100a8600480360360408110156100fb57600080fd5b50803590602001356101ba565b6100a8610211565b610118610260565b604080516001600160a01b039092168252519081900360200190f35b6100d361026f565b6000546001600160a01b0316331461018857604051600160e51b62461bcd0281526004018080602001828103825260238152602001806102766023913960400191505060405180910390fd5b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001546002549091565b60015481565b6000546001600160a01b0316331461020657604051600160e51b62461bcd0281526004018080602001828103825260238152602001806102766023913960400191505060405180910390fd5b600191909155600255565b6000546001600160a01b0316331461025d57604051600160e51b62461bcd0281526004018080602001828103825260238152602001806102766023913960400191505060405180910390fd5b33ff5b6000546001600160a01b031681565b6002548156fe43616c6c20696e766f6b65642066726f6d20696e636f72726563742061646472657373a165627a7a72305820416db0a608aeb6d6761051fe86713b45a1bbe21bf823ba35841c78bfb077409d002960806040523480156200001157600080fd5b5060405162000d3c38038062000d3c833981018060405260e08110156200003757600080fd5b8101908080516401000000008111156200005057600080fd5b820160208101848111156200006457600080fd5b81516401000000008111828201871017156200007f57600080fd5b505092919060200180516401000000008111156200009c57600080fd5b82016020810184811115620000b057600080fd5b8151640100000000811182820187101715620000cb57600080fd5b50509291906020018051640100000000811115620000e857600080fd5b82016020810184811115620000fc57600080fd5b81516401000000008111828201871017156200011757600080fd5b505092919060200180516401000000008111156200013457600080fd5b820160208101848111156200014857600080fd5b81516401000000008111828201871017156200016357600080fd5b505092919060200180516401000000008111156200018057600080fd5b820160208101848111156200019457600080fd5b8151640100000000811182820187101715620001af57600080fd5b50509291906020018051640100000000811115620001cc57600080fd5b82016020810184811115620001e057600080fd5b8151640100000000811182820187101715620001fb57600080fd5b505092919060200180516401000000008111156200021857600080fd5b820160208101848111156200022c57600080fd5b81516401000000008111828201871017156200024757600080fd5b5050600080546001600160a01b0319163317905589519093506200027592506001915060208a019062000307565b5085516200028b90600290602089019062000307565b508451620002a190600390602088019062000307565b508351620002b790600490602087019062000307565b508251620002cd90600590602086019062000307565b508151620002e390600690602085019062000307565b508051620002f990600790602084019062000307565b5050505050505050620003ac565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200034a57805160ff19168380011785556200037a565b828001600101855582156200037a579182015b828111156200037a5782518255916020019190600101906200035d565b50620003889291506200038c565b5090565b620003a991905b8082111562000388576000815560010162000393565b90565b61098080620003bc6000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80633204ab14116100715780633204ab141461041b578063735b3f8e14610423578063a2240eb01461042b578063afa936b814610433578063e973fc7e1461043b578063ed9aab5114610443576100a9565b806314c23faa146100ae57806315554c5514610368578063218fd1c41461038e5780632d05fcb01461040b5780632e29a09214610413575b600080fd5b610366600480360360a08110156100c457600080fd5b810190602081018135600160201b8111156100de57600080fd5b8201836020820111156100f057600080fd5b803590602001918460018302840111600160201b8311171561011157600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b81111561016357600080fd5b82018360208201111561017557600080fd5b803590602001918460018302840111600160201b8311171561019657600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b8111156101e857600080fd5b8201836020820111156101fa57600080fd5b803590602001918460018302840111600160201b8311171561021b57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b81111561026d57600080fd5b82018360208201111561027f57600080fd5b803590602001918460018302840111600160201b831117156102a057600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b8111156102f257600080fd5b82018360208201111561030457600080fd5b803590602001918460018302840111600160201b8311171561032557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610467945050505050565b005b6103666004803603602081101561037e57600080fd5b50356001600160a01b031661051e565b61039661058c565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103d05781810151838201526020016103b8565b50505050905090810190601f1680156103fd5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610396610619565b610396610674565b6103966106cc565b610396610727565b610396610782565b6103666107dd565b61039661082c565b61044b610887565b604080516001600160a01b039092168252519081900360200190f35b6000546001600160a01b031633146104b357604051600160e51b62461bcd0281526004018080602001828103825260238152602001806109326023913960400191505060405180910390fd5b84516104c6906001906020880190610896565b5083516104da906002906020870190610896565b5082516104ee906004906020860190610896565b508151610502906005906020850190610896565b508051610516906006906020840190610896565b505050505050565b6000546001600160a01b0316331461056a57604051600160e51b62461bcd0281526004018080602001828103825260238152602001806109326023913960400191505060405180910390fd5b600080546001600160a01b0319166001600160a01b0392909216919091179055565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106115780601f106105e657610100808354040283529160200191610611565b820191906000526020600020905b8154815290600101906020018083116105f457829003601f168201915b505050505081565b6007805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106115780601f106105e657610100808354040283529160200191610611565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156106115780601f106105e657610100808354040283529160200191610611565b6005805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106115780601f106105e657610100808354040283529160200191610611565b6004805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106115780601f106105e657610100808354040283529160200191610611565b6006805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106115780601f106105e657610100808354040283529160200191610611565b6000546001600160a01b0316331461082957604051600160e51b62461bcd0281526004018080602001828103825260238152602001806109326023913960400191505060405180910390fd5b33ff5b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106115780601f106105e657610100808354040283529160200191610611565b6000546001600160a01b031681565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106108d757805160ff1916838001178555610904565b82800160010185558215610904579182015b828111156109045782518255916020019190600101906108e9565b50610910929150610914565b5090565b61092e91905b80821115610910576000815560010161091a565b9056fe43616c6c20696e766f6b65642066726f6d20696e636f72726563742061646472657373a165627a7a723058200e8de48cbe7ca7a8d349ac31c2b4b8898d1498ab407cc84ac86a4968452c782400294163636573732064656e6965642c207265717569726520676c6f62616c2061646d696e206163636f756e744163636573732064656e6965642c20506c65617365207573652066756e6374696f6e20776974682063657274696669636174652061646d696e2070726976696c65676573a165627a7a72305820639640f3117e053f16288259faddc1c89c79562b6dad921c2ac40cae705116a30029
Deployed Bytecode
0x60806040523480156200001157600080fd5b5060043610620001965760003560e01c8063a614d54e11620000f3578063c9a6811a11620000a5578063cfe6f220116200007b578063cfe6f2201462000fd5578063d2879f001462000ff5578063ea3045861462001133578063f8cae2e614620015965762000196565b8063c9a6811a1462000d2c578063cad3f18f1462000d55578063ccb07cf81462000e935762000196565b8063a614d54e1462000a2a578063ad9065611462000a34578063b56245261462000aee578063bb0bac7f1462000b0e578063be048d041462000bc8578063c16ab1f41462000c725762000196565b806323483e45116200014d57806323483e45146200055c5780632af7ecc714620005855780635e73a67914620005ae57806391dfee0014620006f05780639279fa09146200083e57806398ffab8c14620008f85762000196565b80630226ed48146200019b578063080ab54814620001c65780630ba9287814620002945780631c2672de146200033e578063211fddce146200048257806321446960146200053c575b600080fd5b620001c460048036036020811015620001b357600080fd5b50356001600160a01b0316620018e8565b005b6200028060048036036040811015620001de57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156200020957600080fd5b8201836020820111156200021c57600080fd5b803590602001918460018302840111600160201b831117156200023e57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955062001980945050505050565b604080519115158252519081900360200190f35b620001c460048036036020811015620002ac57600080fd5b810190602081018135600160201b811115620002c757600080fd5b820183602082011115620002da57600080fd5b803590602001918460018302840111600160201b83111715620002fc57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550620019ad945050505050565b62000470600480360360408110156200035657600080fd5b810190602081018135600160201b8111156200037157600080fd5b8201836020820111156200038457600080fd5b803590602001918460018302840111600160201b83111715620003a657600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b811115620003f957600080fd5b8201836020820111156200040c57600080fd5b803590602001918460018302840111600160201b831117156200042e57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955062001b3d945050505050565b60408051918252519081900360200190f35b620001c4600480360360408110156200049a57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b811115620004c557600080fd5b820183602082011115620004d857600080fd5b803590602001918460018302840111600160201b83111715620004fa57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955062001c03945050505050565b62000280600480360360208110156200055457600080fd5b503562001d01565b620001c4600480360360208110156200057457600080fd5b50356001600160a01b031662001d16565b620001c4600480360360208110156200059d57600080fd5b50356001600160a01b031662001dbc565b620001c460048036036060811015620005c657600080fd5b6001600160a01b038235169190810190604081016020820135600160201b811115620005f157600080fd5b8201836020820111156200060457600080fd5b803590602001918460018302840111600160201b831117156200062657600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b8111156200067957600080fd5b8201836020820111156200068c57600080fd5b803590602001918460018302840111600160201b83111715620006ae57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955062001e56945050505050565b62000822600480360360408110156200070857600080fd5b810190602081018135600160201b8111156200072357600080fd5b8201836020820111156200073657600080fd5b803590602001918460018302840111600160201b831117156200075857600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b811115620007ab57600080fd5b820183602082011115620007be57600080fd5b803590602001918460018302840111600160201b83111715620007e057600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955062001f62945050505050565b604080516001600160a01b039092168252519081900360200190f35b620001c4600480360360408110156200085657600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156200088157600080fd5b8201836020820111156200089457600080fd5b803590602001918460018302840111600160201b83111715620008b657600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955062001f94945050505050565b620001c4600480360360408110156200091057600080fd5b810190602081018135600160201b8111156200092b57600080fd5b8201836020820111156200093e57600080fd5b803590602001918460018302840111600160201b831117156200096057600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b811115620009b357600080fd5b820183602082011115620009c657600080fd5b803590602001918460018302840111600160201b83111715620009e857600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506200204b945050505050565b62000822620021a8565b620004706004803603604081101562000a4c57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111562000a7757600080fd5b82018360208201111562000a8a57600080fd5b803590602001918460018302840111600160201b8311171562000aac57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550620021b7945050505050565b620008226004803603602081101562000b0657600080fd5b503562002209565b620001c46004803603604081101562000b2657600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111562000b5157600080fd5b82018360208201111562000b6457600080fd5b803590602001918460018302840111600160201b8311171562000b8657600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955062002224945050505050565b620008226004803603602081101562000be057600080fd5b810190602081018135600160201b81111562000bfb57600080fd5b82018360208201111562000c0e57600080fd5b803590602001918460018302840111600160201b8311171562000c3057600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550620022dc945050505050565b620001c46004803603604081101562000c8a57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111562000cb557600080fd5b82018360208201111562000cc857600080fd5b803590602001918460018302840111600160201b8311171562000cea57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506200236f945050505050565b620002806004803603602081101562000d4457600080fd5b50356001600160a01b0316620024df565b620001c46004803603608081101562000d6d57600080fd5b813591602081013591810190606081016040820135600160201b81111562000d9457600080fd5b82018360208201111562000da757600080fd5b803590602001918460018302840111600160201b8311171562000dc957600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b81111562000e1c57600080fd5b82018360208201111562000e2f57600080fd5b803590602001918460018302840111600160201b8311171562000e5157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550620024f4945050505050565b620001c46004803603606081101562000eab57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111562000ed657600080fd5b82018360208201111562000ee957600080fd5b803590602001918460018302840111600160201b8311171562000f0b57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b81111562000f5e57600080fd5b82018360208201111562000f7157600080fd5b803590602001918460018302840111600160201b8311171562000f9357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550620026a5945050505050565b620008226004803603602081101562000fed57600080fd5b50356200276d565b620001c4600480360360808110156200100d57600080fd5b813591602081013591810190606081016040820135600160201b8111156200103457600080fd5b8201836020820111156200104757600080fd5b803590602001918460018302840111600160201b831117156200106957600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b811115620010bc57600080fd5b820183602082011115620010cf57600080fd5b803590602001918460018302840111600160201b83111715620010f157600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955062002788945050505050565b620001c460048036036101008110156200114c57600080fd5b810190602081018135600160201b8111156200116757600080fd5b8201836020820111156200117a57600080fd5b803590602001918460018302840111600160201b831117156200119c57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b811115620011ef57600080fd5b8201836020820111156200120257600080fd5b803590602001918460018302840111600160201b831117156200122457600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b8111156200127757600080fd5b8201836020820111156200128a57600080fd5b803590602001918460018302840111600160201b83111715620012ac57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b811115620012ff57600080fd5b8201836020820111156200131257600080fd5b803590602001918460018302840111600160201b831117156200133457600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b8111156200138757600080fd5b8201836020820111156200139a57600080fd5b803590602001918460018302840111600160201b83111715620013bc57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b8111156200140f57600080fd5b8201836020820111156200142257600080fd5b803590602001918460018302840111600160201b831117156200144457600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b8111156200149757600080fd5b820183602082011115620014aa57600080fd5b803590602001918460018302840111600160201b83111715620014cc57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b8111156200151f57600080fd5b8201836020820111156200153257600080fd5b803590602001918460018302840111600160201b831117156200155457600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955062002a95945050505050565b620001c4600480360360c0811015620015ae57600080fd5b810190602081018135600160201b811115620015c957600080fd5b820183602082011115620015dc57600080fd5b803590602001918460018302840111600160201b83111715620015fe57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b8111156200165157600080fd5b8201836020820111156200166457600080fd5b803590602001918460018302840111600160201b831117156200168657600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b811115620016d957600080fd5b820183602082011115620016ec57600080fd5b803590602001918460018302840111600160201b831117156200170e57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b8111156200176157600080fd5b8201836020820111156200177457600080fd5b803590602001918460018302840111600160201b831117156200179657600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b811115620017e957600080fd5b820183602082011115620017fc57600080fd5b803590602001918460018302840111600160201b831117156200181e57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b8111156200187157600080fd5b8201836020820111156200188457600080fd5b803590602001918460018302840111600160201b83111715620018a657600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955062002eda945050505050565b6004546001600160a01b031633146200193657604051600160e51b62461bcd02815260040180806020018281038252602b815260200180620042e4602b913960400191505060405180910390fd5b600480546001600160a01b0319166001600160a01b0383169081179091556040517f01998ad4b0cc08b3e190adcb94d72b69479b3f817ea6a2b1fd960ce176610fd990600090a250565b600060026000620019928585620021b7565b815260208101919091526040016000205460ff169392505050565b3360009081526003602052604090205460ff1662001a0057604051600160e51b62461bcd0281526004018080602001828103825260448152602001806200430f6044913960600191505060405180910390fd5b6000816040516020018082805190602001908083835b6020831062001a375780518252601f19909201916020918201910162001a16565b51815160209384036101000a60001901801990921691161790526040805192909401828103601f190183528085528251928201929092206000818152600190925284822054600160e31b6315f526d702845294519097506001600160a01b03909416955063afa936b89450600480830194919350909182900301818387803b15801562001ac357600080fd5b505af115801562001ad8573d6000803e3d6000fd5b5050506000828152600160205260408082205490516001600160a01b0390911692507fd32fa8c4fe717dc0bf7abf756afbd22f6c56c9a985d5862571f2e73576cae2389190a2600090815260016020526040902080546001600160a01b031916905550565b600082826040516020018083805190602001908083835b6020831062001b755780518252601f19909201916020918201910162001b54565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b6020831062001bbf5780518252601f19909201916020918201910162001b9e565b6001836020036101000a0380198251168184511680821785525050505050509050019250505060405160208183030381529060405280519060200120905092915050565b3360009081526003602052604090205460ff1662001c5657604051600160e51b62461bcd0281526004018080602001828103825260448152602001806200430f6044913960600191505060405180910390fd5b8160016000836040516020018082805190602001908083835b6020831062001c905780518252601f19909201916020918201910162001c6f565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405280519060200120815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055505050565b60026020526000908152604090205460ff1681565b6004546001600160a01b0316331462001d6457604051600160e51b62461bcd02815260040180806020018281038252602b815260200180620042e4602b913960400191505060405180910390fd5b6001600160a01b038116600081815260036020908152604091829020805460ff19169055815192835290517fd5c7aece2cb58986279bb01fed2a4436ffe2a84c3c057995bf317f9030a7dac39281900390910190a150565b6004546001600160a01b0316331462001e0a57604051600160e51b62461bcd02815260040180806020018281038252602b815260200180620042e4602b913960400191505060405180910390fd5b6001600160a01b038116600081815260036020526040808220805460ff19166001179055517fa4a1a78d5a7a475cc16cdf30cd440485cce5817d6c693dfd725dee060070f89a9190a250565b6004546001600160a01b0316331462001ea457604051600160e51b62461bcd02815260040180806020018281038252602b815260200180620042e4602b913960400191505060405180910390fd5b600062001eb2838362001b3d565b600081815260208190526040808220548151600160e01b6315554c550281526001600160a01b038981166004830152925194955091169283926315554c55926024808201939182900301818387803b15801562001f0e57600080fd5b505af115801562001f23573d6000803e3d6000fd5b50506040516001600160a01b03881692507f0caca70b66aed56b0630989a049110023c5a3f37e0ea4b6ce96fc747663f3ebc9150600090a25050505050565b600080600062001f73848662001b3d565b81526020810191909152604001600020546001600160a01b03169392505050565b6004546001600160a01b0316331462001fe257604051600160e51b62461bcd02815260040180806020018281038252602b815260200180620042e4602b913960400191505060405180910390fd5b60016002600062001ff48585620021b7565b8152602081019190915260409081016000908120805460ff191693151593909317909255516001600160a01b038416917fa4a1a78d5a7a475cc16cdf30cd440485cce5817d6c693dfd725dee060070f89a91a25050565b80600260006200205c3384620021b7565b815260208101919091526040016000205460ff16806200208b57503360009081526003602052604090205460ff165b620020cb57604051600160e51b62461bcd0281526004018080602001828103825260448152602001806200430f6044913960600191505060405180910390fd5b6000620020d9848462001b3d565b600081815260208190526040808220548151600160e31b6315f526d702815291519394506001600160a01b03169263afa936b89260048084019391929182900301818387803b1580156200212c57600080fd5b505af115801562002141573d6000803e3d6000fd5b5050506000828152602081905260408082205490516001600160a01b0390911692507fd32fa8c4fe717dc0bf7abf756afbd22f6c56c9a985d5862571f2e73576cae2389190a2600090815260208190526040902080546001600160a01b0319169055505050565b6004546001600160a01b031681565b6000828260405160200180836001600160a01b03166001600160a01b031660601b815260140182805190602001908083836020831062001bbf5780518252601f19909201916020918201910162001b9e565b6001602052600090815260409020546001600160a01b031681565b6004546001600160a01b031633146200227257604051600160e51b62461bcd02815260040180806020018281038252602b815260200180620042e4602b913960400191505060405180910390fd5b60026000620022828484620021b7565b81526020808201929092526040908101600020805460ff1916905580516001600160a01b038516815290517fd5c7aece2cb58986279bb01fed2a4436ffe2a84c3c057995bf317f9030a7dac3929181900390910190a15050565b600060016000836040516020018082805190602001908083835b60208310620023175780518252601f199092019160209182019101620022f6565b51815160209384036101000a60001901801990921691161790526040805192909401828103601f190183528452815191810191909120865285019590955292909201600020546001600160a01b031695945050505050565b6004546001600160a01b03163314620023bd57604051600160e51b62461bcd02815260040180806020018281038252602b815260200180620042e4602b913960400191505060405180910390fd5b6000816040516020018082805190602001908083835b60208310620023f45780518252601f199092019160209182019101620023d3565b51815160209384036101000a60001901801990921691161790526040805192909401828103601f190183528085528251928201929092206000818152600190925284822054600160e01b6315554c550284526001600160a01b038b8116600486015295519198509490941695508594506315554c559360248084019450919290919082900301818387803b1580156200248c57600080fd5b505af1158015620024a1573d6000803e3d6000fd5b50506040516001600160a01b03871692507f0caca70b66aed56b0630989a049110023c5a3f37e0ea4b6ce96fc747663f3ebc9150600090a250505050565b60036020526000908152604090205460ff1681565b8060026000620025053384620021b7565b815260208101919091526040016000205460ff16806200253457503360009081526003602052604090205460ff165b6200257457604051600160e51b62461bcd0281526004018080602001828103825260448152602001806200430f6044913960600191505060405180910390fd5b82826000808062002586858562001b3d565b81526020810191909152604001600020546001600160a01b031614620025f65760408051600160e51b62461bcd02815260206004820152601860248201527f456e747279206578697374656420657863657074696f6e210000000000000000604482015290519081900360640190fd5b60008787604051620026089062003264565b9182526020820152604080519182900301906000f08015801562002630573d6000803e3d6000fd5b5090508060008062002643898962001b3d565b815260208101919091526040908101600090812080546001600160a01b0319166001600160a01b039485161790559051918316917ff8fd1e75d55c05f454a137f970ada2117aacbb976bcc934c84f3382616654dd69190a25050505050505050565b8060026000620026b63384620021b7565b815260208101919091526040016000205460ff1680620026e557503360009081526003602052604090205460ff165b6200272557604051600160e51b62461bcd0281526004018080602001828103825260448152602001806200430f6044913960600191505060405180910390fd5b8360008062002735868662001b3d565b815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b0316021790555050505050565b6000602081905290815260409020546001600160a01b031681565b8060026000620027993384620021b7565b815260208101919091526040016000205460ff1680620027c857503360009081526003602052604090205460ff165b6200280857604051600160e51b62461bcd0281526004018080602001828103825260448152602001806200430f6044913960600191505060405180910390fd5b8484848460008060006200281d858562001b3d565b815260200190815260200160002060009054906101000a90046001600160a01b03169050806001600160a01b0316633602175c6040518163ffffffff1660e01b815260040160206040518083038186803b1580156200287b57600080fd5b505afa15801562002890573d6000803e3d6000fd5b505050506040513d6020811015620028a757600080fd5b505160408051600160e11b637724a80102815290516001600160a01b0384169163ee495002916004808301926020929190829003018186803b158015620028ed57600080fd5b505afa15801562002902573d6000803e3d6000fd5b505050506040513d60208110156200291957600080fd5b505160408051602081810194909452808201929092528051808303820181526060830182528051908401206080830189905260a08084018990528251808503909101815260c0909301909152815191909201201415620029c35760408051600160e51b62461bcd02815260206004820181905260248201527f4475706c69636174656420686173682d76616c756520657863657074696f6e21604482015290519081900360640190fd5b6000806000620029d48b8b62001b3d565b8152602081019190915260409081016000908120548251600160e01b635f722859028152600481018f9052602481018e905292516001600160a01b0390911693508392635f72285992604480830193919282900301818387803b15801562002a3b57600080fd5b505af115801562002a50573d6000803e3d6000fd5b50506040516001600160a01b03841692507fdb4c1022fb756dd9bef34eb42bad50f2105fdce2c025bb80432433fcdb8745919150600090a25050505050505050505050565b3360009081526003602052604090205460ff1662002ae857604051600160e51b62461bcd0281526004018080602001828103825260448152602001806200430f6044913960600191505060405180910390fd5b6000886040516020018082805190602001908083835b6020831062002b1f5780518252601f19909201916020918201910162002afe565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405280519060200120905060008888888888888860405162002b739062003272565b808060200180602001806020018060200180602001806020018060200188810388528f818151815260200191508051906020019080838360005b8381101562002bc757818101518382015260200162002bad565b50505050905090810190601f16801562002bf55780820380516001836020036101000a031916815260200191505b5088810387528e818151815260200191508051906020019080838360005b8381101562002c2d57818101518382015260200162002c13565b50505050905090810190601f16801562002c5b5780820380516001836020036101000a031916815260200191505b5088810386528d5181528d516020918201918f019080838360005b8381101562002c9057818101518382015260200162002c76565b50505050905090810190601f16801562002cbe5780820380516001836020036101000a031916815260200191505b5088810385528c5181528c516020918201918e019080838360005b8381101562002cf357818101518382015260200162002cd9565b50505050905090810190601f16801562002d215780820380516001836020036101000a031916815260200191505b5088810384528b5181528b516020918201918d019080838360005b8381101562002d5657818101518382015260200162002d3c565b50505050905090810190601f16801562002d845780820380516001836020036101000a031916815260200191505b5088810383528a5181528a516020918201918c019080838360005b8381101562002db957818101518382015260200162002d9f565b50505050905090810190601f16801562002de75780820380516001836020036101000a031916815260200191505b5088810382528951815289516020918201918b019080838360005b8381101562002e1c57818101518382015260200162002e02565b50505050905090810190601f16801562002e4a5780820380516001836020036101000a031916815260200191505b509e505050505050505050505050505050604051809103906000f08015801562002e78573d6000803e3d6000fd5b5060008381526001602052604080822080546001600160a01b0319166001600160a01b0385169081179091559051929350917fbd14f8612bb7f813a3ad4d59dbbacbd5f0e8538edef56acf18e273d1146b38649190a250505050505050505050565b3360009081526003602052604090205460ff1662002f2d57604051600160e51b62461bcd0281526004018080602001828103825260448152602001806200430f6044913960600191505060405180910390fd5b6000866040516020018082805190602001908083835b6020831062002f645780518252601f19909201916020918201910162002f43565b51815160209384036101000a60001901801990921691161790526040805192909401828103601f1901835280855282519282019290922060008181526001835294852054600160e11b630a611fd502845260a0600485019081528e5160a48601528e519299506001600160a01b0390911697508796506314c23faa958e95508d948d948d948d94938493602481019360448201936064830193608484019360c401928e0191908190849084905b838110156200302b57818101518382015260200162003011565b50505050905090810190601f168015620030595780820380516001836020036101000a031916815260200191505b5086810385528a5181528a516020918201918c019080838360005b838110156200308e57818101518382015260200162003074565b50505050905090810190601f168015620030bc5780820380516001836020036101000a031916815260200191505b5086810384528951815289516020918201918b019080838360005b83811015620030f1578181015183820152602001620030d7565b50505050905090810190601f1680156200311f5780820380516001836020036101000a031916815260200191505b5086810383528851815288516020918201918a019080838360005b83811015620031545781810151838201526020016200313a565b50505050905090810190601f168015620031825780820380516001836020036101000a031916815260200191505b50868103825287518152875160209182019189019080838360005b83811015620031b75781810151838201526020016200319d565b50505050905090810190601f168015620031e55780820380516001836020036101000a031916815260200191505b509a5050505050505050505050600060405180830381600087803b1580156200320d57600080fd5b505af115801562003222573d6000803e3d6000fd5b50506040516001600160a01b03841692507f7f9054a40eb84d2fc9b4dce7e1f7da05c1299c7087579ac781f3b402632ec4309150600090a25050505050505050565b610327806200328183390190565b610d3c80620035a88339019056fe608060405234801561001057600080fd5b506040516040806103278339810180604052604081101561003057600080fd5b508051602090910151600080546001600160a01b031916331790556001919091556002556102c4806100636000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80635f7228591161005b5780635f722859146100e5578063afa936b814610108578063ed9aab5114610110578063ee495002146101345761007d565b806315554c55146100825780632b92b8e5146100aa5780633602175c146100cb575b600080fd5b6100a86004803603602081101561009857600080fd5b50356001600160a01b031661013c565b005b6100b26101aa565b6040805192835260208301919091528051918290030190f35b6100d36101b4565b60408051918252519081900360200190f35b6100a8600480360360408110156100fb57600080fd5b50803590602001356101ba565b6100a8610211565b610118610260565b604080516001600160a01b039092168252519081900360200190f35b6100d361026f565b6000546001600160a01b0316331461018857604051600160e51b62461bcd0281526004018080602001828103825260238152602001806102766023913960400191505060405180910390fd5b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001546002549091565b60015481565b6000546001600160a01b0316331461020657604051600160e51b62461bcd0281526004018080602001828103825260238152602001806102766023913960400191505060405180910390fd5b600191909155600255565b6000546001600160a01b0316331461025d57604051600160e51b62461bcd0281526004018080602001828103825260238152602001806102766023913960400191505060405180910390fd5b33ff5b6000546001600160a01b031681565b6002548156fe43616c6c20696e766f6b65642066726f6d20696e636f72726563742061646472657373a165627a7a72305820416db0a608aeb6d6761051fe86713b45a1bbe21bf823ba35841c78bfb077409d002960806040523480156200001157600080fd5b5060405162000d3c38038062000d3c833981018060405260e08110156200003757600080fd5b8101908080516401000000008111156200005057600080fd5b820160208101848111156200006457600080fd5b81516401000000008111828201871017156200007f57600080fd5b505092919060200180516401000000008111156200009c57600080fd5b82016020810184811115620000b057600080fd5b8151640100000000811182820187101715620000cb57600080fd5b50509291906020018051640100000000811115620000e857600080fd5b82016020810184811115620000fc57600080fd5b81516401000000008111828201871017156200011757600080fd5b505092919060200180516401000000008111156200013457600080fd5b820160208101848111156200014857600080fd5b81516401000000008111828201871017156200016357600080fd5b505092919060200180516401000000008111156200018057600080fd5b820160208101848111156200019457600080fd5b8151640100000000811182820187101715620001af57600080fd5b50509291906020018051640100000000811115620001cc57600080fd5b82016020810184811115620001e057600080fd5b8151640100000000811182820187101715620001fb57600080fd5b505092919060200180516401000000008111156200021857600080fd5b820160208101848111156200022c57600080fd5b81516401000000008111828201871017156200024757600080fd5b5050600080546001600160a01b0319163317905589519093506200027592506001915060208a019062000307565b5085516200028b90600290602089019062000307565b508451620002a190600390602088019062000307565b508351620002b790600490602087019062000307565b508251620002cd90600590602086019062000307565b508151620002e390600690602085019062000307565b508051620002f990600790602084019062000307565b5050505050505050620003ac565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200034a57805160ff19168380011785556200037a565b828001600101855582156200037a579182015b828111156200037a5782518255916020019190600101906200035d565b50620003889291506200038c565b5090565b620003a991905b8082111562000388576000815560010162000393565b90565b61098080620003bc6000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80633204ab14116100715780633204ab141461041b578063735b3f8e14610423578063a2240eb01461042b578063afa936b814610433578063e973fc7e1461043b578063ed9aab5114610443576100a9565b806314c23faa146100ae57806315554c5514610368578063218fd1c41461038e5780632d05fcb01461040b5780632e29a09214610413575b600080fd5b610366600480360360a08110156100c457600080fd5b810190602081018135600160201b8111156100de57600080fd5b8201836020820111156100f057600080fd5b803590602001918460018302840111600160201b8311171561011157600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b81111561016357600080fd5b82018360208201111561017557600080fd5b803590602001918460018302840111600160201b8311171561019657600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b8111156101e857600080fd5b8201836020820111156101fa57600080fd5b803590602001918460018302840111600160201b8311171561021b57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b81111561026d57600080fd5b82018360208201111561027f57600080fd5b803590602001918460018302840111600160201b831117156102a057600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b8111156102f257600080fd5b82018360208201111561030457600080fd5b803590602001918460018302840111600160201b8311171561032557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610467945050505050565b005b6103666004803603602081101561037e57600080fd5b50356001600160a01b031661051e565b61039661058c565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103d05781810151838201526020016103b8565b50505050905090810190601f1680156103fd5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610396610619565b610396610674565b6103966106cc565b610396610727565b610396610782565b6103666107dd565b61039661082c565b61044b610887565b604080516001600160a01b039092168252519081900360200190f35b6000546001600160a01b031633146104b357604051600160e51b62461bcd0281526004018080602001828103825260238152602001806109326023913960400191505060405180910390fd5b84516104c6906001906020880190610896565b5083516104da906002906020870190610896565b5082516104ee906004906020860190610896565b508151610502906005906020850190610896565b508051610516906006906020840190610896565b505050505050565b6000546001600160a01b0316331461056a57604051600160e51b62461bcd0281526004018080602001828103825260238152602001806109326023913960400191505060405180910390fd5b600080546001600160a01b0319166001600160a01b0392909216919091179055565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106115780601f106105e657610100808354040283529160200191610611565b820191906000526020600020905b8154815290600101906020018083116105f457829003601f168201915b505050505081565b6007805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106115780601f106105e657610100808354040283529160200191610611565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156106115780601f106105e657610100808354040283529160200191610611565b6005805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106115780601f106105e657610100808354040283529160200191610611565b6004805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106115780601f106105e657610100808354040283529160200191610611565b6006805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106115780601f106105e657610100808354040283529160200191610611565b6000546001600160a01b0316331461082957604051600160e51b62461bcd0281526004018080602001828103825260238152602001806109326023913960400191505060405180910390fd5b33ff5b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106115780601f106105e657610100808354040283529160200191610611565b6000546001600160a01b031681565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106108d757805160ff1916838001178555610904565b82800160010185558215610904579182015b828111156109045782518255916020019190600101906108e9565b50610910929150610914565b5090565b61092e91905b80821115610910576000815560010161091a565b9056fe43616c6c20696e766f6b65642066726f6d20696e636f72726563742061646472657373a165627a7a723058200e8de48cbe7ca7a8d349ac31c2b4b8898d1498ab407cc84ac86a4968452c782400294163636573732064656e6965642c207265717569726520676c6f62616c2061646d696e206163636f756e744163636573732064656e6965642c20506c65617365207573652066756e6374696f6e20776974682063657274696669636174652061646d696e2070726976696c65676573a165627a7a72305820639640f3117e053f16288259faddc1c89c79562b6dad921c2ac40cae705116a30029
Deployed Bytecode Sourcemap
4290:15412:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4290:15412:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13800:165;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13800:165:0;-1:-1:-1;;;;;13800:165:0;;:::i;:::-;;15011:229;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;15011:229:0;;;;;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;15011:229:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;15011:229:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;15011:229:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;15011:229:0;;-1:-1:-1;15011:229:0;;-1:-1:-1;;;;;15011:229:0:i;:::-;;;;;;;;;;;;;;;;;;10507:425;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10507:425:0;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;10507:425:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;10507:425:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;10507:425:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;10507:425:0;;-1:-1:-1;10507:425:0;;-1:-1:-1;;;;;10507:425:0:i;15736:251::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15736:251:0;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;15736:251:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;15736:251:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;15736:251:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;15736:251:0;;;;;;;;-1:-1:-1;15736:251:0;;-1:-1:-1;;;;;5:28;;2:2;;;46:1;43;36:12;2:2;15736:251:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;15736:251:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;15736:251:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;15736:251:0;;-1:-1:-1;15736:251:0;;-1:-1:-1;;;;;15736:251:0:i;:::-;;;;;;;;;;;;;;;;17444:258;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;17444:258:0;;;;;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;17444:258:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;17444:258:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;17444:258:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;17444:258:0;;-1:-1:-1;17444:258:0;;-1:-1:-1;;;;;17444:258:0:i;5153:44::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5153:44:0;;:::i;13395:167::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13395:167:0;-1:-1:-1;;;;;13395:167:0;;:::i;12995:165::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;12995:165:0;-1:-1:-1;;;;;12995:165:0;;:::i;16370:467::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;16370:467:0;;;;;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;16370:467:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;16370:467:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;16370:467:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;16370:467:0;;;;;;;;-1:-1:-1;16370:467:0;;-1:-1:-1;;;;;5:28;;2:2;;;46:1;43;36:12;2:2;16370:467:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;16370:467:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;16370:467:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;16370:467:0;;-1:-1:-1;16370:467:0;;-1:-1:-1;;;;;16370:467:0:i;14274:264::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14274:264:0;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;14274:264:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;14274:264:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;14274:264:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;14274:264:0;;;;;;;;-1:-1:-1;14274:264:0;;-1:-1:-1;;;;;5:28;;2:2;;;46:1;43;36:12;2:2;14274:264:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;14274:264:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;14274:264:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;14274:264:0;;-1:-1:-1;14274:264:0;;-1:-1:-1;;;;;14274:264:0:i;:::-;;;;-1:-1:-1;;;;;14274:264:0;;;;;;;;;;;;;;12002:242;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;12002:242:0;;;;;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;12002:242:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;12002:242:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;12002:242:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;12002:242:0;;-1:-1:-1;12002:242:0;;-1:-1:-1;;;;;12002:242:0:i;11231:481::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11231:481:0;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;11231:481:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;11231:481:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;11231:481:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;11231:481:0;;;;;;;;-1:-1:-1;11231:481:0;;-1:-1:-1;;;;;5:28;;2:2;;;46:1;43;36:12;2:2;11231:481:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;11231:481:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;11231:481:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;11231:481:0;;-1:-1:-1;11231:481:0;;-1:-1:-1;;;;;11231:481:0:i;5480:26::-;;;:::i;15997:219::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;15997:219:0;;;;;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;15997:219:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;15997:219:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;15997:219:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;15997:219:0;;-1:-1:-1;15997:219:0;;-1:-1:-1;;;;;15997:219:0:i;4834:61::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4834:61:0;;:::i;12536:236::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;12536:236:0;;;;;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;12536:236:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;12536:236:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;12536:236:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;12536:236:0;;-1:-1:-1;12536:236:0;;-1:-1:-1;;;;;12536:236:0:i;14755:246::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14755:246:0;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;14755:246:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;14755:246:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;14755:246:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;14755:246:0;;-1:-1:-1;14755:246:0;;-1:-1:-1;;;;;14755:246:0:i;16999:437::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;16999:437:0;;;;;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;16999:437:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;16999:437:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;16999:437:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;16999:437:0;;-1:-1:-1;16999:437:0;;-1:-1:-1;;;;;16999:437:0:i;5359:48::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5359:48:0;-1:-1:-1;;;;;5359:48:0;;:::i;9165:583::-;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;9165:583:0;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;9165:583:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;9165:583:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;9165:583:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;9165:583:0;;;;;;;;-1:-1:-1;9165:583:0;;-1:-1:-1;;;;;5:28;;2:2;;;46:1;43;36:12;2:2;9165:583:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;9165:583:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;9165:583:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;9165:583:0;;-1:-1:-1;9165:583:0;;-1:-1:-1;;;;;9165:583:0:i;17710:310::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;17710:310:0;;;;;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;17710:310:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;17710:310:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;17710:310:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;17710:310:0;;;;;;;;-1:-1:-1;17710:310:0;;-1:-1:-1;;;;;5:28;;2:2;;;46:1;43;36:12;2:2;17710:310:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;17710:310:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;17710:310:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;17710:310:0;;-1:-1:-1;17710:310:0;;-1:-1:-1;;;;;17710:310:0:i;4771:56::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4771:56:0;;:::i;9756:514::-;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;9756:514:0;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;9756:514:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;9756:514:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;9756:514:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;9756:514:0;;;;;;;;-1:-1:-1;9756:514:0;;-1:-1:-1;;;;;5:28;;2:2;;;46:1;43;36:12;2:2;9756:514:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;9756:514:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;9756:514:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;9756:514:0;;-1:-1:-1;9756:514:0;;-1:-1:-1;;;;;9756:514:0:i;6990:878::-;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;6990:878:0;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;6990:878:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6990:878:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;6990:878:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;6990:878:0;;;;;;;;-1:-1:-1;6990:878:0;;-1:-1:-1;;;;;5:28;;2:2;;;46:1;43;36:12;2:2;6990:878:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6990:878:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;6990:878:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;6990:878:0;;;;;;;;-1:-1:-1;6990:878:0;;-1:-1:-1;;;;;5:28;;2:2;;;46:1;43;36:12;2:2;6990:878:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6990:878:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;6990:878:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;6990:878:0;;;;;;;;-1:-1:-1;6990:878:0;;-1:-1:-1;;;;;5:28;;2:2;;;46:1;43;36:12;2:2;6990:878:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6990:878:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;6990:878:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;6990:878:0;;;;;;;;-1:-1:-1;6990:878:0;;-1:-1:-1;;;;;5:28;;2:2;;;46:1;43;36:12;2:2;6990:878:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6990:878:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;6990:878:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;6990:878:0;;;;;;;;-1:-1:-1;6990:878:0;;-1:-1:-1;;;;;5:28;;2:2;;;46:1;43;36:12;2:2;6990:878:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6990:878:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;6990:878:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;6990:878:0;;;;;;;;-1:-1:-1;6990:878:0;;-1:-1:-1;;;;;5:28;;2:2;;;46:1;43;36:12;2:2;6990:878:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6990:878:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;6990:878:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;6990:878:0;;;;;;;;-1:-1:-1;6990:878:0;;-1:-1:-1;;;;;5:28;;2:2;;;46:1;43;36:12;2:2;6990:878:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6990:878:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;6990:878:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;6990:878:0;;-1:-1:-1;6990:878:0;;-1:-1:-1;;;;;6990:878:0:i;8443:716::-;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;8443:716:0;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;8443:716:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;8443:716:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;8443:716:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;8443:716:0;;;;;;;;-1:-1:-1;8443:716:0;;-1:-1:-1;;;;;5:28;;2:2;;;46:1;43;36:12;2:2;8443:716:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;8443:716:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;8443:716:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;8443:716:0;;;;;;;;-1:-1:-1;8443:716:0;;-1:-1:-1;;;;;5:28;;2:2;;;46:1;43;36:12;2:2;8443:716:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;8443:716:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;8443:716:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;8443:716:0;;;;;;;;-1:-1:-1;8443:716:0;;-1:-1:-1;;;;;5:28;;2:2;;;46:1;43;36:12;2:2;8443:716:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;8443:716:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;8443:716:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;8443:716:0;;;;;;;;-1:-1:-1;8443:716:0;;-1:-1:-1;;;;;5:28;;2:2;;;46:1;43;36:12;2:2;8443:716:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;8443:716:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;8443:716:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;8443:716:0;;;;;;;;-1:-1:-1;8443:716:0;;-1:-1:-1;;;;;5:28;;2:2;;;46:1;43;36:12;2:2;8443:716:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;8443:716:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;8443:716:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;8443:716:0;;-1:-1:-1;8443:716:0;;-1:-1:-1;;;;;8443:716:0:i;13800:165::-;18198:11;;-1:-1:-1;;;;;18198:11:0;18184:10;:25;18176:81;;;;-1:-1:-1;;;;;18176:81:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13883:11;:24;;-1:-1:-1;;;;;;13883:24:0;-1:-1:-1;;;;;13883:24:0;;;;;;;;13923:32;;;;-1:-1:-1;;13923:32:0;13800:165;:::o;15011:229::-;15148:4;15177:10;:55;15188:43;15203:10;15215:15;15188:14;:43::i;:::-;15177:55;;;;;;;;;;;-1:-1:-1;15177:55:0;;;;;15011:229;-1:-1:-1;;;15011:229:0:o;10507:425::-;18732:10;18716:27;;;;:15;:27;;;;;;;;18708:108;;;;-1:-1:-1;;;;;18708:108:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10635:15;10680:22;10663:40;;;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;10663:40:0;;;;;;;26:21:-1;;;-1:-1;;22:32;6:49;;10663:40:0;;;10653:51;;;;;;;;;-1:-1:-1;10743:34:0;;;274:1:-1;10743:34:0;;;;;;;-1:-1:-1;;;;;10715:83:0;;;;10653:51;;-1:-1:-1;;;;;;10743:34:0;;;;-1:-1:-1;10715:81:0;;-1:-1:-1;10715:83:0;;;;;-1:-1:-1;;;10715:83:0;;;;;;;-1:-1:-1;10743:34:0;10715:83;;;5:2:-1;;;;30:1;27;20:12;5:2;10715:83:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;;10837:34:0;;;;:25;:34;;;;;;;10816:56;;-1:-1:-1;;;;;10837:34:0;;;;-1:-1:-1;10816:56:0;;10837:34;10816:56;10890:34;;;;:25;:34;;;;;10883:41;;-1:-1:-1;;;;;;10883:41:0;;;-1:-1:-1;10507:425:0:o;15736:251::-;15879:7;15938:22;15962:15;15921:57;;;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;15921:57:0;;;;;;;;;;-1:-1:-1;15921:57:0;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;15921:57:0;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;15921:57:0;;;15911:68;;;;;;15904:75;;15736:251;;;;:::o;17444:258::-;18732:10;18716:27;;;;:15;:27;;;;;;;;18708:108;;;;-1:-1:-1;;;;;18708:108:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17683:11;17602:25;:78;17655:22;17638:40;;;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;17638:40:0;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;17638:40:0;;;17628:51;;;;;;17602:78;;;;;;;;;;;;:92;;;;;-1:-1:-1;;;;;17602:92:0;;;;;-1:-1:-1;;;;;17602:92:0;;;;;;17444:258;;:::o;5153:44::-;;;;;;;;;;;;;;;:::o;13395:167::-;18198:11;;-1:-1:-1;;;;;18198:11:0;18184:10;:25;18176:81;;;;-1:-1:-1;;;;;18176:81:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13483:27:0;;;;;;:15;:27;;;;;;;;;13476:34;;-1:-1:-1;;13476:34:0;;;13526:28;;;;;;;;;;;;;;;;;13395:167;:::o;12995:165::-;18198:11;;-1:-1:-1;;;;;18198:11:0;18184:10;:25;18176:81;;;;-1:-1:-1;;;;;18176:81:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13076:27:0;;;;;;:15;:27;;;;;;:34;;-1:-1:-1;;13076:34:0;13106:4;13076:34;;;13126:26;;;13076:27;13126:26;12995:165;:::o;16370:467::-;18198:11;;-1:-1:-1;;;;;18198:11:0;18184:10;:25;18176:81;;;;-1:-1:-1;;;;;18176:81:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16563:15;16581:57;16598:22;16622:15;16581:16;:57::i;:::-;16649:19;16671:29;;;;;;;;;;;;16711:72;;-1:-1:-1;;;;;16711:72:0;;-1:-1:-1;;;;;16711:72:0;;;;;;;;;16563:75;;-1:-1:-1;16671:29:0;;;;;16711:51;;:72;;;;;;;;;;;16649:19;16671:29;16711:72;;;5:2:-1;;;;30:1;27;20:12;5:2;16711:72:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;16799:30:0;;-1:-1:-1;;;;;16799:30:0;;;-1:-1:-1;16799:30:0;;-1:-1:-1;16799:30:0;;;18268:1;;16370:467;;;:::o;14274:264::-;14419:7;14451:20;:79;14472:57;14489:22;14513:15;14472:16;:57::i;:::-;14451:79;;;;;;;;;;;-1:-1:-1;14451:79:0;;-1:-1:-1;;;;;14451:79:0;;14274:264;-1:-1:-1;;;14274:264:0:o;12002:242::-;18198:11;;-1:-1:-1;;;;;18198:11:0;18184:10;:25;18176:81;;;;-1:-1:-1;;;;;18176:81:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12190:4;12132:10;:55;12143:43;12158:10;12170:15;12143:14;:43::i;:::-;12132:55;;;;;;;;;;;;;-1:-1:-1;12132:55:0;;;:62;;-1:-1:-1;;12132:62:0;;;;;;;;;;;12210:26;-1:-1:-1;;;;;12210:26:0;;;;;;12002:242;;:::o;11231:481::-;11402:15;18471:10;:54;18482:42;18497:10;18509:14;18482;:42::i;:::-;18471:54;;;;;;;;;;;-1:-1:-1;18471:54:0;;;;;:85;;-1:-1:-1;18545:10:0;18529:27;;;;:15;:27;;;;;;;;18471:85;18463:176;;;;-1:-1:-1;;;;;18463:176:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11429:15;11447:56;11464:22;11487:15;11447:16;:56::i;:::-;11538:20;:29;;;;;;;;;;;;11514:74;;-1:-1:-1;;;;;11514:74:0;;;;11429;;-1:-1:-1;;;;;;11538:29:0;;11514:72;;:74;;;;;11538:20;;11514:74;;;;;;11538:20;:29;11514:74;;;5:2:-1;;;;30:1;27;20:12;5:2;11514:74:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;;11625:20:0;:29;;;;;;;;;;;;11604:51;;-1:-1:-1;;;;;11625:29:0;;;;-1:-1:-1;11604:51:0;;11625:20;11604:51;11673:20;:29;;;;;;;;;;11666:36;;-1:-1:-1;;;;;;11666:36:0;;;-1:-1:-1;;;11231:481:0:o;5480:26::-;;;-1:-1:-1;;;;;5480:26:0;;:::o;15997:219::-;16120:7;16179:10;16191:15;16162:45;;;;;;-1:-1:-1;;;;;16162:45:0;-1:-1:-1;;;;;16162:45:0;;;;;;;;;;;;;;;;;66:2:-1;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;4834:61:0;;;;;;;;;;;;-1:-1:-1;;;;;4834:61:0;;:::o;12536:236::-;18198:11;;-1:-1:-1;;;;;18198:11:0;18184:10;:25;18176:81;;;;-1:-1:-1;;;;;18176:81:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12665:10;:55;12676:43;12691:10;12703:15;12676:14;:43::i;:::-;12665:55;;;;;;;;;;;;;;-1:-1:-1;12665:55:0;12658:62;;-1:-1:-1;;12658:62:0;;;12736:28;;-1:-1:-1;;;;;12736:28:0;;;;;;;;;;;;;;;;;12536:236;;:::o;14755:246::-;14883:7;14915:25;:78;14968:22;14951:40;;;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;14951:40:0;;;;;;;26:21:-1;;;-1:-1;;22:32;6:49;;14951:40:0;;14941:51;;;;;;;;;14915:78;;;;;;;;;;;;-1:-1:-1;14915:78:0;;-1:-1:-1;;;;;14915:78:0;;;-1:-1:-1;;;;;14755:246:0:o;16999:437::-;18198:11;;-1:-1:-1;;;;;18198:11:0;18184:10;:25;18176:81;;;;-1:-1:-1;;;;;18176:81:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17163:15;17208:22;17191:40;;;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;17191:40:0;;;;;;;26:21:-1;;;-1:-1;;22:32;6:49;;17191:40:0;;;17181:51;;;;;;;;;-1:-1:-1;17265:34:0;;;274:1:-1;17265:34:0;;;;;;;-1:-1:-1;;;;;17310:72:0;;-1:-1:-1;;;;;17310:72:0;;;;;;;;;17181:51;;-1:-1:-1;17265:34:0;;;;;-1:-1:-1;17265:34:0;;-1:-1:-1;17310:51:0;;:72;;;;;-1:-1:-1;;;17310:72:0;;;;;;;;-1:-1:-1;17265:34:0;17310:72;;;5:2:-1;;;;30:1;27;20:12;5:2;17310:72:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;17398:30:0;;-1:-1:-1;;;;;17398:30:0;;;-1:-1:-1;17398:30:0;;-1:-1:-1;17398:30:0;;;18268:1;;16999:437;;:::o;5359:48::-;;;;;;;;;;;;;;;:::o;9165:583::-;9378:15;18471:10;:54;18482:42;18497:10;18509:14;18482;:42::i;:::-;18471:54;;;;;;;;;;;-1:-1:-1;18471:54:0;;;;;:85;;-1:-1:-1;18545:10:0;18529:27;;;;:15;:27;;;;;;;;18471:85;18463:176;;;;-1:-1:-1;;;;;18463:176:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9422:22;9446:15;19136:1;;;19066:57;9422:22;9446:15;19066:16;:57::i;:::-;19045:79;;;;;;;;;;;-1:-1:-1;19045:79:0;;-1:-1:-1;;;;;19045:79:0;:93;19037:130;;;;;-1:-1:-1;;;;;19037:130:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;9481:38;9550:2;9554;9522:35;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;9522:35:0;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9522:35:0;9481:76;;9658:14;9568:20;:79;9589:57;9606:22;9630:15;9589:16;:57::i;:::-;9568:79;;;;;;;;;;;;;-1:-1:-1;9568:79:0;;;:105;;-1:-1:-1;;;;;;9568:105:0;-1:-1:-1;;;;;9568:105:0;;;;;;9689:51;;;;;;;;-1:-1:-1;9689:51:0;19178:1;18650;;9165:583;;;;;:::o;17710:310::-;17886:15;18471:10;:54;18482:42;18497:10;18509:14;18482;:42::i;:::-;18471:54;;;;;;;;;;;-1:-1:-1;18471:54:0;;;;;:85;;-1:-1:-1;18545:10:0;18529:27;;;;:15;:27;;;;;;;;18471:85;18463:176;;;;-1:-1:-1;;;;;18463:176:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18001:11;17919:20;:79;17940:57;17957:22;17981:15;17940:16;:57::i;:::-;17919:79;;;;;;;;;;;;:93;;;;;-1:-1:-1;;;;;17919:93:0;;;;;-1:-1:-1;;;;;17919:93:0;;;;;;17710:310;;;;:::o;4771:56::-;;;;;;;;;;;;;-1:-1:-1;;;;;4771:56:0;;:::o;9756:514::-;9935:15;18471:10;:54;18482:42;18497:10;18509:14;18482;:42::i;:::-;18471:54;;;;;;;;;;;-1:-1:-1;18471:54:0;;;;;:85;;-1:-1:-1;18545:10:0;18529:27;;;;:15;:27;;;;;;;;18471:85;18463:176;;;;-1:-1:-1;;;;;18463:176:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9981:2;9985;9989:22;10013:15;19359:38;19424:20;:79;19445:57;19462:22;19486:15;19445:16;:57::i;:::-;19424:79;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;19424:79:0;19359:145;;19591:14;-1:-1:-1;;;;;19591:17:0;;:19;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19591:19:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19591:19:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;19591:19:0;19612;;;-1:-1:-1;;;;;19612:19:0;;;;-1:-1:-1;;;;;19612:17:0;;;;;:19;;;;;19591;;19612;;;;;;;:17;:19;;;5:2:-1;;;;30:1;27;20:12;5:2;19612:19:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19612:19:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;19612:19:0;19574:58;;;19612:19;19574:58;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;6:49;;19574:58:0;;;;;19564:69;;;;;;19533:26;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;19533:26:0;;;;;;;19523:37;;;;;;;:110;;19515:164;;;;;-1:-1:-1;;;;;19515:164:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10040:16;10059:20;:79;10080:57;10097:22;10121:15;10080:16;:57::i;:::-;10059:79;;;;;;;;;;;;;-1:-1:-1;10059:79:0;;;;10149:57;;-1:-1:-1;;;;;10149:57:0;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10059:79:0;;;;-1:-1:-1;10059:79:0;;10149:49;;:57;;;;;-1:-1:-1;;10149:57:0;;;;;-1:-1:-1;10059:79:0;10149:57;;;5:2:-1;;;;30:1;27;20:12;5:2;10149:57:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;10222:40:0;;-1:-1:-1;;;;;10222:40:0;;;-1:-1:-1;10222:40:0;;-1:-1:-1;10222:40:0;;;19690:1;18650;;;;;9756:514;;;;;:::o;6990:878::-;18732:10;18716:27;;;;:15;:27;;;;;;;;18708:108;;;;-1:-1:-1;;;;;18708:108:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7391:15;7436:22;7419:40;;;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;7419:40:0;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;7419:40:0;;;7409:51;;;;;;7391:69;;7473:35;7557:12;7584:9;7608:14;7637:10;7662:11;7688:6;7709:22;7511:221;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;7511:221:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;7511:221:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7511:221:0;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;7511:221:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7511:221:0;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;7511:221:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7511:221:0;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;7511:221:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7511:221:0;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;7511:221:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7511:221:0;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;7511:221:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;7745:34:0;;;;:25;:34;;;;;;:53;;-1:-1:-1;;;;;;7745:53:0;-1:-1:-1;;;;;7745:53:0;;;;;;;;7814:46;;7745:53;;-1:-1:-1;7745:53:0;7814:46;;7745:34;7814:46;18827:1;;6990:878;;;;;;;;:::o;8443:716::-;18732:10;18716:27;;;;:15;:27;;;;;;;;18708:108;;;;-1:-1:-1;;;;;18708:108:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8759:15;8804:22;8787:40;;;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;8787:40:0;;;;;;;26:21:-1;;;-1:-1;;22:32;6:49;;8787:40:0;;;8777:51;;;;;;;;;-1:-1:-1;8861:34:0;;;274:1:-1;8861:34:0;;;;;;-1:-1:-1;;;;;8906:182:0;;;;;;;;;;;;;;;;;8777:51;;-1:-1:-1;;;;;;8861:34:0;;;;-1:-1:-1;8861:34:0;;-1:-1:-1;8906:58:0;;:182;;-1:-1:-1;9006:9:0;;9030:10;;9055:11;;9081:6;;8906:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;8906:182:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8906:182:0;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;8906:182:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8906:182:0;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;8906:182:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8906:182:0;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;8906:182:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8906:182:0;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;8906:182:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8906:182:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;9106:45:0;;-1:-1:-1;;;;;9106:45:0;;;-1:-1:-1;9106:45:0;;-1:-1:-1;9106:45:0;;;18827:1;;8443:716;;;;;;:::o;4290:15412::-;;;;;;;;:::o;:::-;;;;;;;;:::o
Swarm Source
bzzr://639640f3117e053f16288259faddc1c89c79562b6dad921c2ac40cae705116a3
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 31 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.