60806040526040518060400160405280600881526020017f697066733a2f2f2f000000000000000000000000000000000000000000000000815250600990816200004a9190620004b9565b5062030d40600a55611388600b55661b9ac619e7a000600c5562030d40600d556103e8600e556000600f556001601060006101000a81548160ff0219169083151502179055503480156200009d57600080fd5b506040518060400160405280600e81526020017f57617665206f6620436f6c6f72730000000000000000000000000000000000008152506040518060400160405280600381526020017f574f43000000000000000000000000000000000000000000000000000000000081525081600290816200011b9190620004b9565b5080600390816200012d9190620004b9565b506200013e6200016c60201b60201c565b6000819055505050620001666200015a6200017160201b60201c565b6200017960201b60201c565b620005a0565b600090565b600033905090565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620002c157607f821691505b602082108103620002d757620002d662000279565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620003417fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000302565b6200034d868362000302565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006200039a620003946200038e8462000365565b6200036f565b62000365565b9050919050565b6000819050919050565b620003b68362000379565b620003ce620003c582620003a1565b8484546200030f565b825550505050565b600090565b620003e5620003d6565b620003f2818484620003ab565b505050565b5b818110156200041a576200040e600082620003db565b600181019050620003f8565b5050565b601f82111562000469576200043381620002dd565b6200043e84620002f2565b810160208510156200044e578190505b620004666200045d85620002f2565b830182620003f7565b50505b505050565b600082821c905092915050565b60006200048e600019846008026200046e565b1980831691505092915050565b6000620004a983836200047b565b9150826002028217905092915050565b620004c4826200023f565b67ffffffffffffffff811115620004e057620004df6200024a565b5b620004ec8254620002a8565b620004f98282856200041e565b600060209050601f8311600181146200053157600084156200051c578287015190505b6200052885826200049b565b86555062000598565b601f1984166200054186620002dd565b60005b828110156200056b5784890151825560018201915060208501945060208101905062000544565b868310156200058b578489015162000587601f8916826200047b565b8355505b6001600288020188555050505b505050505050565b6133ea80620005b06000396000f3fe60806040526004361061020f5760003560e01c806370a0823111610118578063b88d4fde116100a0578063d5abeb011161006f578063d5abeb0114610713578063e985e9c51461073e578063efdc77881461077b578063f2fde38b146107a4578063f6511f93146107cd5761020f565b8063b88d4fde14610664578063c6a91b4214610680578063c87b56dd146106ab578063d547cfb7146106e85761020f565b806395d89b41116100e757806395d89b4114610591578063982d669e146105bc57806398710d1e146105e75780639e9fcffc14610612578063a22cb4651461063b5761020f565b806370a0823114610508578063715018a614610545578063853828b61461055c5780638da5cb5b146105665761020f565b8063193ad7b41161019b57806323b872dd1161016a57806323b872dd1461044157806328cad13d1461045d57806342842e0e1461048657806355f804b3146104a25780636352211e146104cb5761020f565b8063193ad7b4146103995780631e84c413146103c4578063202f298a146103ef578063228025e8146104185761020f565b8063081812fc116101e2578063081812fc146102c3578063095ea7b3146103005780630a00ae831461031c57806318160ddd146103455780631919fed7146103705761020f565b806301ffc9a71461021457806306fdde0314610251578063078837031461027c57806307e89ec014610298575b600080fd5b34801561022057600080fd5b5061023b60048036038101906102369190612497565b61080a565b60405161024891906124df565b60405180910390f35b34801561025d57600080fd5b5061026661089c565b604051610273919061258a565b60405180910390f35b610296600480360381019061029191906125e2565b61092e565b005b3480156102a457600080fd5b506102ad610b15565b6040516102ba919061261e565b60405180910390f35b3480156102cf57600080fd5b506102ea60048036038101906102e591906125e2565b610b1b565b6040516102f7919061267a565b60405180910390f35b61031a600480360381019061031591906126c1565b610b9a565b005b34801561032857600080fd5b50610343600480360381019061033e91906125e2565b610cde565b005b34801561035157600080fd5b5061035a610d64565b604051610367919061261e565b60405180910390f35b34801561037c57600080fd5b50610397600480360381019061039291906125e2565b610d7b565b005b3480156103a557600080fd5b506103ae610e01565b6040516103bb919061261e565b60405180910390f35b3480156103d057600080fd5b506103d9610e07565b6040516103e691906124df565b60405180910390f35b3480156103fb57600080fd5b50610416600480360381019061041191906125e2565b610e1a565b005b34801561042457600080fd5b5061043f600480360381019061043a91906125e2565b610ea0565b005b61045b60048036038101906104569190612701565b610f26565b005b34801561046957600080fd5b50610484600480360381019061047f9190612780565b611248565b005b6104a0600480360381019061049b9190612701565b6112e1565b005b3480156104ae57600080fd5b506104c960048036038101906104c491906128e2565b611301565b005b3480156104d757600080fd5b506104f260048036038101906104ed91906125e2565b611390565b6040516104ff919061267a565b60405180910390f35b34801561051457600080fd5b5061052f600480360381019061052a919061292b565b6113a2565b60405161053c919061261e565b60405180910390f35b34801561055157600080fd5b5061055a61145a565b005b6105646114e2565b005b34801561057257600080fd5b5061057b6116ed565b604051610588919061267a565b60405180910390f35b34801561059d57600080fd5b506105a6611717565b6040516105b3919061258a565b60405180910390f35b3480156105c857600080fd5b506105d16117a9565b6040516105de919061261e565b60405180910390f35b3480156105f357600080fd5b506105fc6117af565b604051610609919061261e565b60405180910390f35b34801561061e57600080fd5b50610639600480360381019061063491906125e2565b6117b5565b005b34801561064757600080fd5b50610662600480360381019061065d9190612958565b61183b565b005b61067e60048036038101906106799190612a39565b611946565b005b34801561068c57600080fd5b506106956119b9565b6040516106a2919061261e565b60405180910390f35b3480156106b757600080fd5b506106d260048036038101906106cd91906125e2565b6119bf565b6040516106df919061258a565b60405180910390f35b3480156106f457600080fd5b506106fd6119c6565b60405161070a919061258a565b60405180910390f35b34801561071f57600080fd5b50610728611a54565b604051610735919061261e565b60405180910390f35b34801561074a57600080fd5b5061076560048036038101906107609190612abc565b611a5a565b60405161077291906124df565b60405180910390f35b34801561078757600080fd5b506107a2600480360381019061079d91906125e2565b611aee565b005b3480156107b057600080fd5b506107cb60048036038101906107c6919061292b565b611c11565b005b3480156107d957600080fd5b506107f460048036038101906107ef91906125e2565b611d08565b604051610801919061261e565b60405180910390f35b60006301ffc9a760e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061086557506380ac58cd60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806108955750635b5e139f60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b6060600280546108ab90612b2b565b80601f01602080910402602001604051908101604052809291908181526020018280546108d790612b2b565b80156109245780601f106108f957610100808354040283529160200191610924565b820191906000526020600020905b81548152906001019060200180831161090757829003601f168201915b5050505050905090565b6001600a5461093d9190612b8b565b81610946610d64565b6109509190612b8b565b1115610991576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098890612c0b565b60405180910390fd5b600061099c82611d08565b9050600d5482600f546109af9190612b8b565b11156109fd57348111156109f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ef90612c77565b60405180910390fd5b610b07565b600e5482610a0a336113a2565b610a149190612b8b565b1115610aa75734811115610a5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5490612c77565b60405180910390fd5b600b54821115610aa2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9990612d09565b60405180910390fd5b610b06565b600e54821115610aec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae390612d09565b60405180910390fd5b81600f6000828254610afe9190612b8b565b925050819055505b5b610b113383611d7c565b5050565b600c5481565b6000610b2682611d9a565b610b5c576040517fcf4700e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610ba582611390565b90508073ffffffffffffffffffffffffffffffffffffffff16610bc6611df9565b73ffffffffffffffffffffffffffffffffffffffff1614610c2957610bf281610bed611df9565b611a5a565b610c28576040517fcfb3b94200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b826006600084815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b610ce6611e01565b73ffffffffffffffffffffffffffffffffffffffff16610d046116ed565b73ffffffffffffffffffffffffffffffffffffffff1614610d5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5190612d75565b60405180910390fd5b80600d8190555050565b6000610d6e611e09565b6001546000540303905090565b610d83611e01565b73ffffffffffffffffffffffffffffffffffffffff16610da16116ed565b73ffffffffffffffffffffffffffffffffffffffff1614610df7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dee90612d75565b60405180910390fd5b80600c8190555050565b600f5481565b601060009054906101000a900460ff1681565b610e22611e01565b73ffffffffffffffffffffffffffffffffffffffff16610e406116ed565b73ffffffffffffffffffffffffffffffffffffffff1614610e96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8d90612d75565b60405180910390fd5b80600e8190555050565b610ea8611e01565b73ffffffffffffffffffffffffffffffffffffffff16610ec66116ed565b73ffffffffffffffffffffffffffffffffffffffff1614610f1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1390612d75565b60405180910390fd5b80600a8190555050565b6000610f3182611e0e565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610f98576040517fa114810000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080610fa484611eda565b91509150610fba8187610fb5611df9565b611f01565b61100657610fcf86610fca611df9565b611a5a565b611005576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff160361106c576040517fea553b3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6110798686866001611f45565b801561108457600082555b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081546001900391905081905550600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154600101919050819055506111528561112e888887611f4b565b7c020000000000000000000000000000000000000000000000000000000017611f73565b600460008681526020019081526020016000208190555060007c02000000000000000000000000000000000000000000000000000000008416036111d857600060018501905060006004600083815260200190815260200160002054036111d65760005481146111d5578360046000838152602001908152602001600020819055505b5b505b838573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46112408686866001611f9e565b505050505050565b611250611e01565b73ffffffffffffffffffffffffffffffffffffffff1661126e6116ed565b73ffffffffffffffffffffffffffffffffffffffff16146112c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112bb90612d75565b60405180910390fd5b80601060006101000a81548160ff02191690831515021790555050565b6112fc83838360405180602001604052806000815250611946565b505050565b611309611e01565b73ffffffffffffffffffffffffffffffffffffffff166113276116ed565b73ffffffffffffffffffffffffffffffffffffffff161461137d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137490612d75565b60405180910390fd5b806009908161138c9190612f41565b5050565b600061139b82611e0e565b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611409576040517f8f4eb60400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67ffffffffffffffff600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054169050919050565b611462611e01565b73ffffffffffffffffffffffffffffffffffffffff166114806116ed565b73ffffffffffffffffffffffffffffffffffffffff16146114d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114cd90612d75565b60405180910390fd5b6114e06000611fa4565b565b6114ea611e01565b73ffffffffffffffffffffffffffffffffffffffff166115086116ed565b73ffffffffffffffffffffffffffffffffffffffff161461155e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155590612d75565b60405180910390fd5b600047905060006064605a836115749190613013565b61157e9190613084565b905060006064600a846115919190613013565b61159b9190613084565b9050600073b790d7b6d1bc53d1687d12266b44bb573b0032c073ffffffffffffffffffffffffffffffffffffffff16836040516115d7906130e6565b60006040518083038185875af1925050503d8060008114611614576040519150601f19603f3d011682016040523d82523d6000602084013e611619565b606091505b50509050600073b790d7b6d1bc53d1687d12266b44bb573b0032c073ffffffffffffffffffffffffffffffffffffffff1683604051611657906130e6565b60006040518083038185875af1925050503d8060008114611694576040519150601f19603f3d011682016040523d82523d6000602084013e611699565b606091505b505090508180156116a75750805b6116e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116dd90613147565b60405180910390fd5b5050505050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606003805461172690612b2b565b80601f016020809104026020016040519081016040528092919081815260200182805461175290612b2b565b801561179f5780601f106117745761010080835404028352916020019161179f565b820191906000526020600020905b81548152906001019060200180831161178257829003601f168201915b5050505050905090565b600d5481565b600e5481565b6117bd611e01565b73ffffffffffffffffffffffffffffffffffffffff166117db6116ed565b73ffffffffffffffffffffffffffffffffffffffff1614611831576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182890612d75565b60405180910390fd5b80600b8190555050565b8060076000611848611df9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff166118f5611df9565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405161193a91906124df565b60405180910390a35050565b611951848484610f26565b60008373ffffffffffffffffffffffffffffffffffffffff163b146119b35761197c8484848461206a565b6119b2576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b50505050565b600b5481565b6060919050565b600980546119d390612b2b565b80601f01602080910402602001604051908101604052809291908181526020018280546119ff90612b2b565b8015611a4c5780601f10611a2157610100808354040283529160200191611a4c565b820191906000526020600020905b815481529060010190602001808311611a2f57829003601f168201915b505050505081565b600a5481565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b611af6611e01565b73ffffffffffffffffffffffffffffffffffffffff16611b146116ed565b73ffffffffffffffffffffffffffffffffffffffff1614611b6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b6190612d75565b60405180910390fd5b60008111611bad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ba4906131b3565b60405180910390fd5b600a5481611bb9610d64565b611bc39190612b8b565b1115611c04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bfb9061321f565b60405180910390fd5b611c0e3382611d7c565b50565b611c19611e01565b73ffffffffffffffffffffffffffffffffffffffff16611c376116ed565b73ffffffffffffffffffffffffffffffffffffffff1614611c8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c8490612d75565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611cfc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cf3906132b1565b60405180910390fd5b611d0581611fa4565b50565b600060028203611d2157661b9ac619e7a0009050611d77565b60148203611d3757655a0a3bd530009050611d77565b60c88203611d4e5766038c95d02170009050611d77565b6101f48203611d6657660110c1e8f7d8009050611d77565b81600c54611d749190613013565b90505b919050565b611d968282604051806020016040528060008152506121ba565b5050565b600081611da5611e09565b11158015611db4575060005482105b8015611df2575060007c0100000000000000000000000000000000000000000000000000000000600460008581526020019081526020016000205416145b9050919050565b600033905090565b600033905090565b600090565b60008082905080611e1d611e09565b11611ea357600054811015611ea25760006004600083815260200190815260200160002054905060007c0100000000000000000000000000000000000000000000000000000000821603611ea0575b60008103611e96576004600083600190039350838152602001908152602001600020549050611e6c565b8092505050611ed5565b505b5b6040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b919050565b60008060006006600085815260200190815260200160002090508092508254915050915091565b600073ffffffffffffffffffffffffffffffffffffffff8316925073ffffffffffffffffffffffffffffffffffffffff821691508382148383141790509392505050565b50505050565b60008060e883901c905060e8611f62868684612257565b62ffffff16901b9150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff83169250814260a01b178317905092915050565b50505050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008373ffffffffffffffffffffffffffffffffffffffff1663150b7a02612090611df9565b8786866040518563ffffffff1660e01b81526004016120b29493929190613326565b6020604051808303816000875af19250505080156120ee57506040513d601f19601f820116820180604052508101906120eb9190613387565b60015b612167573d806000811461211e576040519150601f19603f3d011682016040523d82523d6000602084013e612123565b606091505b50600081510361215f576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050949350505050565b6121c48383612260565b60008373ffffffffffffffffffffffffffffffffffffffff163b1461225257600080549050600083820390505b612204600086838060010194508661206a565b61223a576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8181106121f157816000541461224f57600080fd5b50505b505050565b60009392505050565b600080549050600082036122a0576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6122ad6000848385611f45565b600160406001901b178202600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550612324836123156000866000611f4b565b61231e8561241b565b17611f73565b6004600083815260200190815260200160002081905550600080838301905073ffffffffffffffffffffffffffffffffffffffff85169150828260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4600183015b8181146123c557808360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a460018101905061238a565b5060008203612400576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060008190555050506124166000848385611f9e565b505050565b60006001821460e11b9050919050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6124748161243f565b811461247f57600080fd5b50565b6000813590506124918161246b565b92915050565b6000602082840312156124ad576124ac612435565b5b60006124bb84828501612482565b91505092915050565b60008115159050919050565b6124d9816124c4565b82525050565b60006020820190506124f460008301846124d0565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612534578082015181840152602081019050612519565b60008484015250505050565b6000601f19601f8301169050919050565b600061255c826124fa565b6125668185612505565b9350612576818560208601612516565b61257f81612540565b840191505092915050565b600060208201905081810360008301526125a48184612551565b905092915050565b6000819050919050565b6125bf816125ac565b81146125ca57600080fd5b50565b6000813590506125dc816125b6565b92915050565b6000602082840312156125f8576125f7612435565b5b6000612606848285016125cd565b91505092915050565b612618816125ac565b82525050565b6000602082019050612633600083018461260f565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061266482612639565b9050919050565b61267481612659565b82525050565b600060208201905061268f600083018461266b565b92915050565b61269e81612659565b81146126a957600080fd5b50565b6000813590506126bb81612695565b92915050565b600080604083850312156126d8576126d7612435565b5b60006126e6858286016126ac565b92505060206126f7858286016125cd565b9150509250929050565b60008060006060848603121561271a57612719612435565b5b6000612728868287016126ac565b9350506020612739868287016126ac565b925050604061274a868287016125cd565b9150509250925092565b61275d816124c4565b811461276857600080fd5b50565b60008135905061277a81612754565b92915050565b60006020828403121561279657612795612435565b5b60006127a48482850161276b565b91505092915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6127ef82612540565b810181811067ffffffffffffffff8211171561280e5761280d6127b7565b5b80604052505050565b600061282161242b565b905061282d82826127e6565b919050565b600067ffffffffffffffff82111561284d5761284c6127b7565b5b61285682612540565b9050602081019050919050565b82818337600083830152505050565b600061288561288084612832565b612817565b9050828152602081018484840111156128a1576128a06127b2565b5b6128ac848285612863565b509392505050565b600082601f8301126128c9576128c86127ad565b5b81356128d9848260208601612872565b91505092915050565b6000602082840312156128f8576128f7612435565b5b600082013567ffffffffffffffff8111156129165761291561243a565b5b612922848285016128b4565b91505092915050565b60006020828403121561294157612940612435565b5b600061294f848285016126ac565b91505092915050565b6000806040838503121561296f5761296e612435565b5b600061297d858286016126ac565b925050602061298e8582860161276b565b9150509250929050565b600067ffffffffffffffff8211156129b3576129b26127b7565b5b6129bc82612540565b9050602081019050919050565b60006129dc6129d784612998565b612817565b9050828152602081018484840111156129f8576129f76127b2565b5b612a03848285612863565b509392505050565b600082601f830112612a2057612a1f6127ad565b5b8135612a308482602086016129c9565b91505092915050565b60008060008060808587031215612a5357612a52612435565b5b6000612a61878288016126ac565b9450506020612a72878288016126ac565b9350506040612a83878288016125cd565b925050606085013567ffffffffffffffff811115612aa457612aa361243a565b5b612ab087828801612a0b565b91505092959194509250565b60008060408385031215612ad357612ad2612435565b5b6000612ae1858286016126ac565b9250506020612af2858286016126ac565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612b4357607f821691505b602082108103612b5657612b55612afc565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612b96826125ac565b9150612ba1836125ac565b9250828201905080821115612bb957612bb8612b5c565b5b92915050565b7f4e6f206d6f726500000000000000000000000000000000000000000000000000600082015250565b6000612bf5600783612505565b9150612c0082612bbf565b602082019050919050565b60006020820190508181036000830152612c2481612be8565b9050919050565b7f496e636f7272656374204554482076616c75652073656e740000000000000000600082015250565b6000612c61601883612505565b9150612c6c82612c2b565b602082019050919050565b60006020820190508181036000830152612c9081612c54565b9050919050565b7f4d6178206d696e747320706572207472616e73616374696f6e2065786365656460008201527f6564000000000000000000000000000000000000000000000000000000000000602082015250565b6000612cf3602283612505565b9150612cfe82612c97565b604082019050919050565b60006020820190508181036000830152612d2281612ce6565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612d5f602083612505565b9150612d6a82612d29565b602082019050919050565b60006020820190508181036000830152612d8e81612d52565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302612df77fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82612dba565b612e018683612dba565b95508019841693508086168417925050509392505050565b6000819050919050565b6000612e3e612e39612e34846125ac565b612e19565b6125ac565b9050919050565b6000819050919050565b612e5883612e23565b612e6c612e6482612e45565b848454612dc7565b825550505050565b600090565b612e81612e74565b612e8c818484612e4f565b505050565b5b81811015612eb057612ea5600082612e79565b600181019050612e92565b5050565b601f821115612ef557612ec681612d95565b612ecf84612daa565b81016020851015612ede578190505b612ef2612eea85612daa565b830182612e91565b50505b505050565b600082821c905092915050565b6000612f1860001984600802612efa565b1980831691505092915050565b6000612f318383612f07565b9150826002028217905092915050565b612f4a826124fa565b67ffffffffffffffff811115612f6357612f626127b7565b5b612f6d8254612b2b565b612f78828285612eb4565b600060209050601f831160018114612fab5760008415612f99578287015190505b612fa38582612f25565b86555061300b565b601f198416612fb986612d95565b60005b82811015612fe157848901518255600182019150602085019450602081019050612fbc565b86831015612ffe5784890151612ffa601f891682612f07565b8355505b6001600288020188555050505b505050505050565b600061301e826125ac565b9150613029836125ac565b9250828202613037816125ac565b9150828204841483151761304e5761304d612b5c565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061308f826125ac565b915061309a836125ac565b9250826130aa576130a9613055565b5b828204905092915050565b600081905092915050565b50565b60006130d06000836130b5565b91506130db826130c0565b600082019050919050565b60006130f1826130c3565b9150819050919050565b7f5472616e73666572206661696c65642e00000000000000000000000000000000600082015250565b6000613131601083612505565b915061313c826130fb565b602082019050919050565b6000602082019050818103600083015261316081613124565b9050919050565b7f496e76616c6964206d696e7420616d6f756e7400000000000000000000000000600082015250565b600061319d601383612505565b91506131a882613167565b602082019050919050565b600060208201905081810360008301526131cc81613190565b9050919050565b7f4d6178696d756d20737570706c79206578636565646564000000000000000000600082015250565b6000613209601783612505565b9150613214826131d3565b602082019050919050565b60006020820190508181036000830152613238816131fc565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061329b602683612505565b91506132a68261323f565b604082019050919050565b600060208201905081810360008301526132ca8161328e565b9050919050565b600081519050919050565b600082825260208201905092915050565b60006132f8826132d1565b61330281856132dc565b9350613312818560208601612516565b61331b81612540565b840191505092915050565b600060808201905061333b600083018761266b565b613348602083018661266b565b613355604083018561260f565b818103606083015261336781846132ed565b905095945050505050565b6000815190506133818161246b565b92915050565b60006020828403121561339d5761339c612435565b5b60006133ab84828501613372565b9150509291505056fea264697066735822122097bb6fce8b173014664586fc24143bad4cdb44547d6b2461812acc34a6541c0864736f6c63430008110033