Mainnet
Testnet
Token Maine (TM)

Token Maine (TM)

Overview

Max Total supply:
1,800
TM
Holders:
6 addresses
Total transfers:
32

Token info

Contract:
Name:
Token Maine
Symbol:
TM
Decimals:
18
Token type:
wrc20
Contract Source Code Verified (Exact Match)

Contract Name:

ERC20

Compiler Version:

0.8.18+commit.87f61d96

EVM Version:

default evmVersion

Optimizations:

Disabled with 200 runs

License:

MIT License (MIT)

Contract source code and ABI

Constructor arguments

00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000b546f6b656e204d61696e650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002544d000000000000000000000000000000000000000000000000000000000000

Creation bytecode

0x60806040526012600560006101000a81548160ff021916908360ff1602179055503480156200002d57600080fd5b506040516200145338038062001453833981810160405281019062000053919062000253565b816003908162000064919062000523565b50806004908162000076919062000523565b5033600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050506200060a565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200012982620000de565b810181811067ffffffffffffffff821117156200014b576200014a620000ef565b5b80604052505050565b600062000160620000c0565b90506200016e82826200011e565b919050565b600067ffffffffffffffff821115620001915762000190620000ef565b5b6200019c82620000de565b9050602081019050919050565b60005b83811015620001c9578082015181840152602081019050620001ac565b60008484015250505050565b6000620001ec620001e68462000173565b62000154565b9050828152602081018484840111156200020b576200020a620000d9565b5b62000218848285620001a9565b509392505050565b600082601f830112620002385762000237620000d4565b5b81516200024a848260208601620001d5565b91505092915050565b600080604083850312156200026d576200026c620000ca565b5b600083015167ffffffffffffffff8111156200028e576200028d620000cf565b5b6200029c8582860162000220565b925050602083015167ffffffffffffffff811115620002c057620002bf620000cf565b5b620002ce8582860162000220565b9150509250929050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200032b57607f821691505b602082108103620003415762000340620002e3565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620003ab7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200036c565b620003b786836200036c565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000404620003fe620003f884620003cf565b620003d9565b620003cf565b9050919050565b6000819050919050565b6200042083620003e3565b620004386200042f826200040b565b84845462000379565b825550505050565b600090565b6200044f62000440565b6200045c81848462000415565b505050565b5b8181101562000484576200047860008262000445565b60018101905062000462565b5050565b601f821115620004d3576200049d8162000347565b620004a8846200035c565b81016020851015620004b8578190505b620004d0620004c7856200035c565b83018262000461565b50505b505050565b600082821c905092915050565b6000620004f860001984600802620004d8565b1980831691505092915050565b6000620005138383620004e5565b9150826002028217905092915050565b6200052e82620002d8565b67ffffffffffffffff8111156200054a5762000549620000ef565b5b62000556825462000312565b6200056382828562000488565b600060209050601f8311600181146200059b576000841562000586578287015190505b62000592858262000505565b86555062000602565b601f198416620005ab8662000347565b60005b82811015620005d557848901518255600182019150602085019450602081019050620005ae565b86831015620005f55784890151620005f1601f891682620004e5565b8355505b6001600288020188555050505b505050505050565b610e39806200061a6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806370a082311161007157806370a082311461018f5780638da5cb5b146101bf57806395d89b41146101dd578063a0712d68146101fb578063a9059cbb14610217578063dd62ed3e14610247576100b4565b806306fdde03146100b9578063095ea7b3146100d757806318160ddd1461010757806323b872dd14610125578063313ce5671461015557806342966c6814610173575b600080fd5b6100c1610277565b6040516100ce9190610a63565b60405180910390f35b6100f160048036038101906100ec9190610b1e565b610305565b6040516100fe9190610b79565b60405180910390f35b61010f6103f7565b60405161011c9190610ba3565b60405180910390f35b61013f600480360381019061013a9190610bbe565b6103fd565b60405161014c9190610b79565b60405180910390f35b61015d6105ac565b60405161016a9190610c2d565b60405180910390f35b61018d60048036038101906101889190610c48565b6105bf565b005b6101a960048036038101906101a49190610c75565b610696565b6040516101b69190610ba3565b60405180910390f35b6101c76106ae565b6040516101d49190610cb1565b60405180910390f35b6101e56106d4565b6040516101f29190610a63565b60405180910390f35b61021560048036038101906102109190610c48565b610762565b005b610231600480360381019061022c9190610b1e565b610893565b60405161023e9190610b79565b60405180910390f35b610261600480360381019061025c9190610ccc565b6109ae565b60405161026e9190610ba3565b60405180910390f35b6003805461028490610d3b565b80601f01602080910402602001604051908101604052809291908181526020018280546102b090610d3b565b80156102fd5780601f106102d2576101008083540402835291602001916102fd565b820191906000526020600020905b8154815290600101906020018083116102e057829003601f168201915b505050505081565b600081600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516103e59190610ba3565b60405180910390a36001905092915050565b60025481565b600081600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461048b9190610d9b565b92505081905550816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546104e09190610d9b565b92505081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546105359190610dcf565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516105999190610ba3565b60405180910390a3600190509392505050565b600560009054906101000a900460ff1681565b806000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461060d9190610d9b565b9250508190555080600260008282546106269190610d9b565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161068b9190610ba3565b60405180910390a350565b60006020528060005260406000206000915090505481565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600480546106e190610d3b565b80601f016020809104026020016040519081016040528092919081815260200182805461070d90610d3b565b801561075a5780601f1061072f5761010080835404028352916020019161075a565b820191906000526020600020905b81548152906001019060200180831161073d57829003601f168201915b505050505081565b3373ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107bc57600080fd5b806000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461080a9190610dcf565b9250508190555080600260008282546108239190610dcf565b925050819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516108889190610ba3565b60405180910390a350565b6000816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546108e39190610d9b565b92505081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546109389190610dcf565b925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161099c9190610ba3565b60405180910390a36001905092915050565b6001602052816000526040600020602052806000526040600020600091509150505481565b600081519050919050565b600082825260208201905092915050565b60005b83811015610a0d5780820151818401526020810190506109f2565b60008484015250505050565b6000601f19601f8301169050919050565b6000610a35826109d3565b610a3f81856109de565b9350610a4f8185602086016109ef565b610a5881610a19565b840191505092915050565b60006020820190508181036000830152610a7d8184610a2a565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610ab582610a8a565b9050919050565b610ac581610aaa565b8114610ad057600080fd5b50565b600081359050610ae281610abc565b92915050565b6000819050919050565b610afb81610ae8565b8114610b0657600080fd5b50565b600081359050610b1881610af2565b92915050565b60008060408385031215610b3557610b34610a85565b5b6000610b4385828601610ad3565b9250506020610b5485828601610b09565b9150509250929050565b60008115159050919050565b610b7381610b5e565b82525050565b6000602082019050610b8e6000830184610b6a565b92915050565b610b9d81610ae8565b82525050565b6000602082019050610bb86000830184610b94565b92915050565b600080600060608486031215610bd757610bd6610a85565b5b6000610be586828701610ad3565b9350506020610bf686828701610ad3565b9250506040610c0786828701610b09565b9150509250925092565b600060ff82169050919050565b610c2781610c11565b82525050565b6000602082019050610c426000830184610c1e565b92915050565b600060208284031215610c5e57610c5d610a85565b5b6000610c6c84828501610b09565b91505092915050565b600060208284031215610c8b57610c8a610a85565b5b6000610c9984828501610ad3565b91505092915050565b610cab81610aaa565b82525050565b6000602082019050610cc66000830184610ca2565b92915050565b60008060408385031215610ce357610ce2610a85565b5b6000610cf185828601610ad3565b9250506020610d0285828601610ad3565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610d5357607f821691505b602082108103610d6657610d65610d0c565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610da682610ae8565b9150610db183610ae8565b9250828203905081811115610dc957610dc8610d6c565b5b92915050565b6000610dda82610ae8565b9150610de583610ae8565b9250828201905080821115610dfd57610dfc610d6c565b5b9291505056fea2646970667358221220402a21fd036260a3a9059362e2ed001f76359388f302e4e1743d99513e5abc1e64736f6c6343000812003300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000b546f6b656e204d61696e650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002544d000000000000000000000000000000000000000000000000000000000000

Deployed bytecode

0x608060405234801561001057600080fd5b50600436106100b45760003560e01c806370a082311161007157806370a082311461018f5780638da5cb5b146101bf57806395d89b41146101dd578063a0712d68146101fb578063a9059cbb14610217578063dd62ed3e14610247576100b4565b806306fdde03146100b9578063095ea7b3146100d757806318160ddd1461010757806323b872dd14610125578063313ce5671461015557806342966c6814610173575b600080fd5b6100c1610277565b6040516100ce9190610a63565b60405180910390f35b6100f160048036038101906100ec9190610b1e565b610305565b6040516100fe9190610b79565b60405180910390f35b61010f6103f7565b60405161011c9190610ba3565b60405180910390f35b61013f600480360381019061013a9190610bbe565b6103fd565b60405161014c9190610b79565b60405180910390f35b61015d6105ac565b60405161016a9190610c2d565b60405180910390f35b61018d60048036038101906101889190610c48565b6105bf565b005b6101a960048036038101906101a49190610c75565b610696565b6040516101b69190610ba3565b60405180910390f35b6101c76106ae565b6040516101d49190610cb1565b60405180910390f35b6101e56106d4565b6040516101f29190610a63565b60405180910390f35b61021560048036038101906102109190610c48565b610762565b005b610231600480360381019061022c9190610b1e565b610893565b60405161023e9190610b79565b60405180910390f35b610261600480360381019061025c9190610ccc565b6109ae565b60405161026e9190610ba3565b60405180910390f35b6003805461028490610d3b565b80601f01602080910402602001604051908101604052809291908181526020018280546102b090610d3b565b80156102fd5780601f106102d2576101008083540402835291602001916102fd565b820191906000526020600020905b8154815290600101906020018083116102e057829003601f168201915b505050505081565b600081600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516103e59190610ba3565b60405180910390a36001905092915050565b60025481565b600081600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461048b9190610d9b565b92505081905550816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546104e09190610d9b565b92505081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546105359190610dcf565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516105999190610ba3565b60405180910390a3600190509392505050565b600560009054906101000a900460ff1681565b806000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461060d9190610d9b565b9250508190555080600260008282546106269190610d9b565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161068b9190610ba3565b60405180910390a350565b60006020528060005260406000206000915090505481565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600480546106e190610d3b565b80601f016020809104026020016040519081016040528092919081815260200182805461070d90610d3b565b801561075a5780601f1061072f5761010080835404028352916020019161075a565b820191906000526020600020905b81548152906001019060200180831161073d57829003601f168201915b505050505081565b3373ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107bc57600080fd5b806000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461080a9190610dcf565b9250508190555080600260008282546108239190610dcf565b925050819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516108889190610ba3565b60405180910390a350565b6000816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546108e39190610d9b565b92505081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546109389190610dcf565b925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161099c9190610ba3565b60405180910390a36001905092915050565b6001602052816000526040600020602052806000526040600020600091509150505481565b600081519050919050565b600082825260208201905092915050565b60005b83811015610a0d5780820151818401526020810190506109f2565b60008484015250505050565b6000601f19601f8301169050919050565b6000610a35826109d3565b610a3f81856109de565b9350610a4f8185602086016109ef565b610a5881610a19565b840191505092915050565b60006020820190508181036000830152610a7d8184610a2a565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610ab582610a8a565b9050919050565b610ac581610aaa565b8114610ad057600080fd5b50565b600081359050610ae281610abc565b92915050565b6000819050919050565b610afb81610ae8565b8114610b0657600080fd5b50565b600081359050610b1881610af2565b92915050565b60008060408385031215610b3557610b34610a85565b5b6000610b4385828601610ad3565b9250506020610b5485828601610b09565b9150509250929050565b60008115159050919050565b610b7381610b5e565b82525050565b6000602082019050610b8e6000830184610b6a565b92915050565b610b9d81610ae8565b82525050565b6000602082019050610bb86000830184610b94565b92915050565b600080600060608486031215610bd757610bd6610a85565b5b6000610be586828701610ad3565b9350506020610bf686828701610ad3565b9250506040610c0786828701610b09565b9150509250925092565b600060ff82169050919050565b610c2781610c11565b82525050565b6000602082019050610c426000830184610c1e565b92915050565b600060208284031215610c5e57610c5d610a85565b5b6000610c6c84828501610b09565b91505092915050565b600060208284031215610c8b57610c8a610a85565b5b6000610c9984828501610ad3565b91505092915050565b610cab81610aaa565b82525050565b6000602082019050610cc66000830184610ca2565b92915050565b60008060408385031215610ce357610ce2610a85565b5b6000610cf185828601610ad3565b9250506020610d0285828601610ad3565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610d5357607f821691505b602082108103610d6657610d65610d0c565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610da682610ae8565b9150610db183610ae8565b9250828203905081811115610dc957610dc8610d6c565b5b92915050565b6000610dda82610ae8565b9150610de583610ae8565b9250828201905080821115610dfd57610dfc610d6c565b5b9291505056fea2646970667358221220402a21fd036260a3a9059362e2ed001f76359388f302e4e1743d99513e5abc1e64736f6c63430008120033

Source map

1993:2171:0:-:0;;;2341:2;2317:26;;;;;;;;;;;;;;;;;;;;2460:142;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2533:5;2526:4;:12;;;;;;:::i;:::-;;2558:7;2549:6;:16;;;;;;:::i;:::-;;2584:10;2576:5;;:18;;;;;;;;;;;;;;;;;;2460:142;;1993:2171;;7:75:2;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:117;566:1;563;556:12;580:102;621:6;672:2;668:7;663:2;656:5;652:14;648:28;638:38;;580:102;;;:::o;688:180::-;736:77;733:1;726:88;833:4;830:1;823:15;857:4;854:1;847:15;874:281;957:27;979:4;957:27;:::i;:::-;949:6;945:40;1087:6;1075:10;1072:22;1051:18;1039:10;1036:34;1033:62;1030:88;;;1098:18;;:::i;:::-;1030:88;1138:10;1134:2;1127:22;917:238;874:281;;:::o;1161:129::-;1195:6;1222:20;;:::i;:::-;1212:30;;1251:33;1279:4;1271:6;1251:33;:::i;:::-;1161:129;;;:::o;1296:308::-;1358:4;1448:18;1440:6;1437:30;1434:56;;;1470:18;;:::i;:::-;1434:56;1508:29;1530:6;1508:29;:::i;:::-;1500:37;;1592:4;1586;1582:15;1574:23;;1296:308;;;:::o;1610:246::-;1691:1;1701:113;1715:6;1712:1;1709:13;1701:113;;;1800:1;1795:3;1791:11;1785:18;1781:1;1776:3;1772:11;1765:39;1737:2;1734:1;1730:10;1725:15;;1701:113;;;1848:1;1839:6;1834:3;1830:16;1823:27;1672:184;1610:246;;;:::o;1862:434::-;1951:5;1976:66;1992:49;2034:6;1992:49;:::i;:::-;1976:66;:::i;:::-;1967:75;;2065:6;2058:5;2051:21;2103:4;2096:5;2092:16;2141:3;2132:6;2127:3;2123:16;2120:25;2117:112;;;2148:79;;:::i;:::-;2117:112;2238:52;2283:6;2278:3;2273;2238:52;:::i;:::-;1957:339;1862:434;;;;;:::o;2316:355::-;2383:5;2432:3;2425:4;2417:6;2413:17;2409:27;2399:122;;2440:79;;:::i;:::-;2399:122;2550:6;2544:13;2575:90;2661:3;2653:6;2646:4;2638:6;2634:17;2575:90;:::i;:::-;2566:99;;2389:282;2316:355;;;;:::o;2677:853::-;2776:6;2784;2833:2;2821:9;2812:7;2808:23;2804:32;2801:119;;;2839:79;;:::i;:::-;2801:119;2980:1;2969:9;2965:17;2959:24;3010:18;3002:6;2999:30;2996:117;;;3032:79;;:::i;:::-;2996:117;3137:74;3203:7;3194:6;3183:9;3179:22;3137:74;:::i;:::-;3127:84;;2930:291;3281:2;3270:9;3266:18;3260:25;3312:18;3304:6;3301:30;3298:117;;;3334:79;;:::i;:::-;3298:117;3439:74;3505:7;3496:6;3485:9;3481:22;3439:74;:::i;:::-;3429:84;;3231:292;2677:853;;;;;:::o;3536:99::-;3588:6;3622:5;3616:12;3606:22;;3536:99;;;:::o;3641:180::-;3689:77;3686:1;3679:88;3786:4;3783:1;3776:15;3810:4;3807:1;3800:15;3827:320;3871:6;3908:1;3902:4;3898:12;3888:22;;3955:1;3949:4;3945:12;3976:18;3966:81;;4032:4;4024:6;4020:17;4010:27;;3966:81;4094:2;4086:6;4083:14;4063:18;4060:38;4057:84;;4113:18;;:::i;:::-;4057:84;3878:269;3827:320;;;:::o;4153:141::-;4202:4;4225:3;4217:11;;4248:3;4245:1;4238:14;4282:4;4279:1;4269:18;4261:26;;4153:141;;;:::o;4300:93::-;4337:6;4384:2;4379;4372:5;4368:14;4364:23;4354:33;;4300:93;;;:::o;4399:107::-;4443:8;4493:5;4487:4;4483:16;4462:37;;4399:107;;;;:::o;4512:393::-;4581:6;4631:1;4619:10;4615:18;4654:97;4684:66;4673:9;4654:97;:::i;:::-;4772:39;4802:8;4791:9;4772:39;:::i;:::-;4760:51;;4844:4;4840:9;4833:5;4829:21;4820:30;;4893:4;4883:8;4879:19;4872:5;4869:30;4859:40;;4588:317;;4512:393;;;;;:::o;4911:77::-;4948:7;4977:5;4966:16;;4911:77;;;:::o;4994:60::-;5022:3;5043:5;5036:12;;4994:60;;;:::o;5060:142::-;5110:9;5143:53;5161:34;5170:24;5188:5;5170:24;:::i;:::-;5161:34;:::i;:::-;5143:53;:::i;:::-;5130:66;;5060:142;;;:::o;5208:75::-;5251:3;5272:5;5265:12;;5208:75;;;:::o;5289:269::-;5399:39;5430:7;5399:39;:::i;:::-;5460:91;5509:41;5533:16;5509:41;:::i;:::-;5501:6;5494:4;5488:11;5460:91;:::i;:::-;5454:4;5447:105;5365:193;5289:269;;;:::o;5564:73::-;5609:3;5564:73;:::o;5643:189::-;5720:32;;:::i;:::-;5761:65;5819:6;5811;5805:4;5761:65;:::i;:::-;5696:136;5643:189;;:::o;5838:186::-;5898:120;5915:3;5908:5;5905:14;5898:120;;;5969:39;6006:1;5999:5;5969:39;:::i;:::-;5942:1;5935:5;5931:13;5922:22;;5898:120;;;5838:186;;:::o;6030:543::-;6131:2;6126:3;6123:11;6120:446;;;6165:38;6197:5;6165:38;:::i;:::-;6249:29;6267:10;6249:29;:::i;:::-;6239:8;6235:44;6432:2;6420:10;6417:18;6414:49;;;6453:8;6438:23;;6414:49;6476:80;6532:22;6550:3;6532:22;:::i;:::-;6522:8;6518:37;6505:11;6476:80;:::i;:::-;6135:431;;6120:446;6030:543;;;:::o;6579:117::-;6633:8;6683:5;6677:4;6673:16;6652:37;;6579:117;;;;:::o;6702:169::-;6746:6;6779:51;6827:1;6823:6;6815:5;6812:1;6808:13;6779:51;:::i;:::-;6775:56;6860:4;6854;6850:15;6840:25;;6753:118;6702:169;;;;:::o;6876:295::-;6952:4;7098:29;7123:3;7117:4;7098:29;:::i;:::-;7090:37;;7160:3;7157:1;7153:11;7147:4;7144:21;7136:29;;6876:295;;;;:::o;7176:1395::-;7293:37;7326:3;7293:37;:::i;:::-;7395:18;7387:6;7384:30;7381:56;;;7417:18;;:::i;:::-;7381:56;7461:38;7493:4;7487:11;7461:38;:::i;:::-;7546:67;7606:6;7598;7592:4;7546:67;:::i;:::-;7640:1;7664:4;7651:17;;7696:2;7688:6;7685:14;7713:1;7708:618;;;;8370:1;8387:6;8384:77;;;8436:9;8431:3;8427:19;8421:26;8412:35;;8384:77;8487:67;8547:6;8540:5;8487:67;:::i;:::-;8481:4;8474:81;8343:222;7678:887;;7708:618;7760:4;7756:9;7748:6;7744:22;7794:37;7826:4;7794:37;:::i;:::-;7853:1;7867:208;7881:7;7878:1;7875:14;7867:208;;;7960:9;7955:3;7951:19;7945:26;7937:6;7930:42;8011:1;8003:6;7999:14;7989:24;;8058:2;8047:9;8043:18;8030:31;;7904:4;7901:1;7897:12;7892:17;;7867:208;;;8103:6;8094:7;8091:19;8088:179;;;8161:9;8156:3;8152:19;8146:26;8204:48;8246:4;8238:6;8234:17;8223:9;8204:48;:::i;:::-;8196:6;8189:64;8111:156;8088:179;8313:1;8309;8301:6;8297:14;8293:22;8287:4;8280:36;7715:611;;;7678:887;;7268:1303;;;7176:1395;;:::o;1993:2171:0:-;;;;;;;