60a060405234801562000010575f80fd5b506040518060400160405280600a81526020017f447261676f6ef09f90b2000000000000000000000000000000000000000000008152506040518060400160405280600a81526020017f447261676f6ef09f90b20000000000000000000000000000000000000000000081525081600390816200008e9190620004fb565b508060049081620000a09190620004fb565b505050620000e433620000b86200012060201b60201c565b600a620000c6919062000768565b640211d1ae38620000d89190620007b8565b6200012860201b60201c565b61dead73ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1681525050620008e6565b5f6012905090565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000199576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001909062000860565b60405180910390fd5b620001ac5f83836200028d60201b60201c565b8060025f828254620001bf919062000880565b92505081905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200026e9190620008cb565b60405180910390a3620002895f83836200029260201b60201c565b5050565b505050565b505050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200031357607f821691505b602082108103620003295762000328620002ce565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026200038d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000350565b62000399868362000350565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620003e3620003dd620003d784620003b1565b620003ba565b620003b1565b9050919050565b5f819050919050565b620003fe83620003c3565b620004166200040d82620003ea565b8484546200035c565b825550505050565b5f90565b6200042c6200041e565b62000439818484620003f3565b505050565b5b818110156200046057620004545f8262000422565b6001810190506200043f565b5050565b601f821115620004af5762000479816200032f565b620004848462000341565b8101602085101562000494578190505b620004ac620004a38562000341565b8301826200043e565b50505b505050565b5f82821c905092915050565b5f620004d15f1984600802620004b4565b1980831691505092915050565b5f620004eb8383620004c0565b9150826002028217905092915050565b620005068262000297565b67ffffffffffffffff811115620005225762000521620002a1565b5b6200052e8254620002fb565b6200053b82828562000464565b5f60209050601f83116001811462000571575f84156200055c578287015190505b620005688582620004de565b865550620005d7565b601f19841662000581866200032f565b5f5b82811015620005aa5784890151825560018201915060208501945060208101905062000583565b86831015620005ca5784890151620005c6601f891682620004c0565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156200066957808604811115620006415762000640620005df565b5b6001851615620006515780820291505b808102905062000661856200060c565b945062000621565b94509492505050565b5f8262000683576001905062000755565b8162000692575f905062000755565b8160018114620006ab5760028114620006b657620006ec565b600191505062000755565b60ff841115620006cb57620006ca620005df565b5b8360020a915084821115620006e557620006e4620005df565b5b5062000755565b5060208310610133831016604e8410600b8410161715620007265782820a90508381111562000720576200071f620005df565b5b62000755565b62000735848484600162000618565b925090508184048111156200074f576200074e620005df565b5b81810290505b9392505050565b5f60ff82169050919050565b5f6200077482620003b1565b915062000781836200075c565b9250620007b07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000672565b905092915050565b5f620007c482620003b1565b9150620007d183620003b1565b9250828202620007e181620003b1565b91508282048414831517620007fb57620007fa620005df565b5b5092915050565b5f82825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f62000848601f8362000802565b9150620008558262000812565b602082019050919050565b5f6020820190508181035f83015262000879816200083a565b9050919050565b5f6200088c82620003b1565b91506200089983620003b1565b9250828201905080821115620008b457620008b3620005df565b5b92915050565b620008c581620003b1565b82525050565b5f602082019050620008e05f830184620008ba565b92915050565b60805161136c620009065f395f81816103c50152610862015261136c5ff3fe608060405234801561000f575f80fd5b50600436106100b2575f3560e01c806344df8e701161006f57806344df8e70146101a057806370a08231146101be57806395d89b41146101ee578063a457c2d71461020c578063a9059cbb1461023c578063dd62ed3e1461026c576100b2565b806306fdde03146100b6578063095ea7b3146100d457806318160ddd1461010457806323b872dd14610122578063313ce567146101525780633950935114610170575b5f80fd5b6100be61029c565b6040516100cb9190610b8d565b60405180910390f35b6100ee60048036038101906100e99190610c3e565b61032c565b6040516100fb9190610c96565b60405180910390f35b61010c61034e565b6040516101199190610cbe565b60405180910390f35b61013c60048036038101906101379190610cd7565b610357565b6040516101499190610c96565b60405180910390f35b61015a610385565b6040516101679190610d42565b60405180910390f35b61018a60048036038101906101859190610c3e565b61038d565b6040516101979190610c96565b60405180910390f35b6101a86103c3565b6040516101b59190610d6a565b60405180910390f35b6101d860048036038101906101d39190610d83565b6103e7565b6040516101e59190610cbe565b60405180910390f35b6101f661042c565b6040516102039190610b8d565b60405180910390f35b61022660048036038101906102219190610c3e565b6104bc565b6040516102339190610c96565b60405180910390f35b61025660048036038101906102519190610c3e565b610531565b6040516102639190610c96565b60405180910390f35b61028660048036038101906102819190610dae565b610553565b6040516102939190610cbe565b60405180910390f35b6060600380546102ab90610e19565b80601f01602080910402602001604051908101604052809291908181526020018280546102d790610e19565b80156103225780601f106102f957610100808354040283529160200191610322565b820191905f5260205f20905b81548152906001019060200180831161030557829003601f168201915b5050505050905090565b5f806103366105d5565b90506103438185856105dc565b600191505092915050565b5f600254905090565b5f806103616105d5565b905061036e85828561079f565b61037985858561082a565b60019150509392505050565b5f6012905090565b5f806103976105d5565b90506103b88185856103a98589610553565b6103b39190610e76565b6105dc565b600191505092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b60606004805461043b90610e19565b80601f016020809104026020016040519081016040528092919081815260200182805461046790610e19565b80156104b25780601f10610489576101008083540402835291602001916104b2565b820191905f5260205f20905b81548152906001019060200180831161049557829003601f168201915b5050505050905090565b5f806104c66105d5565b90505f6104d38286610553565b905083811015610518576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161050f90610f19565b60405180910390fd5b61052582868684036105dc565b60019250505092915050565b5f8061053b6105d5565b905061054881858561082a565b600191505092915050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361064a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064190610fa7565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036106b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106af90611035565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516107929190610cbe565b60405180910390a3505050565b5f6107aa8484610553565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146108245781811015610816576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080d9061109d565b60405180910390fd5b61082384848484036105dc565b5b50505050565b5f600160648361083a91906110e8565b6108449190611118565b905061085c848483856108579190611159565b61088d565b610887847f00000000000000000000000000000000000000000000000000000000000000008361088d565b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036108fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f2906111fc565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610969576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109609061128a565b60405180910390fd5b610974838383610af9565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156109f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ee90611318565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610ae09190610cbe565b60405180910390a3610af3848484610afe565b50505050565b505050565b505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610b3a578082015181840152602081019050610b1f565b5f8484015250505050565b5f601f19601f8301169050919050565b5f610b5f82610b03565b610b698185610b0d565b9350610b79818560208601610b1d565b610b8281610b45565b840191505092915050565b5f6020820190508181035f830152610ba58184610b55565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610bda82610bb1565b9050919050565b610bea81610bd0565b8114610bf4575f80fd5b50565b5f81359050610c0581610be1565b92915050565b5f819050919050565b610c1d81610c0b565b8114610c27575f80fd5b50565b5f81359050610c3881610c14565b92915050565b5f8060408385031215610c5457610c53610bad565b5b5f610c6185828601610bf7565b9250506020610c7285828601610c2a565b9150509250929050565b5f8115159050919050565b610c9081610c7c565b82525050565b5f602082019050610ca95f830184610c87565b92915050565b610cb881610c0b565b82525050565b5f602082019050610cd15f830184610caf565b92915050565b5f805f60608486031215610cee57610ced610bad565b5b5f610cfb86828701610bf7565b9350506020610d0c86828701610bf7565b9250506040610d1d86828701610c2a565b9150509250925092565b5f60ff82169050919050565b610d3c81610d27565b82525050565b5f602082019050610d555f830184610d33565b92915050565b610d6481610bd0565b82525050565b5f602082019050610d7d5f830184610d5b565b92915050565b5f60208284031215610d9857610d97610bad565b5b5f610da584828501610bf7565b91505092915050565b5f8060408385031215610dc457610dc3610bad565b5b5f610dd185828601610bf7565b9250506020610de285828601610bf7565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680610e3057607f821691505b602082108103610e4357610e42610dec565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610e8082610c0b565b9150610e8b83610c0b565b9250828201905080821115610ea357610ea2610e49565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f610f03602583610b0d565b9150610f0e82610ea9565b604082019050919050565b5f6020820190508181035f830152610f3081610ef7565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f610f91602483610b0d565b9150610f9c82610f37565b604082019050919050565b5f6020820190508181035f830152610fbe81610f85565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61101f602283610b0d565b915061102a82610fc5565b604082019050919050565b5f6020820190508181035f83015261104c81611013565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f611087601d83610b0d565b915061109282611053565b602082019050919050565b5f6020820190508181035f8301526110b48161107b565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6110f282610c0b565b91506110fd83610c0b565b92508261110d5761110c6110bb565b5b828204905092915050565b5f61112282610c0b565b915061112d83610c0b565b925082820261113b81610c0b565b9150828204841483151761115257611151610e49565b5b5092915050565b5f61116382610c0b565b915061116e83610c0b565b925082820390508181111561118657611185610e49565b5b92915050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6111e6602583610b0d565b91506111f18261118c565b604082019050919050565b5f6020820190508181035f830152611213816111da565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f611274602383610b0d565b915061127f8261121a565b604082019050919050565b5f6020820190508181035f8301526112a181611268565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f611302602683610b0d565b915061130d826112a8565b604082019050919050565b5f6020820190508181035f83015261132f816112f6565b905091905056fea26469706673582212204f096a41c9bd41207f496756559e76f0d6998a9d98d46b217296d4a22c5511c864736f6c63430008150033