0x60a06040523480156200001157600080fd5b5062000022620001a960201b60201c565b600a620000309190620003e5565b6122b86200003f919062000522565b6040518060400160405280601481526020017f5061776e20426f7473204275726e20546f6b656e0000000000000000000000008152506040518060400160405280600481526020017f4255524e000000000000000000000000000000000000000000000000000000008152508160039080519060200190620000c392919062000280565b508060049080519060200190620000dc92919062000280565b5050506000811162000125576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200011c9062000357565b60405180910390fd5b8060808181525050506200014e62000142620001b260201b60201c565b620001ba60201b60201c565b7328f0521c77923f107e29a5502a5a1152517f9000600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000664565b60006012905090565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8280546200028e906200059a565b90600052602060002090601f016020900481019282620002b25760008555620002fe565b82601f10620002cd57805160ff1916838001178555620002fe565b82800160010185558215620002fe579182015b82811115620002fd578251825591602001919060010190620002e0565b5b5090506200030d919062000311565b5090565b5b808211156200032c57600081600090555060010162000312565b5090565b60006200033f60158362000379565b91506200034c826200063b565b602082019050919050565b60006020820190508181036000830152620003728162000330565b9050919050565b600082825260208201905092915050565b6000808291508390505b6001851115620003dc57808604811115620003b457620003b3620005d0565b5b6001851615620003c45780820291505b8081029050620003d4856200062e565b945062000394565b94509492505050565b6000620003f28262000583565b9150620003ff836200058d565b92506200042e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000436565b905092915050565b6000826200044857600190506200051b565b816200045857600090506200051b565b81600181146200047157600281146200047c57620004b2565b60019150506200051b565b60ff841115620004915762000490620005d0565b5b8360020a915084821115620004ab57620004aa620005d0565b5b506200051b565b5060208310610133831016604e8410600b8410161715620004ec5782820a905083811115620004e657620004e5620005d0565b5b6200051b565b620004fb84848460016200038a565b92509050818404811115620005155762000514620005d0565b5b81810290505b9392505050565b60006200052f8262000583565b91506200053c8362000583565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620005785762000577620005d0565b5b828202905092915050565b6000819050919050565b600060ff82169050919050565b60006002820490506001821680620005b357607f821691505b60208210811415620005ca57620005c9620005ff565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60008160011c9050919050565b7f45524332304361707065643a2063617020697320300000000000000000000000600082015250565b60805161235862000680600039600061050b01526123586000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c806379cc6790116100b8578063dcf7952b1161007c578063dcf7952b14610352578063dd62ed3e14610370578063e1e2f888146103a0578063e58306f9146103bc578063f2fde38b146103d8578063f8e93ef9146103f457610137565b806379cc67901461029a5780638da5cb5b146102b657806395d89b41146102d4578063a457c2d7146102f2578063a9059cbb1461032257610137565b8063355274ea116100ff578063355274ea146101f6578063395093511461021457806342966c681461024457806370a0823114610260578063715018a61461029057610137565b806306fdde031461013c578063095ea7b31461015a57806318160ddd1461018a57806323b872dd146101a8578063313ce567146101d8575b600080fd5b610144610410565b60405161015191906118c0565b60405180910390f35b610174600480360381019061016f9190611537565b6104a2565b604051610181919061188a565b60405180910390f35b6101926104c5565b60405161019f9190611a82565b60405180910390f35b6101c260048036038101906101bd91906114e4565b6104cf565b6040516101cf919061188a565b60405180910390f35b6101e06104fe565b6040516101ed9190611a9d565b60405180910390f35b6101fe610507565b60405161020b9190611a82565b60405180910390f35b61022e60048036038101906102299190611537565b61052f565b60405161023b919061188a565b60405180910390f35b61025e600480360381019061025991906115c0565b610566565b005b61027a60048036038101906102759190611477565b61057a565b6040516102879190611a82565b60405180910390f35b6102986105c2565b005b6102b460048036038101906102af9190611537565b6105d6565b005b6102be6105f6565b6040516102cb9190611838565b60405180910390f35b6102dc610620565b6040516102e991906118c0565b60405180910390f35b61030c60048036038101906103079190611537565b6106b2565b604051610319919061188a565b60405180910390f35b61033c60048036038101906103379190611537565b610729565b604051610349919061188a565b60405180910390f35b61035a61074c565b60405161036791906118a5565b60405180910390f35b61038a600480360381019061038591906114a4565b610772565b6040516103979190611a82565b60405180910390f35b6103ba60048036038101906103b59190611477565b6107f9565b005b6103d660048036038101906103d19190611537565b610845565b005b6103f260048036038101906103ed9190611477565b61085b565b005b61040e60048036038101906104099190611577565b6108df565b005b60606003805461041f90611e38565b80601f016020809104026020016040519081016040528092919081815260200182805461044b90611e38565b80156104985780601f1061046d57610100808354040283529160200191610498565b820191906000526020600020905b81548152906001019060200180831161047b57829003601f168201915b5050505050905090565b6000806104ad6109d2565b90506104ba8185856109da565b600191505092915050565b6000600254905090565b6000806104da6109d2565b90506104e7858285610ba5565b6104f2858585610c31565b60019150509392505050565b60006012905090565b60007f0000000000000000000000000000000000000000000000000000000000000000905090565b60008061053a6109d2565b905061055b81858561054c8589610772565b6105569190611b25565b6109da565b600191505092915050565b6105776105716109d2565b82610eb2565b50565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6105ca611089565b6105d46000611107565b565b6105e8826105e26109d2565b83610ba5565b6105f28282610eb2565b5050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606004805461062f90611e38565b80601f016020809104026020016040519081016040528092919081815260200182805461065b90611e38565b80156106a85780601f1061067d576101008083540402835291602001916106a8565b820191906000526020600020905b81548152906001019060200180831161068b57829003601f168201915b5050505050905090565b6000806106bd6109d2565b905060006106cb8286610772565b905083811015610710576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070790611a42565b60405180910390fd5b61071d82868684036109da565b60019250505092915050565b6000806107346109d2565b9050610741818585610c31565b600191505092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610801611089565b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61084d611089565b61085782826111cd565b5050565b610863611089565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156108d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ca90611922565b60405180910390fd5b6108dc81611107565b50565b60005b81518110156109a557600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3361dead8585815181106109405761093f611ef9565b5b60200260200101516040518463ffffffff1660e01b815260040161096693929190611853565b600060405180830381600087803b15801561098057600080fd5b505af1158015610994573d6000803e3d6000fd5b5050505080806001019150506108e2565b506109cf336109b26104fe565b600a6109be9190611bce565b83516109ca9190611cec565b6111cd565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610a4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4190611a22565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610aba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab190611942565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610b989190611a82565b60405180910390a3505050565b6000610bb18484610772565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610c2b5781811015610c1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1490611962565b60405180910390fd5b610c2a84848484036109da565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610ca1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c98906119e2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d08906118e2565b60405180910390fd5b610d1c8383836111db565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610da2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9990611982565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610e359190611b25565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610e999190611a82565b60405180910390a3610eac8484846111e0565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610f22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f19906119c2565b60405180910390fd5b610f2e826000836111db565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610fb4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fab90611902565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816002600082825461100b9190611d46565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516110709190611a82565b60405180910390a3611084836000846111e0565b505050565b6110916109d2565b73ffffffffffffffffffffffffffffffffffffffff166110af6105f6565b73ffffffffffffffffffffffffffffffffffffffff1614611105576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fc906119a2565b60405180910390fd5b565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6111d782826111e5565b5050565b505050565b505050565b6111ed610507565b816111f66104c5565b6112009190611b25565b1115611241576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123890611a02565b60405180910390fd5b61124b828261124f565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156112bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112b690611a62565b60405180910390fd5b6112cb600083836111db565b80600260008282546112dd9190611b25565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546113329190611b25565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516113979190611a82565b60405180910390a36113ab600083836111e0565b5050565b60006113c26113bd84611add565b611ab8565b905080838252602082019050828560208602820111156113e5576113e4611f5c565b5b60005b8581101561141557816113fb8882611462565b8452602084019350602083019250506001810190506113e8565b5050509392505050565b60008135905061142e816122f4565b92915050565b600082601f83011261144957611448611f57565b5b81356114598482602086016113af565b91505092915050565b6000813590506114718161230b565b92915050565b60006020828403121561148d5761148c611f66565b5b600061149b8482850161141f565b91505092915050565b600080604083850312156114bb576114ba611f66565b5b60006114c98582860161141f565b92505060206114da8582860161141f565b9150509250929050565b6000806000606084860312156114fd576114fc611f66565b5b600061150b8682870161141f565b935050602061151c8682870161141f565b925050604061152d86828701611462565b9150509250925092565b6000806040838503121561154e5761154d611f66565b5b600061155c8582860161141f565b925050602061156d85828601611462565b9150509250929050565b60006020828403121561158d5761158c611f66565b5b600082013567ffffffffffffffff8111156115ab576115aa611f61565b5b6115b784828501611434565b91505092915050565b6000602082840312156115d6576115d5611f66565b5b60006115e484828501611462565b91505092915050565b6115f681611d7a565b82525050565b61160581611d8c565b82525050565b61161481611dcf565b82525050565b600061162582611b09565b61162f8185611b14565b935061163f818560208601611e05565b61164881611f6b565b840191505092915050565b6000611660602383611b14565b915061166b82611f89565b604082019050919050565b6000611683602283611b14565b915061168e82611fd8565b604082019050919050565b60006116a6602683611b14565b91506116b182612027565b604082019050919050565b60006116c9602283611b14565b91506116d482612076565b604082019050919050565b60006116ec601d83611b14565b91506116f7826120c5565b602082019050919050565b600061170f602683611b14565b915061171a826120ee565b604082019050919050565b6000611732602083611b14565b915061173d8261213d565b602082019050919050565b6000611755602183611b14565b915061176082612166565b604082019050919050565b6000611778602583611b14565b9150611783826121b5565b604082019050919050565b600061179b601983611b14565b91506117a682612204565b602082019050919050565b60006117be602483611b14565b91506117c98261222d565b604082019050919050565b60006117e1602583611b14565b91506117ec8261227c565b604082019050919050565b6000611804601f83611b14565b915061180f826122cb565b602082019050919050565b61182381611db8565b82525050565b61183281611dc2565b82525050565b600060208201905061184d60008301846115ed565b92915050565b600060608201905061186860008301866115ed565b61187560208301856115ed565b611882604083018461181a565b949350505050565b600060208201905061189f60008301846115fc565b92915050565b60006020820190506118ba600083018461160b565b92915050565b600060208201905081810360008301526118da818461161a565b905092915050565b600060208201905081810360008301526118fb81611653565b9050919050565b6000602082019050818103600083015261191b81611676565b9050919050565b6000602082019050818103600083015261193b81611699565b9050919050565b6000602082019050818103600083015261195b816116bc565b9050919050565b6000602082019050818103600083015261197b816116df565b9050919050565b6000602082019050818103600083015261199b81611702565b9050919050565b600060208201905081810360008301526119bb81611725565b9050919050565b600060208201905081810360008301526119db81611748565b9050919050565b600060208201905081810360008301526119fb8161176b565b9050919050565b60006020820190508181036000830152611a1b8161178e565b9050919050565b60006020820190508181036000830152611a3b816117b1565b9050919050565b60006020820190508181036000830152611a5b816117d4565b9050919050565b60006020820190508181036000830152611a7b816117f7565b9050919050565b6000602082019050611a97600083018461181a565b92915050565b6000602082019050611ab26000830184611829565b92915050565b6000611ac2611ad3565b9050611ace8282611e6a565b919050565b6000604051905090565b600067ffffffffffffffff821115611af857611af7611f28565b5b602082029050602081019050919050565b600081519050919050565b600082825260208201905092915050565b6000611b3082611db8565b9150611b3b83611db8565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611b7057611b6f611e9b565b5b828201905092915050565b6000808291508390505b6001851115611bc557808604811115611ba157611ba0611e9b565b5b6001851615611bb05780820291505b8081029050611bbe85611f7c565b9450611b85565b94509492505050565b6000611bd982611db8565b9150611be483611dc2565b9250611c117fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611c19565b905092915050565b600082611c295760019050611ce5565b81611c375760009050611ce5565b8160018114611c4d5760028114611c5757611c86565b6001915050611ce5565b60ff841115611c6957611c68611e9b565b5b8360020a915084821115611c8057611c7f611e9b565b5b50611ce5565b5060208310610133831016604e8410600b8410161715611cbb5782820a905083811115611cb657611cb5611e9b565b5b611ce5565b611cc88484846001611b7b565b92509050818404811115611cdf57611cde611e9b565b5b81810290505b9392505050565b6000611cf782611db8565b9150611d0283611db8565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611d3b57611d3a611e9b565b5b828202905092915050565b6000611d5182611db8565b9150611d5c83611db8565b925082821015611d6f57611d6e611e9b565b5b828203905092915050565b6000611d8582611d98565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000611dda82611de1565b9050919050565b6000611dec82611df3565b9050919050565b6000611dfe82611d98565b9050919050565b60005b83811015611e23578082015181840152602081019050611e08565b83811115611e32576000848401525b50505050565b60006002820490506001821680611e5057607f821691505b60208210811415611e6457611e63611eca565b5b50919050565b611e7382611f6b565b810181811067ffffffffffffffff82111715611e9257611e91611f28565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332304361707065643a2063617020657863656564656400000000000000600082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6122fd81611d7a565b811461230857600080fd5b50565b61231481611db8565b811461231f57600080fd5b5056fea2646970667358221220da27cb4774cc1968c01a939f0d09b40831b0deaf0da89bdb05d7977be18083ae64736f6c63430008070033