608060405234801561001057600080fd5b5033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550615f09806100616000396000f3fe60806040523480156200001157600080fd5b50600436106200003a5760003560e01c80636a032cd4146200003f5780639d76ea58146200005f575b600080fd5b6200005d6004803603810190620000579190620003a2565b62000081565b005b6200006962000195565b6040516200007891906200044d565b60405180910390f35b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161462000114576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200010b90620004cb565b60405180910390fd5b8282826040516200012590620001b9565b62000133939291906200056f565b604051809103906000f08015801562000150573d6000803e3d6000fd5b506000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61591980620005bb83390190565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200023082620001e5565b810181811067ffffffffffffffff82111715620002525762000251620001f6565b5b80604052505050565b600062000267620001c7565b905062000275828262000225565b919050565b600067ffffffffffffffff821115620002985762000297620001f6565b5b620002a382620001e5565b9050602081019050919050565b82818337600083830152505050565b6000620002d6620002d0846200027a565b6200025b565b905082815260208101848484011115620002f557620002f4620001e0565b5b62000302848285620002b0565b509392505050565b600082601f830112620003225762000321620001db565b5b813562000334848260208601620002bf565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200036a826200033d565b9050919050565b6200037c816200035d565b81146200038857600080fd5b50565b6000813590506200039c8162000371565b92915050565b600080600060608486031215620003be57620003bd620001d1565b5b600084013567ffffffffffffffff811115620003df57620003de620001d6565b5b620003ed868287016200030a565b935050602084013567ffffffffffffffff811115620004115762000410620001d6565b5b6200041f868287016200030a565b925050604062000432868287016200038b565b9150509250925092565b62000447816200035d565b82525050565b60006020820190506200046460008301846200043c565b92915050565b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000620004b36020836200046a565b9150620004c0826200047b565b602082019050919050565b60006020820190508181036000830152620004e681620004a4565b9050919050565b600081519050919050565b60005b8381101562000518578082015181840152602081019050620004fb565b8381111562000528576000848401525b50505050565b60006200053b82620004ed565b6200054781856200046a565b935062000559818560208601620004f8565b6200056481620001e5565b840191505092915050565b600060608201905081810360008301526200058b81866200052e565b90508181036020830152620005a181856200052e565b9050620005b260408301846200043c565b94935050505056fe60c06040523480156200001157600080fd5b506040516200591938038062005919833981810160405281019062000037919062000881565b620000576200004b6200050360201b60201c565b6200050b60201b60201c565b60006002905060006005905060006009905080600a62000078919062000aa8565b66038d7ea4c680006200008c919062000af9565b600a8190555085600b9080519060200190620000aa929190620005cf565b5084600c9080519060200190620000c3929190620005cf565b5080600d81905550600a54600019620000dd919062000b89565b600019620000ec919062000bc1565b60088190555082600e819055508160108190555082600f8190555081601181905550600a5460148190555060001960138190555032601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060085460016000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff168152505060805173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200024b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000271919062000bfc565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060805173ffffffffffffffffffffffffffffffffffffffff166373b295c26040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002db573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000301919062000bfc565b6040518363ffffffff1660e01b81526004016200032092919062000c3f565b6020604051808303816000875af115801562000340573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000366919062000bfc565b73ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff1681525050600160046000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600a54604051620004ef919062000c7d565b60405180910390a350505050505062000cff565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b828054620005dd9062000cc9565b90600052602060002090601f0160209004810192826200060157600085556200064d565b82601f106200061c57805160ff19168380011785556200064d565b828001600101855582156200064d579182015b828111156200064c5782518255916020019190600101906200062f565b5b5090506200065c919062000660565b5090565b5b808211156200067b57600081600090555060010162000661565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620006e8826200069d565b810181811067ffffffffffffffff821117156200070a5762000709620006ae565b5b80604052505050565b60006200071f6200067f565b90506200072d8282620006dd565b919050565b600067ffffffffffffffff82111562000750576200074f620006ae565b5b6200075b826200069d565b9050602081019050919050565b60005b83811015620007885780820151818401526020810190506200076b565b8381111562000798576000848401525b50505050565b6000620007b5620007af8462000732565b62000713565b905082815260208101848484011115620007d457620007d362000698565b5b620007e184828562000768565b509392505050565b600082601f83011262000801576200080062000693565b5b8151620008138482602086016200079e565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000849826200081c565b9050919050565b6200085b816200083c565b81146200086757600080fd5b50565b6000815190506200087b8162000850565b92915050565b6000806000606084860312156200089d576200089c62000689565b5b600084015167ffffffffffffffff811115620008be57620008bd6200068e565b5b620008cc86828701620007e9565b935050602084015167ffffffffffffffff811115620008f057620008ef6200068e565b5b620008fe86828701620007e9565b925050604062000911868287016200086a565b9150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620009a9578086048111156200098157620009806200091b565b5b6001851615620009915780820291505b8081029050620009a1856200094a565b945062000961565b94509492505050565b600082620009c4576001905062000a97565b81620009d4576000905062000a97565b8160018114620009ed5760028114620009f85762000a2e565b600191505062000a97565b60ff84111562000a0d5762000a0c6200091b565b5b8360020a91508482111562000a275762000a266200091b565b5b5062000a97565b5060208310610133831016604e8410600b841016171562000a685782820a90508381111562000a625762000a616200091b565b5b62000a97565b62000a77848484600162000957565b9250905081840481111562000a915762000a906200091b565b5b81810290505b9392505050565b6000819050919050565b600062000ab58262000a9e565b915062000ac28362000a9e565b925062000af17fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620009b2565b905092915050565b600062000b068262000a9e565b915062000b138362000a9e565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000b4f5762000b4e6200091b565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000b968262000a9e565b915062000ba38362000a9e565b92508262000bb65762000bb562000b5a565b5b828206905092915050565b600062000bce8262000a9e565b915062000bdb8362000a9e565b92508282101562000bf15762000bf06200091b565b5b828203905092915050565b60006020828403121562000c155762000c1462000689565b5b600062000c25848285016200086a565b91505092915050565b62000c39816200083c565b82525050565b600060408201905062000c56600083018562000c2e565b62000c65602083018462000c2e565b9392505050565b62000c778162000a9e565b82525050565b600060208201905062000c94600083018462000c6c565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000ce257607f821691505b6020821081141562000cf95762000cf862000c9a565b5b50919050565b60805160a051614bbc62000d5d6000396000818161195601528181611f86015261234c015260008181611d7f01528181611fde0152818161266b0152818161274c0152818161277301528181612f270152612f4e0152614bbc6000f3fe6080604052600436106101dc5760003560e01c80635342acb411610102578063a8aa1b3111610095578063d493b9ac11610064578063d493b9ac146106ed578063dd62ed3e14610716578063f2fde38b14610753578063f887ea401461077c576101e3565b8063a8aa1b3114610633578063a9059cbb1461065e578063b759f9541461069b578063c49b9a80146106c4576101e3565b806388f82020116100d157806388f82020146105635780638da5cb5b146105a057806395d89b41146105cb578063a457c2d7146105f6576101e3565b80635342acb4146104a9578063570c7335146104e657806370a082311461050f578063715018a61461054c576101e3565b8063395093511161017a5780633d140d21116101495780633d140d21146104035780634549b0391461042c57806348c54b9d1461046957806352390c0214610480576101e3565b806339509351146103495780633b124fe7146103865780633bd5d173146103b15780633c046960146103da576101e3565b806323b872dd116101b657806323b872dd1461027b5780632d838119146102b8578063313ce567146102f55780633685d41914610320576101e3565b806306fdde03146101e8578063095ea7b31461021357806318160ddd14610250576101e3565b366101e357005b600080fd5b3480156101f457600080fd5b506101fd6107a7565b60405161020a9190613c1a565b60405180910390f35b34801561021f57600080fd5b5061023a60048036038101906102359190613ce4565b610839565b6040516102479190613d3f565b60405180910390f35b34801561025c57600080fd5b50610265610850565b6040516102729190613d69565b60405180910390f35b34801561028757600080fd5b506102a2600480360381019061029d9190613d84565b61085a565b6040516102af9190613d3f565b60405180910390f35b3480156102c457600080fd5b506102df60048036038101906102da9190613dd7565b610904565b6040516102ec9190613d69565b60405180910390f35b34801561030157600080fd5b5061030a61096b565b6040516103179190613d69565b60405180910390f35b34801561032c57600080fd5b5061034760048036038101906103429190613e04565b610975565b005b34801561035557600080fd5b50610370600480360381019061036b9190613ce4565b610cbf565b60405161037d9190613d3f565b60405180910390f35b34801561039257600080fd5b5061039b610d5d565b6040516103a89190613d69565b60405180910390f35b3480156103bd57600080fd5b506103d860048036038101906103d39190613dd7565b610d63565b005b3480156103e657600080fd5b5061040160048036038101906103fc9190613f79565b610ec2565b005b34801561040f57600080fd5b5061042a60048036038101906104259190614001565b610fd4565b005b34801561043857600080fd5b50610453600480360381019061044e9190614041565b6110bf565b6040516104609190613d69565b60405180910390f35b34801561047557600080fd5b5061047e611143565b005b34801561048c57600080fd5b506104a760048036038101906104a29190613e04565b61123e565b005b3480156104b557600080fd5b506104d060048036038101906104cb9190613e04565b6114ed565b6040516104dd9190613d3f565b60405180910390f35b3480156104f257600080fd5b5061050d60048036038101906105089190613ce4565b611543565b005b34801561051b57600080fd5b5061053660048036038101906105319190613e04565b61161e565b6040516105439190613d69565b60405180910390f35b34801561055857600080fd5b50610561611709565b005b34801561056f57600080fd5b5061058a60048036038101906105859190613e04565b6117a5565b6040516105979190613d3f565b60405180910390f35b3480156105ac57600080fd5b506105b56117fb565b6040516105c29190614090565b60405180910390f35b3480156105d757600080fd5b506105e0611824565b6040516105ed9190613c1a565b60405180910390f35b34801561060257600080fd5b5061061d60048036038101906106189190613ce4565b6118b6565b60405161062a9190613d3f565b60405180910390f35b34801561063f57600080fd5b50610648611954565b6040516106559190614090565b60405180910390f35b34801561066a57600080fd5b5061068560048036038101906106809190613ce4565b611978565b6040516106929190613d3f565b60405180910390f35b3480156106a757600080fd5b506106c260048036038101906106bd9190613dd7565b61198f565b005b3480156106d057600080fd5b506106eb60048036038101906106e691906140ab565b611a29565b005b3480156106f957600080fd5b50610714600480360381019061070f9190613d84565b611ad6565b005b34801561072257600080fd5b5061073d600480360381019061073891906140d8565b611bea565b60405161074a9190613d69565b60405180910390f35b34801561075f57600080fd5b5061077a60048036038101906107759190613e04565b611c71565b005b34801561078857600080fd5b50610791611d7d565b60405161079e9190614177565b60405180910390f35b6060600b80546107b6906141c1565b80601f01602080910402602001604051908101604052809291908181526020018280546107e2906141c1565b801561082f5780601f106108045761010080835404028352916020019161082f565b820191906000526020600020905b81548152906001019060200180831161081257829003601f168201915b5050505050905090565b6000610846338484611da1565b6001905092915050565b6000600a54905090565b6000610867848484611f6c565b6108f9843384600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546108f49190614222565b611da1565b600190509392505050565b600060085482111561094b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610942906142c8565b60405180910390fd5b6000610955612488565b905080836109639190614317565b915050919050565b6000600d54905090565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a05576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109fc90614394565b60405180910390fd5b600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610a91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8890614400565b60405180910390fd5b60005b600780549050811015610cbb578173ffffffffffffffffffffffffffffffffffffffff1660078281548110610acc57610acb614420565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610ca85760076001600780549050610b279190614222565b81548110610b3857610b37614420565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660078281548110610b7757610b76614420565b5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506007805480610c6e57610c6d61444f565b5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690559055610cbb565b8080610cb39061447e565b915050610a94565b5050565b6000610d53338484600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d4e91906144c7565b611da1565b6001905092915050565b600e5481565b6000339050600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610df5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dec9061458f565b60405180910390fd5b6000610e00836124ac565b5050505050905080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e529190614222565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600854610ea39190614222565b60088190555082600954610eb791906144c7565b600981905550505050565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4990614394565b60405180910390fd5b60005b8251811015610fcf578160056000858481518110610f7657610f75614420565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508080610fc79061447e565b915050610f55565b505050565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611064576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105b90614394565b60405180910390fd5b80600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600a54831115611106576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fd906145fb565b60405180910390fd5b81611126576000611116846124ac565b505050505090508091505061113d565b6000611131846124ac565b50505050915050809150505b92915050565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146111d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ca90614394565b60405180910390fd5b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f1935050505015801561123b573d6000803e3d6000fd5b50565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146112ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c590614394565b60405180910390fd5b600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561135b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135290614400565b60405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111561142f576113eb600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610904565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6001600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506007819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146115d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ca90614394565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611619573d6000803e3d6000fd5b505050565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156116b957600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050611704565b611701600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610904565b90505b919050565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611799576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161179090614394565b60405180910390fd5b6117a36000612508565b565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600c8054611833906141c1565b80601f016020809104026020016040519081016040528092919081815260200182805461185f906141c1565b80156118ac5780601f10611881576101008083540402835291602001916118ac565b820191906000526020600020905b81548152906001019060200180831161188f57829003601f168201915b5050505050905090565b600061194a338484600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119459190614222565b611da1565b6001905092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000611985338484611f6c565b6001905092915050565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611a1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1690614394565b60405180910390fd5b8060148190555050565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611ab9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ab090614394565b60405180910390fd5b80601260016101000a81548160ff02191690831515021790555050565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611b66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5d90614394565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b8152600401611ba192919061461b565b6020604051808303816000875af1158015611bc0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611be49190614659565b50505050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611d01576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cf890614394565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611d71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d68906146f8565b60405180910390fd5b611d7a81612508565b50565b7f000000000000000000000000000000000000000000000000000000000000000081565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611e11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e089061478a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611e81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e789061481c565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611f5f9190613d69565b60405180910390a3505050565b601260009054906101000a900460ff16158015611fd557507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561202d57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156120835750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612162576000600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541180156121225750601454600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461211f91906144c7565b42105b612161576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612158906148ae565b60405180910390fd5b5b600061216d3061161e565b9050600060135482101590506000600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156122065742600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480156122b05750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b80156123095750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b156123295782600a8190555061232260001919856125cc565b5050612483565b8080156123435750601260009054906101000a900460ff16155b801561239b57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156123b35750601260019054906101000a900460ff165b156123c2576123c182612816565b5b600060019050600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806124695750600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561247357600090505b61247f868686846128c0565b5050505b505050565b6000806000612495612bd1565b9150915080826124a59190614317565b9250505090565b60008060008060008060008060006124c38a612e6f565b92509250925060008060006124e18d86866124dc612488565b612ebb565b9250925092508282828888889b509b509b509b509b509b5050505050505091939550919395565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000600267ffffffffffffffff8111156125e9576125e8613e36565b5b6040519080825280602002602001820160405280156126175781602001602082028036833780820191505090505b509050308160008151811061262f5761262e614420565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166373b295c26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156126d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126f891906148e3565b8160018151811061270c5761270b614420565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612771307f000000000000000000000000000000000000000000000000000000000000000085611da1565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663762b156284600084866014426127bf91906144c7565b6040518663ffffffff1660e01b81526004016127df959493929190614a09565b600060405180830381600087803b1580156127f957600080fd5b505af115801561280d573d6000803e3d6000fd5b50505050505050565b6001601260006101000a81548160ff02191690831515021790555060006002826128409190614317565b9050600081836128509190614222565b9050600047905061286183306125cc565b6000814761286f9190614222565b905061289e8382601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612f21565b505050506000601260006101000a81548160ff02191690831515021790555050565b806128ce576128cd612ffc565b5b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156129715750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156129865761298184848461303f565b612bbd565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015612a295750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612a3e57612a3984848461328a565b612bbc565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015612ae25750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612af757612af28484846134d5565b612bbb565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612b995750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612bae57612ba9848484613692565b612bba565b612bb98484846134d5565b5b5b5b5b80612bcb57612bca61396b565b5b50505050565b600080600060085490506000600a54905060005b600780549050811015612e3957826001600060078481548110612c0b57612c0a614420565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541180612cf95750816002600060078481548110612c9157612c90614420565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b15612d1057600854600a5494509450505050612e6b565b6001600060078381548110612d2857612d27614420565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612d999190614222565b92506002600060078381548110612db357612db2614420565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482612e249190614222565b91508080612e319061447e565b915050612be5565b50600a54600854612e4a9190614317565b821015612e6257600854600a54935093505050612e6b565b81819350935050505b9091565b600080600080612e7e8561397f565b90506000612e8b866139a2565b90506000818388612e9c9190614222565b612ea69190614222565b90508083839550955095505050509193909250565b6000806000808488612ecd9190614a63565b905060008588612edd9190614a63565b905060008688612eed9190614a63565b90506000818385612efe9190614222565b612f089190614222565b9050838184965096509650505050509450945094915050565b612f4c307f000000000000000000000000000000000000000000000000000000000000000085611da1565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f91b3f7283308660008087426040518863ffffffff1660e01b8152600401612fb196959493929190614abd565b60606040518083038185885af1158015612fcf573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612ff49190614b33565b505050505050565b6000600e5414801561301057506000601054145b1561301a5761303d565b600e54600f819055506010546011819055506000600e8190555060006010819055505b565b600080600080600080613051876124ac565b95509550955095509550955086600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546130a89190614222565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555085600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546131369190614222565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555084600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546131c491906144c7565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613210816139c5565b61321a8483613b55565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516132779190613d69565b60405180910390a3505050505050505050565b60008060008060008061329c876124ac565b95509550955095509550955085600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546132f39190614222565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555082600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461338191906144c7565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555084600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461340f91906144c7565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061345b816139c5565b6134658483613b55565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516134c29190613d69565b60405180910390a3505050505050505050565b6000806000806000806134e7876124ac565b95509550955095509550955085600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461353e9190614222565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555084600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546135cc91906144c7565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613618816139c5565b6136228483613b55565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161367f9190613d69565b60405180910390a3505050505050505050565b6000806000806000806136a4876124ac565b95509550955095509550955086600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546136fb9190614222565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555085600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546137899190614222565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555082600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461381791906144c7565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555084600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546138a591906144c7565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506138f1816139c5565b6138fb8483613b55565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516139589190613d69565b60405180910390a3505050505050505050565b600f54600e81905550601154601081905550565b60006064600e54836139919190614a63565b61399b9190614317565b9050919050565b60006064601054836139b49190614a63565b6139be9190614317565b9050919050565b60006139cf612488565b9050600081836139df9190614a63565b905080600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613a2c91906144c7565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615613b505782600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613b0c91906144c7565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b505050565b81600854613b639190614222565b60088190555080600954613b7791906144c7565b6009819055505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613bbb578082015181840152602081019050613ba0565b83811115613bca576000848401525b50505050565b6000601f19601f8301169050919050565b6000613bec82613b81565b613bf68185613b8c565b9350613c06818560208601613b9d565b613c0f81613bd0565b840191505092915050565b60006020820190508181036000830152613c348184613be1565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613c7b82613c50565b9050919050565b613c8b81613c70565b8114613c9657600080fd5b50565b600081359050613ca881613c82565b92915050565b6000819050919050565b613cc181613cae565b8114613ccc57600080fd5b50565b600081359050613cde81613cb8565b92915050565b60008060408385031215613cfb57613cfa613c46565b5b6000613d0985828601613c99565b9250506020613d1a85828601613ccf565b9150509250929050565b60008115159050919050565b613d3981613d24565b82525050565b6000602082019050613d546000830184613d30565b92915050565b613d6381613cae565b82525050565b6000602082019050613d7e6000830184613d5a565b92915050565b600080600060608486031215613d9d57613d9c613c46565b5b6000613dab86828701613c99565b9350506020613dbc86828701613c99565b9250506040613dcd86828701613ccf565b9150509250925092565b600060208284031215613ded57613dec613c46565b5b6000613dfb84828501613ccf565b91505092915050565b600060208284031215613e1a57613e19613c46565b5b6000613e2884828501613c99565b91505092915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b613e6e82613bd0565b810181811067ffffffffffffffff82111715613e8d57613e8c613e36565b5b80604052505050565b6000613ea0613c3c565b9050613eac8282613e65565b919050565b600067ffffffffffffffff821115613ecc57613ecb613e36565b5b602082029050602081019050919050565b600080fd5b6000613ef5613ef084613eb1565b613e96565b90508083825260208201905060208402830185811115613f1857613f17613edd565b5b835b81811015613f415780613f2d8882613c99565b845260208401935050602081019050613f1a565b5050509392505050565b600082601f830112613f6057613f5f613e31565b5b8135613f70848260208601613ee2565b91505092915050565b60008060408385031215613f9057613f8f613c46565b5b600083013567ffffffffffffffff811115613fae57613fad613c4b565b5b613fba85828601613f4b565b9250506020613fcb85828601613ccf565b9150509250929050565b613fde81613d24565b8114613fe957600080fd5b50565b600081359050613ffb81613fd5565b92915050565b6000806040838503121561401857614017613c46565b5b600061402685828601613c99565b925050602061403785828601613fec565b9150509250929050565b6000806040838503121561405857614057613c46565b5b600061406685828601613ccf565b925050602061407785828601613fec565b9150509250929050565b61408a81613c70565b82525050565b60006020820190506140a56000830184614081565b92915050565b6000602082840312156140c1576140c0613c46565b5b60006140cf84828501613fec565b91505092915050565b600080604083850312156140ef576140ee613c46565b5b60006140fd85828601613c99565b925050602061410e85828601613c99565b9150509250929050565b6000819050919050565b600061413d61413861413384613c50565b614118565b613c50565b9050919050565b600061414f82614122565b9050919050565b600061416182614144565b9050919050565b61417181614156565b82525050565b600060208201905061418c6000830184614168565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806141d957607f821691505b602082108114156141ed576141ec614192565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061422d82613cae565b915061423883613cae565b92508282101561424b5761424a6141f3565b5b828203905092915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b60006142b2602a83613b8c565b91506142bd82614256565b604082019050919050565b600060208201905081810360008301526142e1816142a5565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061432282613cae565b915061432d83613cae565b92508261433d5761433c6142e8565b5b828204905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061437e602083613b8c565b915061438982614348565b602082019050919050565b600060208201905081810360008301526143ad81614371565b9050919050565b7f4163636f756e7420697320616c7265616479206578636c756465640000000000600082015250565b60006143ea601b83613b8c565b91506143f5826143b4565b602082019050919050565b60006020820190508181036000830152614419816143dd565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b600061448982613cae565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156144bc576144bb6141f3565b5b600182019050919050565b60006144d282613cae565b91506144dd83613cae565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115614512576145116141f3565b5b828201905092915050565b7f4578636c75646564206164647265737365732063616e6e6f742063616c6c207460008201527f6869732066756e6374696f6e0000000000000000000000000000000000000000602082015250565b6000614579602c83613b8c565b91506145848261451d565b604082019050919050565b600060208201905081810360008301526145a88161456c565b9050919050565b7f416d6f756e74206d757374206265206c657373207468616e20737570706c7900600082015250565b60006145e5601f83613b8c565b91506145f0826145af565b602082019050919050565b60006020820190508181036000830152614614816145d8565b9050919050565b60006040820190506146306000830185614081565b61463d6020830184613d5a565b9392505050565b60008151905061465381613fd5565b92915050565b60006020828403121561466f5761466e613c46565b5b600061467d84828501614644565b91505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006146e2602683613b8c565b91506146ed82614686565b604082019050919050565b60006020820190508181036000830152614711816146d5565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000614774602483613b8c565b915061477f82614718565b604082019050919050565b600060208201905081810360008301526147a381614767565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000614806602283613b8c565b9150614811826147aa565b604082019050919050565b60006020820190508181036000830152614835816147f9565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206d61785460008201527f78416d6f756e742e000000000000000000000000000000000000000000000000602082015250565b6000614898602883613b8c565b91506148a38261483c565b604082019050919050565b600060208201905081810360008301526148c78161488b565b9050919050565b6000815190506148dd81613c82565b92915050565b6000602082840312156148f9576148f8613c46565b5b6000614907848285016148ce565b91505092915050565b6000819050919050565b600061493561493061492b84614910565b614118565b613cae565b9050919050565b6149458161491a565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61498081613c70565b82525050565b60006149928383614977565b60208301905092915050565b6000602082019050919050565b60006149b68261494b565b6149c08185614956565b93506149cb83614967565b8060005b838110156149fc5781516149e38882614986565b97506149ee8361499e565b9250506001810190506149cf565b5085935050505092915050565b600060a082019050614a1e6000830188613d5a565b614a2b602083018761493c565b8181036040830152614a3d81866149ab565b9050614a4c6060830185614081565b614a596080830184613d5a565b9695505050505050565b6000614a6e82613cae565b9150614a7983613cae565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615614ab257614ab16141f3565b5b828202905092915050565b600060c082019050614ad26000830189614081565b614adf6020830188613d5a565b614aec604083018761493c565b614af9606083018661493c565b614b066080830185614081565b614b1360a0830184613d5a565b979650505050505050565b600081519050614b2d81613cb8565b92915050565b600080600060608486031215614b4c57614b4b613c46565b5b6000614b5a86828701614b1e565b9350506020614b6b86828701614b1e565b9250506040614b7c86828701614b1e565b915050925092509256fea264697066735822122098d8501d4f2287b97935372e536542a13ee908a2991be79f1b240431364c1fd064736f6c634300080a0033a2646970667358221220539de0945a96ae4647405794b8f4825b391c5bd8e3978ed5c817e531d81b78d564736f6c634300080a0033