Mainnet
Testnet
EtherX (ETX)

EtherX (ETX)

Overview

Max Total supply:
10,000,000,000
ETX
Holders:
3 addresses
Total transfers:
34

Token info

Contract:
Name:
EtherX
Symbol:
ETX
Decimals:
18
Token type:
wrc20
Contract Source Code Verified (Partial Match)

Contract Name:

ETX

Compiler Version:

0.8.8+commit.dddeac2f

EVM Version:

default evmVersion

Optimizations:

Disabled with 200 runs

License:

MIT License (MIT)

Contract source code and ABI

Constructor arguments

0000000000000000000000001456b6b1cc76c8174ce6947fccac154808d0fb25

Creation bytecode

0x60806040523480156200001157600080fd5b50604051620016ed380380620016ed8339818101604052810190620000379190620003e3565b6040518060400160405280600681526020017f45746865725800000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f45545800000000000000000000000000000000000000000000000000000000008152506b204fce5e3e250261100000008260049080519060200190620000c8929190620002c9565b508160059080519060200190620000e1929190620002c9565b5033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200013581336200013f60201b60201c565b50505050620005c1565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614620001d2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001c99062000476565b60405180910390fd5b620001e660008284620002c460201b60201c565b81600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620002379190620004d1565b9250508190555081600080828254620002519190620004d1565b925050819055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051620002b891906200053f565b60405180910390a35050565b505050565b828054620002d7906200058b565b90600052602060002090601f016020900481019282620002fb576000855562000347565b82601f106200031657805160ff191683800117855562000347565b8280016001018555821562000347579182015b828111156200034657825182559160200191906001019062000329565b5b5090506200035691906200035a565b5090565b5b80821115620003755760008160009055506001016200035b565b5090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620003ab826200037e565b9050919050565b620003bd816200039e565b8114620003c957600080fd5b50565b600081519050620003dd81620003b2565b92915050565b600060208284031215620003fc57620003fb62000379565b5b60006200040c84828501620003cc565b91505092915050565b600082825260208201905092915050565b7f6e6f7420616e206f776e65722100000000000000000000000000000000000000600082015250565b60006200045e600d8362000415565b91506200046b8262000426565b602082019050919050565b6000602082019050818103600083015262000491816200044f565b9050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620004de8262000498565b9150620004eb8362000498565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115620005235762000522620004a2565b5b828201905092915050565b620005398162000498565b82525050565b60006020820190506200055660008301846200052e565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620005a457607f821691505b60208210811415620005bb57620005ba6200055c565b5b50919050565b61111c80620005d16000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c806370a082311161007157806370a082311461014057806394bf804d1461017057806395d89b411461018c5780639dc29fac146101aa578063a9059cbb146101c6578063dd62ed3e146101e2576100a9565b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100e857806323b872dd14610106578063313ce56714610122575b600080fd5b6100b6610212565b6040516100c39190610c63565b60405180910390f35b6100e660048036038101906100e19190610d1e565b6102a4565b005b6100f06102b3565b6040516100fd9190610d6d565b60405180910390f35b610120600480360381019061011b9190610d88565b6102bc565b005b61012a61057e565b6040516101379190610d6d565b60405180910390f35b61015a60048036038101906101559190610ddb565b610587565b6040516101679190610d6d565b60405180910390f35b61018a60048036038101906101859190610e08565b6105d0565b005b610194610744565b6040516101a19190610c63565b60405180910390f35b6101c460048036038101906101bf9190610d1e565b6107d6565b005b6101e060048036038101906101db9190610d1e565b6108e4565b005b6101fc60048036038101906101f79190610e48565b610a53565b6040516102099190610d6d565b60405180910390f35b60606004805461022190610eb7565b80601f016020809104026020016040519081016040528092919081815260200182805461024d90610eb7565b801561029a5780601f1061026f5761010080835404028352916020019161029a565b820191906000526020600020905b81548152906001019060200180831161027d57829003601f168201915b5050505050905090565b6102af338383610ada565b5050565b60008054905090565b8281806102c883610587565b1015610309576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161030090610f35565b60405180910390fd5b610314858585610bc5565b82600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156103d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103ca90610fa1565b60405180910390fd5b82600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461045f9190610ff0565b9250508190555082600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546104b59190610ff0565b9250508190555082600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461050b9190611024565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161056f9190610d6d565b60405180910390a35050505050565b60006012905090565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610660576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610657906110c6565b60405180910390fd5b61066c60008284610bc5565b81600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546106bb9190611024565b92505081905550816000808282546106d39190611024565b925050819055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516107389190610d6d565b60405180910390a35050565b60606005805461075390610eb7565b80601f016020809104026020016040519081016040528092919081815260200182805461077f90610eb7565b80156107cc5780601f106107a1576101008083540402835291602001916107cc565b820191906000526020600020905b8154815290600101906020018083116107af57829003601f168201915b5050505050905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610866576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085d906110c6565b60405180910390fd5b61087282600083610bc5565b80600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546108c19190610ff0565b92505081905550806000808282546108d99190610ff0565b925050819055505050565b3381806108f083610587565b1015610931576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092890610f35565b60405180910390fd5b61093c338585610bc5565b82600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461098b9190610ff0565b9250508190555082600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546109e19190611024565b925050819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610a459190610d6d565b60405180910390a350505050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f6e11fb1b7f119e3f2fa29896ef5fdf8b8a2d0d4df6fe90ba8668e7d8b2ffa25e83604051610bb89190610d6d565b60405180910390a3505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610c04578082015181840152602081019050610be9565b83811115610c13576000848401525b50505050565b6000601f19601f8301169050919050565b6000610c3582610bca565b610c3f8185610bd5565b9350610c4f818560208601610be6565b610c5881610c19565b840191505092915050565b60006020820190508181036000830152610c7d8184610c2a565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610cb582610c8a565b9050919050565b610cc581610caa565b8114610cd057600080fd5b50565b600081359050610ce281610cbc565b92915050565b6000819050919050565b610cfb81610ce8565b8114610d0657600080fd5b50565b600081359050610d1881610cf2565b92915050565b60008060408385031215610d3557610d34610c85565b5b6000610d4385828601610cd3565b9250506020610d5485828601610d09565b9150509250929050565b610d6781610ce8565b82525050565b6000602082019050610d826000830184610d5e565b92915050565b600080600060608486031215610da157610da0610c85565b5b6000610daf86828701610cd3565b9350506020610dc086828701610cd3565b9250506040610dd186828701610d09565b9150509250925092565b600060208284031215610df157610df0610c85565b5b6000610dff84828501610cd3565b91505092915050565b60008060408385031215610e1f57610e1e610c85565b5b6000610e2d85828601610d09565b9250506020610e3e85828601610cd3565b9150509250929050565b60008060408385031215610e5f57610e5e610c85565b5b6000610e6d85828601610cd3565b9250506020610e7e85828601610cd3565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610ecf57607f821691505b60208210811415610ee357610ee2610e88565b5b50919050565b7f6e6f7420656e6f75676820746f6b656e73210000000000000000000000000000600082015250565b6000610f1f601283610bd5565b9150610f2a82610ee9565b602082019050919050565b60006020820190508181036000830152610f4e81610f12565b9050919050565b7f636865636b20616c6c6f77616e63652100000000000000000000000000000000600082015250565b6000610f8b601083610bd5565b9150610f9682610f55565b602082019050919050565b60006020820190508181036000830152610fba81610f7e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610ffb82610ce8565b915061100683610ce8565b92508282101561101957611018610fc1565b5b828203905092915050565b600061102f82610ce8565b915061103a83610ce8565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561106f5761106e610fc1565b5b828201905092915050565b7f6e6f7420616e206f776e65722100000000000000000000000000000000000000600082015250565b60006110b0600d83610bd5565b91506110bb8261107a565b602082019050919050565b600060208201905081810360008301526110df816110a3565b905091905056fea2646970667358221220c4bf5910a2aaa12e800a1c224a69d9d420cb7d19522f0310b6a3f828b5eef4d264736f6c634300080800330000000000000000000000001456b6b1cc76c8174ce6947fccac154808d0fb25

Deployed bytecode

0x608060405234801561001057600080fd5b50600436106100a95760003560e01c806370a082311161007157806370a082311461014057806394bf804d1461017057806395d89b411461018c5780639dc29fac146101aa578063a9059cbb146101c6578063dd62ed3e146101e2576100a9565b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100e857806323b872dd14610106578063313ce56714610122575b600080fd5b6100b6610212565b6040516100c39190610c63565b60405180910390f35b6100e660048036038101906100e19190610d1e565b6102a4565b005b6100f06102b3565b6040516100fd9190610d6d565b60405180910390f35b610120600480360381019061011b9190610d88565b6102bc565b005b61012a61057e565b6040516101379190610d6d565b60405180910390f35b61015a60048036038101906101559190610ddb565b610587565b6040516101679190610d6d565b60405180910390f35b61018a60048036038101906101859190610e08565b6105d0565b005b610194610744565b6040516101a19190610c63565b60405180910390f35b6101c460048036038101906101bf9190610d1e565b6107d6565b005b6101e060048036038101906101db9190610d1e565b6108e4565b005b6101fc60048036038101906101f79190610e48565b610a53565b6040516102099190610d6d565b60405180910390f35b60606004805461022190610eb7565b80601f016020809104026020016040519081016040528092919081815260200182805461024d90610eb7565b801561029a5780601f1061026f5761010080835404028352916020019161029a565b820191906000526020600020905b81548152906001019060200180831161027d57829003601f168201915b5050505050905090565b6102af338383610ada565b5050565b60008054905090565b8281806102c883610587565b1015610309576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161030090610f35565b60405180910390fd5b610314858585610bc5565b82600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156103d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103ca90610fa1565b60405180910390fd5b82600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461045f9190610ff0565b9250508190555082600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546104b59190610ff0565b9250508190555082600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461050b9190611024565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161056f9190610d6d565b60405180910390a35050505050565b60006012905090565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610660576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610657906110c6565b60405180910390fd5b61066c60008284610bc5565b81600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546106bb9190611024565b92505081905550816000808282546106d39190611024565b925050819055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516107389190610d6d565b60405180910390a35050565b60606005805461075390610eb7565b80601f016020809104026020016040519081016040528092919081815260200182805461077f90610eb7565b80156107cc5780601f106107a1576101008083540402835291602001916107cc565b820191906000526020600020905b8154815290600101906020018083116107af57829003601f168201915b5050505050905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610866576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085d906110c6565b60405180910390fd5b61087282600083610bc5565b80600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546108c19190610ff0565b92505081905550806000808282546108d99190610ff0565b925050819055505050565b3381806108f083610587565b1015610931576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092890610f35565b60405180910390fd5b61093c338585610bc5565b82600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461098b9190610ff0565b9250508190555082600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546109e19190611024565b925050819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610a459190610d6d565b60405180910390a350505050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f6e11fb1b7f119e3f2fa29896ef5fdf8b8a2d0d4df6fe90ba8668e7d8b2ffa25e83604051610bb89190610d6d565b60405180910390a3505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610c04578082015181840152602081019050610be9565b83811115610c13576000848401525b50505050565b6000601f19601f8301169050919050565b6000610c3582610bca565b610c3f8185610bd5565b9350610c4f818560208601610be6565b610c5881610c19565b840191505092915050565b60006020820190508181036000830152610c7d8184610c2a565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610cb582610c8a565b9050919050565b610cc581610caa565b8114610cd057600080fd5b50565b600081359050610ce281610cbc565b92915050565b6000819050919050565b610cfb81610ce8565b8114610d0657600080fd5b50565b600081359050610d1881610cf2565b92915050565b60008060408385031215610d3557610d34610c85565b5b6000610d4385828601610cd3565b9250506020610d5485828601610d09565b9150509250929050565b610d6781610ce8565b82525050565b6000602082019050610d826000830184610d5e565b92915050565b600080600060608486031215610da157610da0610c85565b5b6000610daf86828701610cd3565b9350506020610dc086828701610cd3565b9250506040610dd186828701610d09565b9150509250925092565b600060208284031215610df157610df0610c85565b5b6000610dff84828501610cd3565b91505092915050565b60008060408385031215610e1f57610e1e610c85565b5b6000610e2d85828601610d09565b9250506020610e3e85828601610cd3565b9150509250929050565b60008060408385031215610e5f57610e5e610c85565b5b6000610e6d85828601610cd3565b9250506020610e7e85828601610cd3565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610ecf57607f821691505b60208210811415610ee357610ee2610e88565b5b50919050565b7f6e6f7420656e6f75676820746f6b656e73210000000000000000000000000000600082015250565b6000610f1f601283610bd5565b9150610f2a82610ee9565b602082019050919050565b60006020820190508181036000830152610f4e81610f12565b9050919050565b7f636865636b20616c6c6f77616e63652100000000000000000000000000000000600082015250565b6000610f8b601083610bd5565b9150610f9682610f55565b602082019050919050565b60006020820190508181036000830152610fba81610f7e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610ffb82610ce8565b915061100683610ce8565b92508282101561101957611018610fc1565b5b828203905092915050565b600061102f82610ce8565b915061103a83610ce8565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561106f5761106e610fc1565b5b828201905092915050565b7f6e6f7420616e206f776e65722100000000000000000000000000000000000000600082015250565b60006110b0600d83610bd5565b91506110bb8261107a565b602082019050919050565b600060208201905081810360008301526110df816110a3565b905091905056fea2646970667358221220c4bf5910a2aaa12e800a1c224a69d9d420cb7d19522f0310b6a3f828b5eef4d264736f6c63430008080033

Source map

3220:108:0:-:0;;;3251:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1008:217;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3301:18;1105:5;1097;:13;;;;;;;;;;;;:::i;:::-;;1133:7;1123;:17;;;;;;;;;;;;:::i;:::-;;1161:10;1153:5;;:18;;;;;;;;;;;;;;;;;;1184:31;1189:13;1204:10;1184:4;;;:31;;:::i;:::-;1008:217;;;3251:72;3220:108;;1650:262;949:5;;;;;;;;;;;935:19;;:10;:19;;;927:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;1724:49:::1;1753:1;1757:7;1766:6;1724:20;;;:49;;:::i;:::-;1807:6;1786:8;:17;1795:7;1786:17;;;;;;;;;;;;;;;;:27;;;;;;;:::i;:::-;;;;;;;;1841:6;1826:11;::::0;:21:::1;;;;;;;:::i;:::-;;;;;;;;1886:7;1865:37;;1882:1;1865:37;;;1895:6;1865:37;;;;;;:::i;:::-;;;;;;;;1650:262:::0;;:::o;3077:130::-;;;;:::o;3220:108::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;88:117:2:-;197:1;194;187:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:143::-;753:5;784:6;778:13;769:22;;800:33;827:5;800:33;:::i;:::-;696:143;;;;:::o;845:351::-;915:6;964:2;952:9;943:7;939:23;935:32;932:119;;;970:79;;:::i;:::-;932:119;1090:1;1115:64;1171:7;1162:6;1151:9;1147:22;1115:64;:::i;:::-;1105:74;;1061:128;845:351;;;;:::o;1202:169::-;1286:11;1320:6;1315:3;1308:19;1360:4;1355:3;1351:14;1336:29;;1202:169;;;;:::o;1377:163::-;1517:15;1513:1;1505:6;1501:14;1494:39;1377:163;:::o;1546:366::-;1688:3;1709:67;1773:2;1768:3;1709:67;:::i;:::-;1702:74;;1785:93;1874:3;1785:93;:::i;:::-;1903:2;1898:3;1894:12;1887:19;;1546:366;;;:::o;1918:419::-;2084:4;2122:2;2111:9;2107:18;2099:26;;2171:9;2165:4;2161:20;2157:1;2146:9;2142:17;2135:47;2199:131;2325:4;2199:131;:::i;:::-;2191:139;;1918:419;;;:::o;2343:77::-;2380:7;2409:5;2398:16;;2343:77;;;:::o;2426:180::-;2474:77;2471:1;2464:88;2571:4;2568:1;2561:15;2595:4;2592:1;2585:15;2612:305;2652:3;2671:20;2689:1;2671:20;:::i;:::-;2666:25;;2705:20;2723:1;2705:20;:::i;:::-;2700:25;;2859:1;2791:66;2787:74;2784:1;2781:81;2778:107;;;2865:18;;:::i;:::-;2778:107;2909:1;2906;2902:9;2895:16;;2612:305;;;;:::o;2923:118::-;3010:24;3028:5;3010:24;:::i;:::-;3005:3;2998:37;2923:118;;:::o;3047:222::-;3140:4;3178:2;3167:9;3163:18;3155:26;;3191:71;3259:1;3248:9;3244:17;3235:6;3191:71;:::i;:::-;3047:222;;;;:::o;3275:180::-;3323:77;3320:1;3313:88;3420:4;3417:1;3410:15;3444:4;3441:1;3434:15;3461:320;3505:6;3542:1;3536:4;3532:12;3522:22;;3589:1;3583:4;3579:12;3610:18;3600:81;;3666:4;3658:6;3654:17;3644:27;;3600:81;3728:2;3720:6;3717:14;3697:18;3694:38;3691:84;;;3747:18;;:::i;:::-;3691:84;3512:269;3461:320;;;:::o;3220:108:0:-;;;;;;;