60806040526040518060400160405280600a81526020017f56756c63616e20496e7500000000000000000000000000000000000000000000815250600190816200004a919062001192565b506040518060400160405280600381526020017f56554c00000000000000000000000000000000000000000000000000000000008152506002908162000091919062001192565b506009600360006101000a81548160ff021916908360ff16021790555073de3ab72727a041ab365f6b419499d7a0d1b7ef38600360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550738af2f4b7566d1e071239249c22f08b1ef99ee374600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550607d600b55607d600c55607d600d55607d600e55600360009054906101000a900460ff16600a6200018a919062001409565b620f42406200019a91906200145a565b601155600360009054906101000a900460ff16600a620001bb919062001409565b611770620001ca91906200145a565b601255620002056103e8620001f1601460115462000ba160201b62002d511790919060201c565b62000c2460201b62002dcb1790919060201c565b601355620002406103e86200022c601460115462000ba160201b62002d511790919060201c565b62000c2460201b62002dcb1790919060201c565b6014556001601560006101000a81548160ff0219169083151502179055506001601560016101000a81548160ff0219169083151502179055506000601560026101000a81548160ff0219169083151502179055506001601660156101000a81548160ff021916908315150217905550348015620002bc57600080fd5b506000620002cf62000c7660201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506000738af2f4b7566d1e071239249c22f08b1ef99ee37490506000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620003eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000411919062001525565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000479573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200049f919062001525565b6040518363ffffffff1660e01b8152600401620004be92919062001568565b6020604051808303816000875af1158015620004de573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000504919062001525565b601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601560036101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600019600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601560039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160096000601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016009600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600960008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160086000601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000aae600b54600c5462000c7e60201b62002e151790919060201c565b600f8190555062000ad2600d54600e5462000c7e60201b62002e151790919060201c565b60108190555062000ae98262000ce160201b60201c565b601154600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60115460405162000b919190620015a6565b60405180910390a3505062001958565b600080830362000bb5576000905062000c1e565b6000828462000bc591906200145a565b905082848262000bd69190620015f2565b1462000c19576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000c1090620016b1565b60405180910390fd5b809150505b92915050565b600062000c6e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525062000eb060201b60201c565b905092915050565b600033905090565b600080828462000c8f9190620016d3565b90508381101562000cd7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000cce9062001780565b60405180910390fd5b8091505092915050565b62000cf162000c7660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161462000d81576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000d7890620017f2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160362000df3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000dea906200188a565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000808311829062000efa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000ef1919062001934565b60405180910390fd5b506000838562000f0b9190620015f2565b9050809150509392505050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000f9a57607f821691505b60208210810362000fb05762000faf62000f52565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200101a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000fdb565b62001026868362000fdb565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620010736200106d62001067846200103e565b62001048565b6200103e565b9050919050565b6000819050919050565b6200108f8362001052565b620010a76200109e826200107a565b84845462000fe8565b825550505050565b600090565b620010be620010af565b620010cb81848462001084565b505050565b5b81811015620010f357620010e7600082620010b4565b600181019050620010d1565b5050565b601f82111562001142576200110c8162000fb6565b620011178462000fcb565b8101602085101562001127578190505b6200113f620011368562000fcb565b830182620010d0565b50505b505050565b600082821c905092915050565b6000620011676000198460080262001147565b1980831691505092915050565b600062001182838362001154565b9150826002028217905092915050565b6200119d8262000f18565b67ffffffffffffffff811115620011b957620011b862000f23565b5b620011c5825462000f81565b620011d2828285620010f7565b600060209050601f8311600181146200120a5760008415620011f5578287015190505b62001201858262001174565b86555062001271565b601f1984166200121a8662000fb6565b60005b8281101562001244578489015182556001820191506020850194506020810190506200121d565b8683101562001264578489015162001260601f89168262001154565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200130757808604811115620012df57620012de62001279565b5b6001851615620012ef5780820291505b8081029050620012ff85620012a8565b9450620012bf565b94509492505050565b600082620013225760019050620013f5565b81620013325760009050620013f5565b81600181146200134b576002811462001356576200138c565b6001915050620013f5565b60ff8411156200136b576200136a62001279565b5b8360020a91508482111562001385576200138462001279565b5b50620013f5565b5060208310610133831016604e8410600b8410161715620013c65782820a905083811115620013c057620013bf62001279565b5b620013f5565b620013d58484846001620012b5565b92509050818404811115620013ef57620013ee62001279565b5b81810290505b9392505050565b600060ff82169050919050565b600062001416826200103e565b91506200142383620013fc565b9250620014527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462001310565b905092915050565b600062001467826200103e565b915062001474836200103e565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620014b057620014af62001279565b5b828202905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620014ed82620014c0565b9050919050565b620014ff81620014e0565b81146200150b57600080fd5b50565b6000815190506200151f81620014f4565b92915050565b6000602082840312156200153e576200153d620014bb565b5b60006200154e848285016200150e565b91505092915050565b6200156281620014e0565b82525050565b60006040820190506200157f600083018562001557565b6200158e602083018462001557565b9392505050565b620015a0816200103e565b82525050565b6000602082019050620015bd600083018462001595565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620015ff826200103e565b91506200160c836200103e565b9250826200161f576200161e620015c3565b5b828204905092915050565b600082825260208201905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000620016996021836200162a565b9150620016a6826200163b565b604082019050919050565b60006020820190508181036000830152620016cc816200168a565b9050919050565b6000620016e0826200103e565b9150620016ed836200103e565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562001725576200172462001279565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600062001768601b836200162a565b9150620017758262001730565b602082019050919050565b600060208201905081810360008301526200179b8162001759565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000620017da6020836200162a565b9150620017e782620017a2565b602082019050919050565b600060208201905081810360008301526200180d81620017cb565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000620018726026836200162a565b91506200187f8262001814565b604082019050919050565b60006020820190508181036000830152620018a58162001863565b9050919050565b60005b83811015620018cc578082015181840152602081019050620018af565b83811115620018dc576000848401525b50505050565b6000601f19601f8301169050919050565b6000620019008262000f18565b6200190c81856200162a565b93506200191e818560208601620018ac565b6200192981620018e2565b840191505092915050565b60006020820190508181036000830152620019508184620018f3565b905092915050565b61530c80620019686000396000f3fe60806040526004361061031e5760003560e01c8063751039fc116101ab578063c0b4d199116100f7578063dd62ed3e11610095578063f275f64b1161006f578063f275f64b14610bd1578063f2fde38b14610bfa578063f872858a14610c23578063fb0ecfa414610c4e57610325565b8063dd62ed3e14610b54578063e6b2603b14610b91578063ee828db314610ba857610325565b8063c816841b116100d1578063c816841b14610a98578063c867d60b14610ac3578063cea9d26f14610b00578063d2d7ad8314610b2957610325565b8063c0b4d19914610a1d578063c16dd4a414610a46578063c49b9a8014610a6f57610325565b80638f32d59b11610164578063a9059cbb1161013e578063a9059cbb14610963578063af9549e0146109a0578063b44cd5bc146109c9578063bf4cc52b146109f257610325565b80638f32d59b146108d057806395d89b41146108fb578063a457c2d71461092657610325565b8063751039fc146107d057806375f0a874146107e75780637d1db4a514610812578063807c2d9c1461083d5780638b42507f146108685780638da5cb5b146108a557610325565b8063395093511161026a5780635881f3ef116102235780636902ca61116101fd5780636902ca611461072a5780636ac9a8701461074157806370a082311461076a578063728d41c9146107a757610325565b80635881f3ef146106995780635c85974f146106d65780635e42358c146106ff57610325565b806339509351146105655780633b97084a146105a25780633ecad271146105cb5780634974d88f146106085780634a74bb02146106315780635342acb41461065c57610325565b806320365d5f116102d75780632b112e49116102b15780632b112e49146104bb578063313ce567146104e65780633187c3041461051157806338ec0b111461053c57610325565b806320365d5f1461043c57806323b872dd1461045357806327c8f8351461049057610325565b806306fdde031461032a5780630930907b14610355578063095ea7b31461038057806313ea1d89146103bd5780631694505e146103e657806318160ddd1461041157610325565b3661032557005b600080fd5b34801561033657600080fd5b5061033f610c77565b60405161034c9190614240565b60405180910390f35b34801561036157600080fd5b5061036a610d09565b60405161037791906142a3565b60405180910390f35b34801561038c57600080fd5b506103a760048036038101906103a29190614325565b610d0e565b6040516103b49190614380565b60405180910390f35b3480156103c957600080fd5b506103e460048036038101906103df91906143c7565b610d2c565b005b3480156103f257600080fd5b506103fb610eae565b6040516104089190614466565b60405180910390f35b34801561041d57600080fd5b50610426610ed4565b6040516104339190614490565b60405180910390f35b34801561044857600080fd5b50610451610ede565b005b34801561045f57600080fd5b5061047a600480360381019061047591906144ab565b611033565b6040516104879190614380565b60405180910390f35b34801561049c57600080fd5b506104a561110d565b6040516104b291906142a3565b60405180910390f35b3480156104c757600080fd5b506104d0611113565b6040516104dd9190614490565b60405180910390f35b3480156104f257600080fd5b506104fb611154565b604051610508919061451a565b60405180910390f35b34801561051d57600080fd5b5061052661116b565b6040516105339190614380565b60405180910390f35b34801561054857600080fd5b50610563600480360381019061055e91906143c7565b61117e565b005b34801561057157600080fd5b5061058c60048036038101906105879190614325565b611300565b6040516105999190614380565b60405180910390f35b3480156105ae57600080fd5b506105c960048036038101906105c49190614535565b6113b3565b005b3480156105d757600080fd5b506105f260048036038101906105ed9190614562565b611452565b6040516105ff9190614380565b60405180910390f35b34801561061457600080fd5b5061062f600480360381019061062a919061458f565b611472565b005b34801561063d57600080fd5b50610646611524565b6040516106539190614380565b60405180910390f35b34801561066857600080fd5b50610683600480360381019061067e9190614562565b611537565b6040516106909190614380565b60405180910390f35b3480156106a557600080fd5b506106c060048036038101906106bb9190614562565b611557565b6040516106cd91906142a3565b60405180910390f35b3480156106e257600080fd5b506106fd60048036038101906106f89190614535565b611a5a565b005b34801561070b57600080fd5b50610714611af9565b6040516107219190614380565b60405180910390f35b34801561073657600080fd5b5061073f611b0c565b005b34801561074d57600080fd5b50610768600480360381019061076391906145bc565b611bd9565b005b34801561077657600080fd5b50610791600480360381019061078c9190614562565b611c9d565b60405161079e9190614490565b60405180910390f35b3480156107b357600080fd5b506107ce60048036038101906107c99190614535565b611ce6565b005b3480156107dc57600080fd5b506107e5611d85565b005b3480156107f357600080fd5b506107fc611e52565b60405161080991906142a3565b60405180910390f35b34801561081e57600080fd5b50610827611e78565b6040516108349190614490565b60405180910390f35b34801561084957600080fd5b50610852611e7e565b60405161085f9190614490565b60405180910390f35b34801561087457600080fd5b5061088f600480360381019061088a9190614562565b611e84565b60405161089c9190614380565b60405180910390f35b3480156108b157600080fd5b506108ba611ea4565b6040516108c791906142a3565b60405180910390f35b3480156108dc57600080fd5b506108e5611ecd565b6040516108f29190614380565b60405180910390f35b34801561090757600080fd5b50610910611f24565b60405161091d9190614240565b60405180910390f35b34801561093257600080fd5b5061094d60048036038101906109489190614325565b611fb6565b60405161095a9190614380565b60405180910390f35b34801561096f57600080fd5b5061098a60048036038101906109859190614325565b612083565b6040516109979190614380565b60405180910390f35b3480156109ac57600080fd5b506109c760048036038101906109c291906143c7565b6120a2565b005b3480156109d557600080fd5b506109f060048036038101906109eb9190614562565b612224565b005b3480156109fe57600080fd5b50610a076122fd565b604051610a1491906142a3565b60405180910390f35b348015610a2957600080fd5b50610a446004803603810190610a3f9190614562565b612323565b005b348015610a5257600080fd5b50610a6d6004803603810190610a6891906143c7565b6123fc565b005b348015610a7b57600080fd5b50610a966004803603810190610a91919061458f565b61254b565b005b348015610aa457600080fd5b50610aad61262f565b604051610aba91906142a3565b60405180910390f35b348015610acf57600080fd5b50610aea6004803603810190610ae59190614562565b612655565b604051610af79190614380565b60405180910390f35b348015610b0c57600080fd5b50610b276004803603810190610b22919061463a565b612675565b005b348015610b3557600080fd5b50610b3e612789565b604051610b4b9190614490565b60405180910390f35b348015610b6057600080fd5b50610b7b6004803603810190610b76919061468d565b61278f565b604051610b889190614490565b60405180910390f35b348015610b9d57600080fd5b50610ba6612816565b005b348015610bb457600080fd5b50610bcf6004803603810190610bca919061458f565b612955565b005b348015610bdd57600080fd5b50610bf86004803603810190610bf3919061458f565b612a07565b005b348015610c0657600080fd5b50610c216004803603810190610c1c9190614562565b612ab9565b005b348015610c2f57600080fd5b50610c38612c7a565b604051610c459190614380565b60405180910390f35b348015610c5a57600080fd5b50610c756004803603810190610c7091906145bc565b612c8d565b005b606060018054610c86906146fc565b80601f0160208091040260200160405190810160405280929190818152602001828054610cb2906146fc565b8015610cff5780601f10610cd457610100808354040283529160200191610cff565b820191906000526020600020905b815481529060010190602001808311610ce257829003601f168201915b5050505050905090565b600081565b6000610d22610d1b612e73565b8484612e7b565b6001905092915050565b610d34612e73565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dc1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db890614779565b60405180910390fd5b801515600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151503610e53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4a906147e5565b60405180910390fd5b80600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601560039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000601154905090565b610ee6612e73565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6a90614779565b60405180910390fd5b61dead73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a361dead6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000611040848484613044565b506111028461104d612e73565b6110fd8560405180606001604052806028815260200161528a60289139600660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006110b3612e73565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546136fa9092919063ffffffff16565b612e7b565b600190509392505050565b61dead81565b600061114f6111226000611c9d565b61114161113061dead611c9d565b60115461375e90919063ffffffff16565b61375e90919063ffffffff16565b905090565b6000600360009054906101000a900460ff16905090565b601560029054906101000a900460ff1681565b611186612e73565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611213576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120a90614779565b60405180910390fd5b801515600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515036112a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129c906147e5565b60405180910390fd5b80600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60006113a961130d612e73565b846113a4856006600061131e612e73565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e1590919063ffffffff16565b612e7b565b6001905092915050565b6113bb612e73565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611448576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143f90614779565b60405180910390fd5b8060128190555050565b60086020528060005260406000206000915054906101000a900460ff1681565b61147a612e73565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611507576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114fe90614779565b60405180910390fd5b80601560016101000a81548160ff02191690831515021790555050565b601660159054906101000a900460ff1681565b60076020528060005260406000206000915054906101000a900460ff1681565b6000611561612e73565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e590614779565b60405180910390fd5b60008290508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561163e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611662919061481a565b73ffffffffffffffffffffffffffffffffffffffff1663e6a43905308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116ed919061481a565b6040518363ffffffff1660e01b815260040161170a929190614847565b602060405180830381865afa158015611727573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061174b919061481a565b9150600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036118de578073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117f0919061481a565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611857573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061187b919061481a565b6040518363ffffffff1660e01b8152600401611898929190614847565b6020604051808303816000875af11580156118b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118db919061481a565b91505b81601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601560036101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160086000601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160096000601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050919050565b611a62612e73565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611aef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ae690614779565b60405180910390fd5b8060138190555050565b601560009054906101000a900460ff1681565b611b14612e73565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611ba1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b9890614779565b60405180910390fd5b6001601560016101000a81548160ff0219169083151502179055506001601560006101000a81548160ff021916908315150217905550565b611be1612e73565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611c6e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c6590614779565b60405180910390fd5b81600e8190555080600d81905550611c93600d54600e54612e1590919063ffffffff16565b6010819055505050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611cee612e73565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611d7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d7290614779565b60405180910390fd5b8060148190555050565b611d8d612e73565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611e1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e1190614779565b60405180910390fd5b6000601560016101000a81548160ff0219169083151502179055506000601560006101000a81548160ff021916908315150217905550565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60135481565b60145481565b600a6020528060005260406000206000915054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b606060028054611f33906146fc565b80601f0160208091040260200160405190810160405280929190818152602001828054611f5f906146fc565b8015611fac5780601f10611f8157610100808354040283529160200191611fac565b820191906000526020600020905b815481529060010190602001808311611f8f57829003601f168201915b5050505050905090565b6000612079611fc3612e73565b84612074856040518060600160405280602581526020016152b26025913960066000611fed612e73565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546136fa9092919063ffffffff16565b612e7b565b6001905092915050565b6000612097612090612e73565b8484613044565b506001905092915050565b6120aa612e73565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612137576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161212e90614779565b60405180910390fd5b801515600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515036121c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121c0906147e5565b60405180910390fd5b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b61222c612e73565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146122b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122b090614779565b60405180910390fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61232b612e73565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146123b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123af90614779565b60405180910390fd5b80600360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b612404612e73565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612491576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161248890614779565b60405180910390fd5b80600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015612547576001600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b5050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146125db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125d2906148bc565b60405180910390fd5b80601660156101000a81548160ff0219169083151502179055507f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc159816040516126249190614380565b60405180910390a150565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60096020528060005260406000206000915054906101000a900460ff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612705576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126fc906148bc565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b81526004016127409291906148dc565b6020604051808303816000875af115801561275f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612783919061491a565b50505050565b60125481565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146128a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161289d906148bc565b60405180910390fd5b60003373ffffffffffffffffffffffffffffffffffffffff16476040516128cc90614978565b60006040518083038185875af1925050503d8060008114612909576040519150601f19603f3d011682016040523d82523d6000602084013e61290e565b606091505b5050905080612952576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612949906149d9565b60405180910390fd5b50565b61295d612e73565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146129ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129e190614779565b60405180910390fd5b80601560006101000a81548160ff02191690831515021790555050565b612a0f612e73565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612a9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a9390614779565b60405180910390fd5b80601560026101000a81548160ff02191690831515021790555050565b612ac1612e73565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612b4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b4590614779565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612bbd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bb490614a6b565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601560019054906101000a900460ff1681565b612c95612e73565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612d22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d1990614779565b60405180910390fd5b81600c8190555080600b81905550612d47600b54600c54612e1590919063ffffffff16565b600f819055505050565b6000808303612d635760009050612dc5565b60008284612d719190614aba565b9050828482612d809190614b43565b14612dc0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612db790614be6565b60405180910390fd5b809150505b92915050565b6000612e0d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506137a8565b905092915050565b6000808284612e249190614c06565b905083811015612e69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e6090614ca8565b60405180910390fd5b8091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612eea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ee190614d3a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612f59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f5090614dcc565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516130379190614490565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036130b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016130ab90614e38565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603613123576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161311a90614ea4565b60405180910390fd5b60008211613166576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161315d90614f10565b60405180910390fd5b601560029054906101000a900460ff1661325b57600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061321b5750600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61325a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161325190614f7c565b60405180910390fd5b5b601660149054906101000a900460ff16156132825761327b84848461380b565b90506136f3565b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156133265750600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561333e5750601560009054906101000a900460ff165b1561338957601354821115613388576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161337f90614fe8565b60405180910390fd5b5b600061339430611c9d565b9050600060125482101590508080156133ba5750601660149054906101000a900460ff16155b80156134105750600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156134285750601660159054906101000a900460ff165b15613436576134356139de565b5b6134bf846040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546136fa9092919063ffffffff16565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600061350e8787613b50565b6135225761351d878787613cbb565b613524565b845b9050601560019054906101000a900460ff16801561358c5750600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156135f1576014546135af826135a189611c9d565b612e1590919063ffffffff16565b11156135f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016135e790615054565b60405180910390fd5b5b61364381600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e1590919063ffffffff16565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516136e39190614490565b60405180910390a3600193505050505b9392505050565b6000838311158290613742576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016137399190614240565b60405180910390fd5b50600083856137519190615074565b9050809150509392505050565b60006137a083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506136fa565b905092915050565b600080831182906137ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016137e69190614240565b60405180910390fd5b50600083856137fe9190614b43565b9050809150509392505050565b6000613896826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546136fa9092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061392b82600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e1590919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516139cb9190614490565b60405180910390a3600190509392505050565b6001601660146101000a81548160ff0219169083151502179055506000613a0430611c9d565b905060008103613a145750613b33565b6000613a2d600d54600b54612e1590919063ffffffff16565b90506000613a48601054600f54612e1590919063ffffffff16565b905060008103613a5a57505050613b33565b6000479050613a6884613ee0565b6000613a7d824761375e90919063ffffffff16565b90506000613aa684613a988785612d5190919063ffffffff16565b612dcb90919063ffffffff16565b90506000613abd828461375e90919063ffffffff16565b90506000821115613af557613af4600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff168361415c565b5b6000811115613b2b57613b2a600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168261415c565b5b505050505050505b6000601660146101000a81548160ff021916908315150217905550565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680613bf35750600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15613c015760019050613cb5565b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680613ca25750600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15613cb05760009050613cb5565b600090505b92915050565b600080600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615613d4057613d396103e8613d2b600f5486612d5190919063ffffffff16565b612dcb90919063ffffffff16565b9050613dbf565b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615613dbe57613dbb6103e8613dad60105486612d5190919063ffffffff16565b612dcb90919063ffffffff16565b90505b5b6000811115613ec357613e1a81600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e1590919063ffffffff16565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051613eba9190614490565b60405180910390a35b613ed6818461375e90919063ffffffff16565b9150509392505050565b6000600267ffffffffffffffff811115613efd57613efc6150a8565b5b604051908082528060200260200182016040528015613f2b5781602001602082028036833780820191505090505b5090503081600081518110613f4357613f426150d7565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601560039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015613fea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061400e919061481a565b81600181518110614022576140216150d7565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061408930601560039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684612e7b565b601560039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016140ed9594939291906151ff565b600060405180830381600087803b15801561410757600080fd5b505af115801561411b573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051614150929190615259565b60405180910390a15050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156141a2573d6000803e3d6000fd5b505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156141e15780820151818401526020810190506141c6565b838111156141f0576000848401525b50505050565b6000601f19601f8301169050919050565b6000614212826141a7565b61421c81856141b2565b935061422c8185602086016141c3565b614235816141f6565b840191505092915050565b6000602082019050818103600083015261425a8184614207565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061428d82614262565b9050919050565b61429d81614282565b82525050565b60006020820190506142b86000830184614294565b92915050565b600080fd5b6142cc81614282565b81146142d757600080fd5b50565b6000813590506142e9816142c3565b92915050565b6000819050919050565b614302816142ef565b811461430d57600080fd5b50565b60008135905061431f816142f9565b92915050565b6000806040838503121561433c5761433b6142be565b5b600061434a858286016142da565b925050602061435b85828601614310565b9150509250929050565b60008115159050919050565b61437a81614365565b82525050565b60006020820190506143956000830184614371565b92915050565b6143a481614365565b81146143af57600080fd5b50565b6000813590506143c18161439b565b92915050565b600080604083850312156143de576143dd6142be565b5b60006143ec858286016142da565b92505060206143fd858286016143b2565b9150509250929050565b6000819050919050565b600061442c61442761442284614262565b614407565b614262565b9050919050565b600061443e82614411565b9050919050565b600061445082614433565b9050919050565b61446081614445565b82525050565b600060208201905061447b6000830184614457565b92915050565b61448a816142ef565b82525050565b60006020820190506144a56000830184614481565b92915050565b6000806000606084860312156144c4576144c36142be565b5b60006144d2868287016142da565b93505060206144e3868287016142da565b92505060406144f486828701614310565b9150509250925092565b600060ff82169050919050565b614514816144fe565b82525050565b600060208201905061452f600083018461450b565b92915050565b60006020828403121561454b5761454a6142be565b5b600061455984828501614310565b91505092915050565b600060208284031215614578576145776142be565b5b6000614586848285016142da565b91505092915050565b6000602082840312156145a5576145a46142be565b5b60006145b3848285016143b2565b91505092915050565b600080604083850312156145d3576145d26142be565b5b60006145e185828601614310565b92505060206145f285828601614310565b9150509250929050565b600061460782614282565b9050919050565b614617816145fc565b811461462257600080fd5b50565b6000813590506146348161460e565b92915050565b600080600060608486031215614653576146526142be565b5b600061466186828701614625565b9350506020614672868287016142da565b925050604061468386828701614310565b9150509250925092565b600080604083850312156146a4576146a36142be565b5b60006146b2858286016142da565b92505060206146c3858286016142da565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061471457607f821691505b602082108103614727576147266146cd565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006147636020836141b2565b915061476e8261472d565b602082019050919050565b6000602082019050818103600083015261479281614756565b9050919050565b7f4e6f74204368616e676564212100000000000000000000000000000000000000600082015250565b60006147cf600d836141b2565b91506147da82614799565b602082019050919050565b600060208201905081810360008301526147fe816147c2565b9050919050565b600081519050614814816142c3565b92915050565b6000602082840312156148305761482f6142be565b5b600061483e84828501614805565b91505092915050565b600060408201905061485c6000830185614294565b6148696020830184614294565b9392505050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865204465760000600082015250565b60006148a6601e836141b2565b91506148b182614870565b602082019050919050565b600060208201905081810360008301526148d581614899565b9050919050565b60006040820190506148f16000830185614294565b6148fe6020830184614481565b9392505050565b6000815190506149148161439b565b92915050565b6000602082840312156149305761492f6142be565b5b600061493e84828501614905565b91505092915050565b600081905092915050565b50565b6000614962600083614947565b915061496d82614952565b600082019050919050565b600061498382614955565b9150819050919050565b7f5472616e73616374696f6e204661696c65642121000000000000000000000000600082015250565b60006149c36014836141b2565b91506149ce8261498d565b602082019050919050565b600060208201905081810360008301526149f2816149b6565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000614a556026836141b2565b9150614a60826149f9565b604082019050919050565b60006020820190508181036000830152614a8481614a48565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000614ac5826142ef565b9150614ad0836142ef565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615614b0957614b08614a8b565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000614b4e826142ef565b9150614b59836142ef565b925082614b6957614b68614b14565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000614bd06021836141b2565b9150614bdb82614b74565b604082019050919050565b60006020820190508181036000830152614bff81614bc3565b9050919050565b6000614c11826142ef565b9150614c1c836142ef565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115614c5157614c50614a8b565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000614c92601b836141b2565b9150614c9d82614c5c565b602082019050919050565b60006020820190508181036000830152614cc181614c85565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000614d246024836141b2565b9150614d2f82614cc8565b604082019050919050565b60006020820190508181036000830152614d5381614d17565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000614db66022836141b2565b9150614dc182614d5a565b604082019050919050565b60006020820190508181036000830152614de581614da9565b9050919050565b7f45524332303a66726f6d207a65726f0000000000000000000000000000000000600082015250565b6000614e22600f836141b2565b9150614e2d82614dec565b602082019050919050565b60006020820190508181036000830152614e5181614e15565b9050919050565b7f45524332303a746f207a65726f00000000000000000000000000000000000000600082015250565b6000614e8e600d836141b2565b9150614e9982614e58565b602082019050919050565b60006020820190508181036000830152614ebd81614e81565b9050919050565b7f496e76616c696420416d6f756e74000000000000000000000000000000000000600082015250565b6000614efa600e836141b2565b9150614f0582614ec4565b602082019050919050565b60006020820190508181036000830152614f2981614eed565b9050919050565b7f54726164696e6720697320506175736564210000000000000000000000000000600082015250565b6000614f666012836141b2565b9150614f7182614f30565b602082019050919050565b60006020820190508181036000830152614f9581614f59565b9050919050565b7f4d61782054780000000000000000000000000000000000000000000000000000600082015250565b6000614fd26006836141b2565b9150614fdd82614f9c565b602082019050919050565b6000602082019050818103600083015261500181614fc5565b9050919050565b7f4d61782057616c6c657400000000000000000000000000000000000000000000600082015250565b600061503e600a836141b2565b915061504982615008565b602082019050919050565b6000602082019050818103600083015261506d81615031565b9050919050565b600061507f826142ef565b915061508a836142ef565b92508282101561509d5761509c614a8b565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b600061512b61512661512184615106565b614407565b6142ef565b9050919050565b61513b81615110565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61517681614282565b82525050565b6000615188838361516d565b60208301905092915050565b6000602082019050919050565b60006151ac82615141565b6151b6818561514c565b93506151c18361515d565b8060005b838110156151f25781516151d9888261517c565b97506151e483615194565b9250506001810190506151c5565b5085935050505092915050565b600060a0820190506152146000830188614481565b6152216020830187615132565b818103604083015261523381866151a1565b90506152426060830185614294565b61524f6080830184614481565b9695505050505050565b600060408201905061526e6000830185614481565b818103602083015261528081846151a1565b9050939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122094a3b9cf72e5bccce854acab4f2cfdb9064acb5f52c253d7f98fdf0c2c7b018d64736f6c634300080f0033