60806040526001600660156101000a81548160ff0219169083151502179055506001600660166101000a81548160ff021916908315150217905550600560095573cad14a2bc771f682fcd7bd96487e82d8106a96b2600a60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550348015620000a157600080fd5b506040518060400160405280600881526020017f46697265476172790000000000000000000000000000000000000000000000008152506040518060400160405280600881526020017f46495245474152590000000000000000000000000000000000000000000000008152506200012e620001226200055e60201b60201c565b6200056660201b60201c565b81600490805190602001906200014692919062000aeb565b5080600590805190602001906200015f92919062000aeb565b50505062000181336c011f9313138f7c952ca80000006200062a60201b60201c565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905060008173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620001e357600080fd5b505afa158015620001f8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200021e919062000bb2565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308473ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200028157600080fd5b505afa15801562000296573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002bc919062000bb2565b6040518363ffffffff1660e01b8152600401620002db92919062000d08565b602060405180830381600087803b158015620002f657600080fd5b505af11580156200030b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000331919062000bb2565b905081600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600d6000600a60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600d6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555073cad14a2bc771f682fcd7bd96487e82d8106a96b2600a60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505062000f34565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156200069d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620006949062000d79565b60405180910390fd5b620006b1600083836200079960201b60201c565b8060036000828254620006c5919062000deb565b9250508190555080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000779919062000dbd565b60405180910390a3620007956000838362000a7460201b60201c565b5050565b600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156200083e5750600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b62000880576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008779062000d9b565b60405180910390fd5b600660169054906101000a900460ff16156200096257620008a662000a7960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806200091a5750620008eb62000a7960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b6200095c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620009539062000d57565b60405180910390fd5b62000a6f565b600660149054906101000a900460ff168015620009cc5750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b1562000a6e5760075481620009ec8462000aa260201b620008c61760201c565b620009f8919062000deb565b1115801562000a2b57506008548162000a1c8462000aa260201b620008c61760201c565b62000a28919062000deb565b10155b62000a6d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000a649062000d35565b60405180910390fd5b5b5b505050565b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b82805462000af99062000e86565b90600052602060002090601f01602090048101928262000b1d576000855562000b69565b82601f1062000b3857805160ff191683800117855562000b69565b8280016001018555821562000b69579182015b8281111562000b6857825182559160200191906001019062000b4b565b5b50905062000b78919062000b7c565b5090565b5b8082111562000b9757600081600090555060010162000b7d565b5090565b60008151905062000bac8162000f1a565b92915050565b60006020828403121562000bc557600080fd5b600062000bd58482850162000b9b565b91505092915050565b62000be98162000e48565b82525050565b600062000bfe60068362000dda565b91507f466f7262696400000000000000000000000000000000000000000000000000006000830152602082019050919050565b600062000c4060168362000dda565b91507f74726164696e67206973206e6f742073746172746564000000000000000000006000830152602082019050919050565b600062000c82601f8362000dda565b91507f45524332303a206d696e7420746f20746865207a65726f2061646472657373006000830152602082019050919050565b600062000cc4600b8362000dda565b91507f426c61636b6c69737465640000000000000000000000000000000000000000006000830152602082019050919050565b62000d028162000e7c565b82525050565b600060408201905062000d1f600083018562000bde565b62000d2e602083018462000bde565b9392505050565b6000602082019050818103600083015262000d508162000bef565b9050919050565b6000602082019050818103600083015262000d728162000c31565b9050919050565b6000602082019050818103600083015262000d948162000c73565b9050919050565b6000602082019050818103600083015262000db68162000cb5565b9050919050565b600060208201905062000dd4600083018462000cf7565b92915050565b600082825260208201905092915050565b600062000df88262000e7c565b915062000e058362000e7c565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000e3d5762000e3c62000ebc565b5b828201905092915050565b600062000e558262000e5c565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000600282049050600182168062000e9f57607f821691505b6020821081141562000eb65762000eb562000eeb565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b62000f258162000e48565b811462000f3157600080fd5b50565b612daa8062000f446000396000f3fe608060405234801561001057600080fd5b50600436106102065760003560e01c806375f0a8741161011a578063bb85c6d1116100ad578063d07ea4e21161007c578063d07ea4e2146105a9578063dd62ed3e146105c5578063e0bf7fd1146105f5578063f2fde38b14610625578063fc06b26a1461064157610206565b8063bb85c6d114610549578063bff51ef814610565578063c024666814610583578063c4ae31681461059f57610206565b80638da5cb5b116100e95780638da5cb5b146104ad57806395d89b41146104cb578063a457c2d7146104e9578063a9059cbb1461051957610206565b806375f0a874146104355780638456cb5914610453578063860a32ec1461047157806389f9a1d31461048f57610206565b8063302757441161019d57806342966c681161016c57806342966c68146103a357806349bd5a5e146103bf57806370a08231146103dd578063715018a61461040d5780637541f41c1461041757610206565b8063302757441461031d578063313ce567146103395780633950935114610357578063404e51291461038757610206565b806316c02129116101d957806316c021291461028157806318160ddd146102b15780631ab99e12146102cf57806323b872dd146102ed57610206565b806303417ed51461020b57806306fdde0314610215578063095ea7b3146102335780631694505e14610263575b600080fd5b61021361065d565b005b61021d610691565b60405161022a91906127a5565b60405180910390f35b61024d60048036038101906102489190612023565b610723565b60405161025a919061276f565b60405180910390f35b61026b610746565b604051610278919061278a565b60405180910390f35b61029b60048036038101906102969190611f0a565b61076c565b6040516102a8919061276f565b60405180910390f35b6102b961078c565b6040516102c691906129a7565b60405180910390f35b6102d7610796565b6040516102e491906129a7565b60405180910390f35b61030760048036038101906103029190611f98565b61079c565b604051610314919061276f565b60405180910390f35b6103376004803603810190610332919061205f565b6107cb565b005b6103416107f0565b60405161034e9190612a1c565b60405180910390f35b610371600480360381019061036c9190612023565b6107f9565b60405161037e919061276f565b60405180910390f35b6103a1600480360381019061039c9190611fe7565b610830565b005b6103bd60048036038101906103b891906120d7565b610893565b005b6103c76108a0565b6040516103d49190612754565b60405180910390f35b6103f760048036038101906103f29190611f0a565b6108c6565b60405161040491906129a7565b60405180910390f35b61041561090f565b005b61041f610923565b60405161042c91906129a7565b60405180910390f35b61043d610929565b60405161044a9190612754565b60405180910390f35b61045b61094f565b604051610468919061276f565b60405180910390f35b610479610962565b604051610486919061276f565b60405180910390f35b610497610975565b6040516104a491906129a7565b60405180910390f35b6104b561097b565b6040516104c29190612754565b60405180910390f35b6104d36109a4565b6040516104e091906127a5565b60405180910390f35b61050360048036038101906104fe9190612023565b610a36565b604051610510919061276f565b60405180910390f35b610533600480360381019061052e9190612023565b610aad565b604051610540919061276f565b60405180910390f35b610563600480360381019061055e9190611f0a565b610ad0565b005b61056d610b1c565b60405161057a919061276f565b60405180910390f35b61059d60048036038101906105989190611fe7565b610b2f565b005b6105a7610b92565b005b6105c360048036038101906105be9190612088565b610bc6565b005b6105df60048036038101906105da9190611f5c565b610bfb565b6040516105ec91906129a7565b60405180910390f35b61060f600480360381019061060a9190611f0a565b610c82565b60405161061c919061276f565b60405180910390f35b61063f600480360381019061063a9190611f0a565b610ca2565b005b61065b600480360381019061065691906120d7565b610d26565b005b610665610d38565b600660149054906101000a900460ff1615600660146101000a81548160ff021916908315150217905550565b6060600480546106a090612c5f565b80601f01602080910402602001604051908101604052809291908181526020018280546106cc90612c5f565b80156107195780601f106106ee57610100808354040283529160200191610719565b820191906000526020600020905b8154815290600101906020018083116106fc57829003601f168201915b5050505050905090565b60008061072e610db6565b905061073b818585610dbe565b600191505092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c6020528060005260406000206000915054906101000a900460ff1681565b6000600354905090565b60085481565b6000806107a7610db6565b90506107b4858285610f89565b6107bf858585611015565b60019150509392505050565b6107d3610d38565b80600660156101000a81548160ff02191690831515021790555050565b60006012905090565b600080610804610db6565b90506108258185856108168589610bfb565b6108209190612a8c565b610dbe565b600191505092915050565b610838610d38565b80600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b61089d33826113da565b50565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610917610d38565b61092160006115aa565b565b60095481565b600a60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600660169054906101000a900460ff1681565b600660149054906101000a900460ff1681565b60075481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600580546109b390612c5f565b80601f01602080910402602001604051908101604052809291908181526020018280546109df90612c5f565b8015610a2c5780601f10610a0157610100808354040283529160200191610a2c565b820191906000526020600020905b815481529060010190602001808311610a0f57829003601f168201915b5050505050905090565b600080610a41610db6565b90506000610a4f8286610bfb565b905083811015610a94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8b90612967565b60405180910390fd5b610aa18286868403610dbe565b60019250505092915050565b600080610ab8610db6565b9050610ac5818585611015565b600191505092915050565b610ad8610d38565b80600a60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600660159054906101000a900460ff1681565b610b37610d38565b80600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b610b9a610d38565b600660169054906101000a900460ff1615600660166101000a81548160ff021916908315150217905550565b610bce610d38565b82600660146101000a81548160ff0219169083151502179055508160078190555080600881905550505050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600d6020528060005260406000206000915054906101000a900460ff1681565b610caa610d38565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610d1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1190612807565b60405180910390fd5b610d23816115aa565b50565b610d2e610d38565b8060098190555050565b610d40610db6565b73ffffffffffffffffffffffffffffffffffffffff16610d5e61097b565b73ffffffffffffffffffffffffffffffffffffffff1614610db4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dab906128c7565b60405180910390fd5b565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610e2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2590612947565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9590612827565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610f7c91906129a7565b60405180910390a3505050565b6000610f958484610bfb565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461100f5781811015611001576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff890612867565b60405180910390fd5b61100e8484848403610dbe565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611085576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107c90612927565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ec906127c7565b60405180910390fd5b60008111611138576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112f90612847565b60405180910390fd5b6000600660159054906101000a900460ff16156112da57600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561121457600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611213576064600954836112069190612b13565b6112109190612ae2565b90505b5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156112d957600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166112d8576064600954836112cb9190612b13565b6112d59190612ae2565b90505b5b5b60006112e5306108c6565b905060006103e860036112f661078c565b6113009190612b13565b61130a9190612ae2565b82101590508080156113295750600a60009054906101000a900460ff16155b80156113835750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614155b156113915761139061166e565b5b60008311156113c657600083856113a89190612b6d565b90506113b5873086611999565b6113c0878783611999565b506113d2565b6113d1868686611999565b5b505050505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561144a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611441906128e7565b60405180910390fd5b61145682600083611c14565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156114dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d4906127e7565b60405180910390fd5b818103600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600360008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161159191906129a7565b60405180910390a36115a583600084611eb1565b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001600a60006101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156116cc577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156116fa5781602001602082028036833780820191505090505b5090503081600081518110611738577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156117da57600080fd5b505afa1580156117ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118129190611f33565b8160018151811061184c577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506118bb30600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166118b6306108c6565b610dbe565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947611902306108c6565b600084600a60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b81526004016119499594939291906129c2565b600060405180830381600087803b15801561196357600080fd5b505af1158015611977573d6000803e3d6000fd5b50505050506000600a60006101000a81548160ff021916908315150217905550565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611a09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a0090612927565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611a79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a70906127c7565b60405180910390fd5b611a84838383611c14565b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611b0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b0290612887565b60405180910390fd5b818103600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611bfb91906129a7565b60405180910390a3611c0e848484611eb1565b50505050565b600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611cb85750600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611cf7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cee90612987565b60405180910390fd5b600660169054906101000a900460ff1615611dc357611d1461097b565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480611d7f5750611d5061097b565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b611dbe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611db590612907565b60405180910390fd5b611eac565b600660149054906101000a900460ff168015611e2c5750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15611eab5760075481611e3e846108c6565b611e489190612a8c565b11158015611e6b575060085481611e5e846108c6565b611e689190612a8c565b10155b611eaa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ea1906128a7565b60405180910390fd5b5b5b505050565b505050565b600081359050611ec581612d2f565b92915050565b600081519050611eda81612d2f565b92915050565b600081359050611eef81612d46565b92915050565b600081359050611f0481612d5d565b92915050565b600060208284031215611f1c57600080fd5b6000611f2a84828501611eb6565b91505092915050565b600060208284031215611f4557600080fd5b6000611f5384828501611ecb565b91505092915050565b60008060408385031215611f6f57600080fd5b6000611f7d85828601611eb6565b9250506020611f8e85828601611eb6565b9150509250929050565b600080600060608486031215611fad57600080fd5b6000611fbb86828701611eb6565b9350506020611fcc86828701611eb6565b9250506040611fdd86828701611ef5565b9150509250925092565b60008060408385031215611ffa57600080fd5b600061200885828601611eb6565b925050602061201985828601611ee0565b9150509250929050565b6000806040838503121561203657600080fd5b600061204485828601611eb6565b925050602061205585828601611ef5565b9150509250929050565b60006020828403121561207157600080fd5b600061207f84828501611ee0565b91505092915050565b60008060006060848603121561209d57600080fd5b60006120ab86828701611ee0565b93505060206120bc86828701611ef5565b92505060406120cd86828701611ef5565b9150509250925092565b6000602082840312156120e957600080fd5b60006120f784828501611ef5565b91505092915050565b600061210c8383612118565b60208301905092915050565b61212181612ba1565b82525050565b61213081612ba1565b82525050565b600061214182612a47565b61214b8185612a6a565b935061215683612a37565b8060005b8381101561218757815161216e8882612100565b975061217983612a5d565b92505060018101905061215a565b5085935050505092915050565b61219d81612bb3565b82525050565b6121ac81612bf6565b82525050565b6121bb81612c1a565b82525050565b60006121cc82612a52565b6121d68185612a7b565b93506121e6818560208601612c2c565b6121ef81612d1e565b840191505092915050565b6000612207602383612a7b565b91507f45524332303a207472616e7366657220746f20746865207a65726f206164647260008301527f65737300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061226d602283612a7b565b91507f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008301527f63650000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006122d3602683612a7b565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612339602283612a7b565b91507f45524332303a20617070726f766520746f20746865207a65726f20616464726560008301527f73730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061239f602683612a7b565b91507f45524332303a207472616e73666572206d75737420626520677265617465722060008301527f7468616e203000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612405601d83612a7b565b91507f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006000830152602082019050919050565b6000612445602683612a7b565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206260008301527f616c616e636500000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006124ab600683612a7b565b91507f466f7262696400000000000000000000000000000000000000000000000000006000830152602082019050919050565b60006124eb602083612a7b565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b600061252b602183612a7b565b91507f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008301527f73000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612591601683612a7b565b91507f74726164696e67206973206e6f742073746172746564000000000000000000006000830152602082019050919050565b60006125d1602583612a7b565b91507f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008301527f64726573730000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612637602483612a7b565b91507f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008301527f72657373000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061269d602583612a7b565b91507f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008301527f207a65726f0000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612703600b83612a7b565b91507f426c61636b6c69737465640000000000000000000000000000000000000000006000830152602082019050919050565b61273f81612bdf565b82525050565b61274e81612be9565b82525050565b60006020820190506127696000830184612127565b92915050565b60006020820190506127846000830184612194565b92915050565b600060208201905061279f60008301846121a3565b92915050565b600060208201905081810360008301526127bf81846121c1565b905092915050565b600060208201905081810360008301526127e0816121fa565b9050919050565b6000602082019050818103600083015261280081612260565b9050919050565b60006020820190508181036000830152612820816122c6565b9050919050565b600060208201905081810360008301526128408161232c565b9050919050565b6000602082019050818103600083015261286081612392565b9050919050565b60006020820190508181036000830152612880816123f8565b9050919050565b600060208201905081810360008301526128a081612438565b9050919050565b600060208201905081810360008301526128c08161249e565b9050919050565b600060208201905081810360008301526128e0816124de565b9050919050565b600060208201905081810360008301526129008161251e565b9050919050565b6000602082019050818103600083015261292081612584565b9050919050565b60006020820190508181036000830152612940816125c4565b9050919050565b600060208201905081810360008301526129608161262a565b9050919050565b6000602082019050818103600083015261298081612690565b9050919050565b600060208201905081810360008301526129a0816126f6565b9050919050565b60006020820190506129bc6000830184612736565b92915050565b600060a0820190506129d76000830188612736565b6129e460208301876121b2565b81810360408301526129f68186612136565b9050612a056060830185612127565b612a126080830184612736565b9695505050505050565b6000602082019050612a316000830184612745565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612a9782612bdf565b9150612aa283612bdf565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612ad757612ad6612c91565b5b828201905092915050565b6000612aed82612bdf565b9150612af883612bdf565b925082612b0857612b07612cc0565b5b828204905092915050565b6000612b1e82612bdf565b9150612b2983612bdf565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612b6257612b61612c91565b5b828202905092915050565b6000612b7882612bdf565b9150612b8383612bdf565b925082821015612b9657612b95612c91565b5b828203905092915050565b6000612bac82612bbf565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612c0182612c08565b9050919050565b6000612c1382612bbf565b9050919050565b6000612c2582612bdf565b9050919050565b60005b83811015612c4a578082015181840152602081019050612c2f565b83811115612c59576000848401525b50505050565b60006002820490506001821680612c7757607f821691505b60208210811415612c8b57612c8a612cef565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b612d3881612ba1565b8114612d4357600080fd5b50565b612d4f81612bb3565b8114612d5a57600080fd5b50565b612d6681612bdf565b8114612d7157600080fd5b5056fea2646970667358221220751072cafcd34e01e57242b0e0248fc4b8326177088dd5ce94ca54ba33ad115264736f6c63430008000033