0x608060405234801561000f575f80fd5b50604051615872380380615872833981810160405281019061003191906102ee565b61004d61004261019560201b60201c565b61019c60201b60201c565b5f810361008f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610086906103be565b60405180910390fd5b5f82036100d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100c89061044c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361013f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610136906104da565b60405180910390fd5b8260045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600581905550806006819055505050506104f8565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61028a82610261565b9050919050565b61029a81610280565b81146102a4575f80fd5b50565b5f815190506102b581610291565b92915050565b5f819050919050565b6102cd816102bb565b81146102d7575f80fd5b50565b5f815190506102e8816102c4565b92915050565b5f805f606084860312156103055761030461025d565b5b5f610312868287016102a7565b9350506020610323868287016102da565b9250506040610334868287016102da565b9150509250925092565b5f82825260208201905092915050565b7f504f44466163746f72793a20496e76616c69642044656661756c7420416e74695f8201527f20426f7420426c6f636b204c696d697400000000000000000000000000000000602082015250565b5f6103a860308361033e565b91506103b38261034e565b604082019050919050565b5f6020820190508181035f8301526103d58161039c565b9050919050565b7f504f44466163746f72793a20496e76616c69642044656661756c74204d6178205f8201527f5065722057616c6c6574204c696d697400000000000000000000000000000000602082015250565b5f61043660308361033e565b9150610441826103dc565b604082019050919050565b5f6020820190508181035f8301526104638161042a565b9050919050565b7f504f44466163746f72793a20496e76616c696420526f757465722041646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6104c460228361033e565b91506104cf8261046a565b604082019050919050565b5f6020820190508181035f8301526104f1816104b8565b9050919050565b61536d806105055f395ff3fe608060405234801561000f575f80fd5b50600436106100cd575f3560e01c8063ab8f3fd91161008a578063cecf72a711610064578063cecf72a7146101eb578063e268e4d31461021b578063f2fde38b14610237578063f887ea4014610253576100cd565b8063ab8f3fd914610195578063bdc1d8ed146101b1578063c0d78655146101cf576100cd565b8063065961c1146100d15780632efc6c0414610101578063453c231014610131578063622ae7aa1461014f578063715018a61461016d5780638da5cb5b14610177575b5f80fd5b6100eb60048036038101906100e691906111aa565b610271565b6040516100f891906111e4565b60405180910390f35b61011b6004803603810190610116919061136c565b6102d6565b60405161012891906111e4565b60405180910390f35b610139610861565b6040516101469190611417565b60405180910390f35b610157610867565b60405161016491906115f6565b60405180910390f35b610175610aeb565b005b61017f610afe565b60405161018c91906111e4565b60405180910390f35b6101af60048036038101906101aa9190611616565b610b25565b005b6101b9610b6c565b6040516101c69190611417565b60405180910390f35b6101e960048036038101906101e491906111aa565b610b72565b005b610205600480360381019061020091906111aa565b610c3d565b60405161021291906115f6565b60405180910390f35b61023560048036038101906102309190611616565b610efe565b005b610251600480360381019061024c91906111aa565b610f45565b005b61025b610fc7565b60405161026891906111e4565b60405180910390f35b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b5f8085511161031a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103119061169b565b60405180910390fd5b5f84511161035d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161035490611703565b60405180910390fd5b5f831161039f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103969061176b565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361040d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610404906117d3565b60405180910390fd5b5f858585338660045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660055460065460405161044790611132565b610458989796959493929190611829565b604051809103905ff080158015610471573d5f803e3d5ffd5b5090505f6040518060c001604052808373ffffffffffffffffffffffffffffffffffffffff1681526020018881526020018781526020018681526020018573ffffffffffffffffffffffffffffffffffffffff1681526020013373ffffffffffffffffffffffffffffffffffffffff168152509050600181908060018154018082558091505060019003905f5260205f2090600602015f909190919091505f820151815f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010190816105689190611aad565b50604082015181600201908161057e9190611aad565b50606082015181600301556080820151816004015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060a0820151816005015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505060025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081908060018154018082558091505060019003905f5260205f2090600602015f909190919091505f820151815f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010190816106d49190611aad565b5060408201518160020190816106ea9190611aad565b50606082015181600301556080820151816004015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060a0820151816005015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050503360035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff167fa5ae970c143e9e67d1e6c8f9cdfc9af125db5840a0d1dc49ac78df163163b1a7888888883360405161084c959493929190611b7c565b60405180910390a28192505050949350505050565b60055481565b60606001805480602002602001604051908101604052809291908181526020015f905b82821015610ae2578382905f5260205f2090600602016040518060c00160405290815f82015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160018201805461090f906118e0565b80601f016020809104026020016040519081016040528092919081815260200182805461093b906118e0565b80156109865780601f1061095d57610100808354040283529160200191610986565b820191905f5260205f20905b81548152906001019060200180831161096957829003601f168201915b5050505050815260200160028201805461099f906118e0565b80601f01602080910402602001604051908101604052809291908181526020018280546109cb906118e0565b8015610a165780601f106109ed57610100808354040283529160200191610a16565b820191905f5260205f20905b8154815290600101906020018083116109f957829003601f168201915b5050505050815260200160038201548152602001600482015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600582015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250508152602001906001019061088a565b50505050905090565b610af3610fec565b610afc5f61106a565b565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610b2d610fec565b5f60065490508160068190555081817f680dcbe4cc9632bfcb1c9ba200067c14a8ae65a9991458c245095b00cf34ca7760405160405180910390a35050565b60065481565b610b7a610fec565b5f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f02dc5c233404867c793b749c6d644beb2277536d18a7e7974d3f238e4c6f168460405160405180910390a35050565b606060025f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20805480602002602001604051908101604052809291908181526020015f905b82821015610ef3578382905f5260205f2090600602016040518060c00160405290815f82015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182018054610d20906118e0565b80601f0160208091040260200160405190810160405280929190818152602001828054610d4c906118e0565b8015610d975780601f10610d6e57610100808354040283529160200191610d97565b820191905f5260205f20905b815481529060010190602001808311610d7a57829003601f168201915b50505050508152602001600282018054610db0906118e0565b80601f0160208091040260200160405190810160405280929190818152602001828054610ddc906118e0565b8015610e275780601f10610dfe57610100808354040283529160200191610e27565b820191905f5260205f20905b815481529060010190602001808311610e0a57829003601f168201915b5050505050815260200160038201548152602001600482015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600582015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152505081526020019060010190610c9b565b505050509050919050565b610f06610fec565b5f60055490508160058190555081817f3fca42c6c8b5fed56d74db2d1bdb8779af1f129431f3517018ca13f6904b063760405160405180910390a35050565b610f4d610fec565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610fbb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fb290611c4b565b60405180910390fd5b610fc48161106a565b50565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610ff461112b565b73ffffffffffffffffffffffffffffffffffffffff16611012610afe565b73ffffffffffffffffffffffffffffffffffffffff1614611068576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105f90611cb3565b60405180910390fd5b565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f33905090565b61366680611cd283390190565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61117982611150565b9050919050565b6111898161116f565b8114611193575f80fd5b50565b5f813590506111a481611180565b92915050565b5f602082840312156111bf576111be611148565b5b5f6111cc84828501611196565b91505092915050565b6111de8161116f565b82525050565b5f6020820190506111f75f8301846111d5565b92915050565b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61124b82611205565b810181811067ffffffffffffffff8211171561126a57611269611215565b5b80604052505050565b5f61127c61113f565b90506112888282611242565b919050565b5f67ffffffffffffffff8211156112a7576112a6611215565b5b6112b082611205565b9050602081019050919050565b828183375f83830152505050565b5f6112dd6112d88461128d565b611273565b9050828152602081018484840111156112f9576112f8611201565b5b6113048482856112bd565b509392505050565b5f82601f8301126113205761131f6111fd565b5b81356113308482602086016112cb565b91505092915050565b5f819050919050565b61134b81611339565b8114611355575f80fd5b50565b5f8135905061136681611342565b92915050565b5f805f806080858703121561138457611383611148565b5b5f85013567ffffffffffffffff8111156113a1576113a061114c565b5b6113ad8782880161130c565b945050602085013567ffffffffffffffff8111156113ce576113cd61114c565b5b6113da8782880161130c565b93505060406113eb87828801611358565b92505060606113fc87828801611196565b91505092959194509250565b61141181611339565b82525050565b5f60208201905061142a5f830184611408565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6114628161116f565b82525050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f61149a82611468565b6114a48185611472565b93506114b4818560208601611482565b6114bd81611205565b840191505092915050565b6114d181611339565b82525050565b5f60c083015f8301516114ec5f860182611459565b50602083015184820360208601526115048282611490565b9150506040830151848203604086015261151e8282611490565b915050606083015161153360608601826114c8565b5060808301516115466080860182611459565b5060a083015161155960a0860182611459565b508091505092915050565b5f61156f83836114d7565b905092915050565b5f602082019050919050565b5f61158d82611430565b611597818561143a565b9350836020820285016115a98561144a565b805f5b858110156115e457848403895281516115c58582611564565b94506115d083611577565b925060208a019950506001810190506115ac565b50829750879550505050505092915050565b5f6020820190508181035f83015261160e8184611583565b905092915050565b5f6020828403121561162b5761162a611148565b5b5f61163884828501611358565b91505092915050565b5f82825260208201905092915050565b7f546f6b656e206e616d652063616e6e6f7420626520656d7074790000000000005f82015250565b5f611685601a83611641565b915061169082611651565b602082019050919050565b5f6020820190508181035f8301526116b281611679565b9050919050565b7f546f6b656e2073796d626f6c2063616e6e6f7420626520656d707479000000005f82015250565b5f6116ed601c83611641565b91506116f8826116b9565b602082019050919050565b5f6020820190508181035f83015261171a816116e1565b9050919050565b7f496e697469616c20737570706c792063616e206e6f74206265203000000000005f82015250565b5f611755601b83611641565b915061176082611721565b602082019050919050565b5f6020820190508181035f83015261178281611749565b9050919050565b7f54726561737572792077616c6c65742063616e206e6f7420626520656d7074795f82015250565b5f6117bd602083611641565b91506117c882611789565b602082019050919050565b5f6020820190508181035f8301526117ea816117b1565b9050919050565b5f6117fb82611468565b6118058185611641565b9350611815818560208601611482565b61181e81611205565b840191505092915050565b5f610100820190508181035f830152611842818b6117f1565b90508181036020830152611856818a6117f1565b90506118656040830189611408565b61187260608301886111d5565b61187f60808301876111d5565b61188c60a08301866111d5565b61189960c0830185611408565b6118a660e0830184611408565b9998505050505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806118f757607f821691505b60208210810361190a576119096118b3565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261196c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82611931565b6119768683611931565b95508019841693508086168417925050509392505050565b5f819050919050565b5f6119b16119ac6119a784611339565b61198e565b611339565b9050919050565b5f819050919050565b6119ca83611997565b6119de6119d6826119b8565b84845461193d565b825550505050565b5f90565b6119f26119e6565b6119fd8184846119c1565b505050565b5b81811015611a2057611a155f826119ea565b600181019050611a03565b5050565b601f821115611a6557611a3681611910565b611a3f84611922565b81016020851015611a4e578190505b611a62611a5a85611922565b830182611a02565b50505b505050565b5f82821c905092915050565b5f611a855f1984600802611a6a565b1980831691505092915050565b5f611a9d8383611a76565b9150826002028217905092915050565b611ab682611468565b67ffffffffffffffff811115611acf57611ace611215565b5b611ad982546118e0565b611ae4828285611a24565b5f60209050601f831160018114611b15575f8415611b03578287015190505b611b0d8582611a92565b865550611b74565b601f198416611b2386611910565b5f5b82811015611b4a57848901518255600182019150602085019450602081019050611b25565b86831015611b675784890151611b63601f891682611a76565b8355505b6001600288020188555050505b505050505050565b5f60a0820190508181035f830152611b9481886117f1565b90508181036020830152611ba881876117f1565b9050611bb76040830186611408565b611bc460608301856111d5565b611bd160808301846111d5565b9695505050505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f611c35602683611641565b9150611c4082611bdb565b604082019050919050565b5f6020820190508181035f830152611c6281611c29565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f611c9d602083611641565b9150611ca882611c69565b602082019050919050565b5f6020820190508181035f830152611cca81611c91565b905091905056fe6080604052606360065560c8600b556001600c5534801561001e575f80fd5b5060405161366638038061366683398181016040528101906100409190610650565b87878160039081610051919061093d565b508060049081610061919061093d565b50505061008061007561024860201b60201c565b61024f60201b60201c565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806100e557505f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b1561011c576040517fe6c4247b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8103610155576040517f74cbd35f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f820361018e576040517f74cbd35f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61019d8561024f60201b60201c565b6101ad858761031260201b60201c565b82600a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508360085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600981905550806007819055505050505050505050610b0c565b5f33905090565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610380576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161037790610a66565b60405180910390fd5b6103915f838361046c60201b60201c565b8060025f8282546103a29190610ab1565b92505081905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161044f9190610af3565b60405180910390a36104685f838361047160201b60201c565b5050565b505050565b505050565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6104d58261048f565b810181811067ffffffffffffffff821117156104f4576104f361049f565b5b80604052505050565b5f610506610476565b905061051282826104cc565b919050565b5f67ffffffffffffffff8211156105315761053061049f565b5b61053a8261048f565b9050602081019050919050565b8281835e5f83830152505050565b5f61056761056284610517565b6104fd565b9050828152602081018484840111156105835761058261048b565b5b61058e848285610547565b509392505050565b5f82601f8301126105aa576105a9610487565b5b81516105ba848260208601610555565b91505092915050565b5f819050919050565b6105d5816105c3565b81146105df575f80fd5b50565b5f815190506105f0816105cc565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61061f826105f6565b9050919050565b61062f81610615565b8114610639575f80fd5b50565b5f8151905061064a81610626565b92915050565b5f805f805f805f80610100898b03121561066d5761066c61047f565b5b5f89015167ffffffffffffffff81111561068a57610689610483565b5b6106968b828c01610596565b985050602089015167ffffffffffffffff8111156106b7576106b6610483565b5b6106c38b828c01610596565b97505060406106d48b828c016105e2565b96505060606106e58b828c0161063c565b95505060806106f68b828c0161063c565b94505060a06107078b828c0161063c565b93505060c06107188b828c016105e2565b92505060e06107298b828c016105e2565b9150509295985092959890939650565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061078757607f821691505b60208210810361079a57610799610743565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026107fc7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826107c1565b61080686836107c1565b95508019841693508086168417925050509392505050565b5f819050919050565b5f61084161083c610837846105c3565b61081e565b6105c3565b9050919050565b5f819050919050565b61085a83610827565b61086e61086682610848565b8484546107cd565b825550505050565b5f90565b610882610876565b61088d818484610851565b505050565b5b818110156108b0576108a55f8261087a565b600181019050610893565b5050565b601f8211156108f5576108c6816107a0565b6108cf846107b2565b810160208510156108de578190505b6108f26108ea856107b2565b830182610892565b50505b505050565b5f82821c905092915050565b5f6109155f19846008026108fa565b1980831691505092915050565b5f61092d8383610906565b9150826002028217905092915050565b61094682610739565b67ffffffffffffffff81111561095f5761095e61049f565b5b6109698254610770565b6109748282856108b4565b5f60209050601f8311600181146109a5575f8415610993578287015190505b61099d8582610922565b865550610a04565b601f1984166109b3866107a0565b5f5b828110156109da578489015182556001820191506020850194506020810190506109b5565b868310156109f757848901516109f3601f891682610906565b8355505b6001600288020188555050505b505050505050565b5f82825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f610a50601f83610a0c565b9150610a5b82610a1c565b602082019050919050565b5f6020820190508181035f830152610a7d81610a44565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610abb826105c3565b9150610ac6836105c3565b9250828201905080821115610ade57610add610a84565b5b92915050565b610aed816105c3565b82525050565b5f602082019050610b065f830184610ae4565b92915050565b612b4d80610b195f395ff3fe608060405234801561000f575f80fd5b50600436106101c2575f3560e01c806370a08231116100f7578063b91ebc8811610095578063dd62ed3e1161006f578063dd62ed3e146104e6578063f2fde38b14610516578063f887ea4014610532578063fecfda4914610550576101c2565b8063b91ebc8814610490578063bdc1d8ed146104ac578063cc274b29146104ca576101c2565b806395d89b41116100d157806395d89b41146103f6578063a3a7f23214610414578063a457c2d714610430578063a9059cbb14610460576101c2565b806370a082311461039e578063715018a6146103ce5780638da5cb5b146103d8576101c2565b80632d3e474a116101645780633e032a3b1161013e5780633e032a3b14610326578063453c23101461034457806348cd4cb1146103625780634e6fd6c414610380576101c2565b80632d3e474a146102ba578063313ce567146102d857806339509351146102f6576101c2565b80630ddc0976116101a05780630ddc09761461023257806315b0d4961461025057806318160ddd1461026c57806323b872dd1461028a576101c2565b80630445b667146101c657806306fdde03146101e4578063095ea7b314610202575b5f80fd5b6101ce61056c565b6040516101db9190611e01565b60405180910390f35b6101ec610572565b6040516101f99190611e8a565b60405180910390f35b61021c60048036038101906102179190611f3f565b610602565b6040516102299190611f97565b60405180910390f35b61023a610624565b6040516102479190611e01565b60405180910390f35b61026a60048036038101906102659190611fb0565b61062a565b005b610274610669565b6040516102819190611e01565b60405180910390f35b6102a4600480360381019061029f9190611fdb565b610672565b6040516102b19190611f97565b60405180910390f35b6102c26106a0565b6040516102cf919061203a565b60405180910390f35b6102e06106c5565b6040516102ed919061206e565b60405180910390f35b610310600480360381019061030b9190611f3f565b6106cd565b60405161031d9190611f97565b60405180910390f35b61032e610703565b60405161033b9190611e01565b60405180910390f35b61034c610709565b6040516103599190611e01565b60405180910390f35b61036a61070f565b6040516103779190611e01565b60405180910390f35b610388610715565b604051610395919061203a565b60405180910390f35b6103b860048036038101906103b39190612087565b61071b565b6040516103c59190611e01565b60405180910390f35b6103d6610760565b005b6103e0610773565b6040516103ed919061203a565b60405180910390f35b6103fe61079b565b60405161040b9190611e8a565b60405180910390f35b61042e60048036038101906104299190611fb0565b61082b565b005b61044a60048036038101906104459190611f3f565b6108a3565b6040516104579190611f97565b60405180910390f35b61047a60048036038101906104759190611f3f565b610918565b6040516104879190611f97565b60405180910390f35b6104aa60048036038101906104a59190612087565b61093a565b005b6104b4610a2d565b6040516104c19190611e01565b60405180910390f35b6104e460048036038101906104df9190611fb0565b610a33565b005b61050060048036038101906104fb91906120b2565b610aab565b60405161050d9190611e01565b60405180910390f35b610530600480360381019061052b9190612087565b610b2d565b005b61053a610baf565b604051610547919061203a565b60405180910390f35b61056a60048036038101906105659190611fb0565b610bd4565b005b600c5481565b6060600380546105819061211d565b80601f01602080910402602001604051908101604052809291908181526020018280546105ad9061211d565b80156105f85780601f106105cf576101008083540402835291602001916105f8565b820191905f5260205f20905b8154815290600101906020018083116105db57829003601f168201915b5050505050905090565b5f8061060c610c4c565b9050610619818585610c53565b600191505092915050565b60065481565b610632610e16565b80600b81905550807ff5a802650e0a86db227cc342f06327d2ca0ff5cf2b12e0084fc5d8a7db2c54fd60405160405180910390a250565b5f600254905090565b5f8061067c610c4c565b9050610689858285610e94565b610694858585610f1f565b60019150509392505050565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f6012905090565b5f806106d7610c4c565b90506106f88185856106e98589610aab565b6106f3919061217a565b610c53565b600191505092915050565b600b5481565b60095481565b600d5481565b61dead81565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610768610e16565b6107715f6112ea565b565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546107aa9061211d565b80601f01602080910402602001604051908101604052809291908181526020018280546107d69061211d565b80156108215780601f106107f857610100808354040283529160200191610821565b820191905f5260205f20905b81548152906001019060200180831161080457829003601f168201915b5050505050905090565b610833610e16565b5f810361086c576040517f74cbd35f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600681905550807fb34cfed6114f46bbf75e6dcc7c7190cae96c183f3933ac3921003c9d53698e3060405160405180910390a250565b5f806108ad610c4c565b90505f6108ba8286610aab565b9050838110156108ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f69061221d565b60405180910390fd5b61090c8286868403610c53565b60019250505092915050565b5f80610922610c4c565b905061092f818585610f1f565b600191505092915050565b610942610e16565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036109a7576040517fe6c4247b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff167feaf8ef35e433762aa696ae9447608369d638cec1961bd2317c4349bb5be9ee7860405160405180910390a250565b60075481565b610a3b610e16565b5f8103610a74576040517f74cbd35f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600c81905550807f18ff2fc8464635e4f668567019152095047e34d7a2ab4b97661ba4dc7fd0647660405160405180910390a250565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610b35610e16565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610ba3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9a906122ab565b60405180910390fd5b610bac816112ea565b50565b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610bdc610e16565b5f8103610c15576040517f74cbd35f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600981905550807f97e4f91a4b7e108aff6d29a03d7b9f94705ad90ed51b377784a1943ea32257e760405160405180910390a250565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610cc1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb890612339565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d26906123c7565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610e099190611e01565b60405180910390a3505050565b610e1e610c4c565b73ffffffffffffffffffffffffffffffffffffffff16610e3c610773565b73ffffffffffffffffffffffffffffffffffffffff1614610e92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e899061242f565b60405180910390fd5b565b5f610e9f8484610aab565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610f195781811015610f0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0290612497565b60405180910390fd5b610f188484848403610c53565b5b50505050565b5f610f3130610f2c6113ad565b611441565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015610f6f57505f600d54145b15610f7c5743600d819055505b3073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015610fe6575061dead73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156110255750610ff5610773565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561107e575060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561118857503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156110ef575061dead73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561112e57506110fe610773565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611187575060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b156112d8578073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146111cb576111ca83836114cb565b5b5f612710600654846111dd91906124b5565b6111e79190612523565b90506111f48530836115f1565b80600e5f828254611205919061217a565b925050819055505f612710600c5461121b610669565b61122591906124b5565b61122f9190612523565b90508273ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161415801561126f575080600e5410155b156112ba576112b2600e5461128b306112866113ad565b61185d565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611b07565b5f600e819055505b6112d0868684876112cb9190612553565b6115f1565b5050506112e5565b6112e38484846115f1565b505b505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611418573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061143c919061259a565b905090565b5f61144a611d4b565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390584846040518363ffffffff1660e01b81526004016114849291906125c5565b602060405180830381865afa15801561149f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114c3919061259a565b905092915050565b5f6127106009546114da610669565b6114e491906124b5565b6114ee9190612523565b90505f6114fa8461071b565b90505f81831161150a575f611517565b81836115169190612553565b5b90505f600754611525610669565b61152f9190612523565b90505f81600d54436115419190612553565b61154b91906124b5565b9050600d5460075461155d919061217a565b431115801561156e57505f600d5414155b156115ae57808611156115ad576040517f3525bb0b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b828611156115e8576040517f3525bb0b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361165f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116569061265c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036116cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c4906126ea565b60405180910390fd5b6116d8838383611ddf565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508181101561175b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175290612778565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516118449190611e01565b60405180910390a3611857848484611de4565b50505050565b6060805f6118696113ad565b90508073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614806118d057508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b156119c357600267ffffffffffffffff8111156118f0576118ef612796565b5b60405190808252806020026020018201604052801561191e5781602001602082028036833780820191505090505b50915084825f81518110611935576119346127c3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508382600181518110611984576119836127c3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611afc565b600367ffffffffffffffff8111156119de576119dd612796565b5b604051908082528060200260200182016040528015611a0c5781602001602082028036833780820191505090505b50915084825f81518110611a2357611a226127c3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508082600181518110611a7257611a716127c3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508382600281518110611ac157611ac06127c3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505b819250505092915050565b5f831115611d4657815f81518110611b2257611b216127c3565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856040518363ffffffff1660e01b8152600401611b859291906127f0565b6020604051808303815f875af1158015611ba1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bc59190612841565b505f612710600b54612710611bda9190612553565b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d06ca61f87876040518363ffffffff1660e01b8152600401611c36929190612923565b5f60405180830381865afa158015611c50573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f82011682018060405250810190611c789190612a78565b60018651611c869190612553565b81518110611c9757611c966127c3565b5b6020026020010151611ca991906124b5565b611cb39190612523565b9050600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635c11d79585838686426040518663ffffffff1660e01b8152600401611d17959493929190612abf565b5f604051808303815f87803b158015611d2e575f80fd5b505af1158015611d40573d5f803e3d5ffd5b50505050505b505050565b5f600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611db6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611dda919061259a565b905090565b505050565b505050565b5f819050919050565b611dfb81611de9565b82525050565b5f602082019050611e145f830184611df2565b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611e5c82611e1a565b611e668185611e24565b9350611e76818560208601611e34565b611e7f81611e42565b840191505092915050565b5f6020820190508181035f830152611ea28184611e52565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611ee482611ebb565b9050919050565b611ef481611eda565b8114611efe575f80fd5b50565b5f81359050611f0f81611eeb565b92915050565b611f1e81611de9565b8114611f28575f80fd5b50565b5f81359050611f3981611f15565b92915050565b5f8060408385031215611f5557611f54611eb3565b5b5f611f6285828601611f01565b9250506020611f7385828601611f2b565b9150509250929050565b5f8115159050919050565b611f9181611f7d565b82525050565b5f602082019050611faa5f830184611f88565b92915050565b5f60208284031215611fc557611fc4611eb3565b5b5f611fd284828501611f2b565b91505092915050565b5f805f60608486031215611ff257611ff1611eb3565b5b5f611fff86828701611f01565b935050602061201086828701611f01565b925050604061202186828701611f2b565b9150509250925092565b61203481611eda565b82525050565b5f60208201905061204d5f83018461202b565b92915050565b5f60ff82169050919050565b61206881612053565b82525050565b5f6020820190506120815f83018461205f565b92915050565b5f6020828403121561209c5761209b611eb3565b5b5f6120a984828501611f01565b91505092915050565b5f80604083850312156120c8576120c7611eb3565b5b5f6120d585828601611f01565b92505060206120e685828601611f01565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061213457607f821691505b602082108103612147576121466120f0565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61218482611de9565b915061218f83611de9565b92508282019050808211156121a7576121a661214d565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f612207602583611e24565b9150612212826121ad565b604082019050919050565b5f6020820190508181035f830152612234816121fb565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f612295602683611e24565b91506122a08261223b565b604082019050919050565b5f6020820190508181035f8301526122c281612289565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612323602483611e24565b915061232e826122c9565b604082019050919050565b5f6020820190508181035f83015261235081612317565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6123b1602283611e24565b91506123bc82612357565b604082019050919050565b5f6020820190508181035f8301526123de816123a5565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612419602083611e24565b9150612424826123e5565b602082019050919050565b5f6020820190508181035f8301526124468161240d565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f612481601d83611e24565b915061248c8261244d565b602082019050919050565b5f6020820190508181035f8301526124ae81612475565b9050919050565b5f6124bf82611de9565b91506124ca83611de9565b92508282026124d881611de9565b915082820484148315176124ef576124ee61214d565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61252d82611de9565b915061253883611de9565b925082612548576125476124f6565b5b828204905092915050565b5f61255d82611de9565b915061256883611de9565b92508282039050818111156125805761257f61214d565b5b92915050565b5f8151905061259481611eeb565b92915050565b5f602082840312156125af576125ae611eb3565b5b5f6125bc84828501612586565b91505092915050565b5f6040820190506125d85f83018561202b565b6125e5602083018461202b565b9392505050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612646602583611e24565b9150612651826125ec565b604082019050919050565b5f6020820190508181035f8301526126738161263a565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6126d4602383611e24565b91506126df8261267a565b604082019050919050565b5f6020820190508181035f830152612701816126c8565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f612762602683611e24565b915061276d82612708565b604082019050919050565b5f6020820190508181035f83015261278f81612756565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f6040820190506128035f83018561202b565b6128106020830184611df2565b9392505050565b61282081611f7d565b811461282a575f80fd5b50565b5f8151905061283b81612817565b92915050565b5f6020828403121561285657612855611eb3565b5b5f6128638482850161282d565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61289e81611eda565b82525050565b5f6128af8383612895565b60208301905092915050565b5f602082019050919050565b5f6128d18261286c565b6128db8185612876565b93506128e683612886565b805f5b838110156129165781516128fd88826128a4565b9750612908836128bb565b9250506001810190506128e9565b5085935050505092915050565b5f6040820190506129365f830185611df2565b818103602083015261294881846128c7565b90509392505050565b5f80fd5b61295e82611e42565b810181811067ffffffffffffffff8211171561297d5761297c612796565b5b80604052505050565b5f61298f611eaa565b905061299b8282612955565b919050565b5f67ffffffffffffffff8211156129ba576129b9612796565b5b602082029050602081019050919050565b5f80fd5b5f815190506129dd81611f15565b92915050565b5f6129f56129f0846129a0565b612986565b90508083825260208201905060208402830185811115612a1857612a176129cb565b5b835b81811015612a415780612a2d88826129cf565b845260208401935050602081019050612a1a565b5050509392505050565b5f82601f830112612a5f57612a5e612951565b5b8151612a6f8482602086016129e3565b91505092915050565b5f60208284031215612a8d57612a8c611eb3565b5b5f82015167ffffffffffffffff811115612aaa57612aa9611eb7565b5b612ab684828501612a4b565b91505092915050565b5f60a082019050612ad25f830188611df2565b612adf6020830187611df2565b8181036040830152612af181866128c7565b9050612b00606083018561202b565b612b0d6080830184611df2565b969550505050505056fea264697066735822122017700f7dbc3c66c5e6ab69684adff188ec67f81ac1932e2da8a477d56a87a2fd64736f6c634300081a0033a2646970667358221220aaa346fd2281fca11298c763550a5bf1896251dfbd2e5b29200ec2207e4c2a4664736f6c634300081a00330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d00000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000320