60806040526040518060400160405280601181526020017f466f726765642046726f6d204574686572000000000000000000000000000000815250600890816200004a919062000457565b506040518060400160405280600681526020017f53544154554500000000000000000000000000000000000000000000000000008152506009908162000091919062000457565b503480156200009f57600080fd5b506001600b60006380ac58cd60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600b6000635b5e139f60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600b60006301ffc9a760e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060006101000a81548160ff02191690831515021790555033600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200053e565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200025f57607f821691505b60208210810362000275576200027462000217565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620002df7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620002a0565b620002eb8683620002a0565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000338620003326200032c8462000303565b6200030d565b62000303565b9050919050565b6000819050919050565b620003548362000317565b6200036c62000363826200033f565b848454620002ad565b825550505050565b600090565b6200038362000374565b6200039081848462000349565b505050565b5b81811015620003b857620003ac60008262000379565b60018101905062000396565b5050565b601f8211156200040757620003d1816200027b565b620003dc8462000290565b81016020851015620003ec578190505b62000404620003fb8562000290565b83018262000395565b50505b505050565b600082821c905092915050565b60006200042c600019846008026200040c565b1980831691505092915050565b600062000447838362000419565b9150826002028217905092915050565b6200046282620001dd565b67ffffffffffffffff8111156200047e576200047d620001e8565b5b6200048a825462000246565b62000497828285620003bc565b600060209050601f831160018114620004cf5760008415620004ba578287015190505b620004c6858262000439565b86555062000536565b601f198416620004df866200027b565b60005b828110156200050957848901518255600182019150602085019450602081019050620004e2565b8683101562000529578489015162000525601f89168262000419565b8355505b6001600288020188555050505b505050505050565b61346d806200054e6000396000f3fe60806040526004361061014b5760003560e01c80636352211e116100b6578063b88d4fde1161006f578063b88d4fde14610497578063c87b56dd146104c0578063d1caa6e6146104fd578063d95eba0d14610528578063e985e9c514610565578063f3cb8385146105a25761014b565b80636352211e1461037557806370a08231146103b25780638c83ed33146103ef5780638da5cb5b1461041857806395d89b4114610443578063a22cb4651461046e5761014b565b806323b872dd1161010857806323b872dd1461027257806333220d5b1461029b57806342842e0e146102b75780634311de8f146102e0578063603db0cd146102f7578063626b31be146103345761014b565b806301ffc9a71461015057806306fdde031461018d578063081812fc146101b8578063095ea7b3146101f557806313af40351461021e57806318160ddd14610247575b600080fd5b34801561015c57600080fd5b50610177600480360381019061017291906120c2565b6105cb565b604051610184919061210a565b60405180910390f35b34801561019957600080fd5b506101a26105eb565b6040516101af91906121b5565b60405180910390f35b3480156101c457600080fd5b506101df60048036038101906101da919061220d565b610679565b6040516101ec919061227b565b60405180910390f35b34801561020157600080fd5b5061021c600480360381019061021791906122c2565b6106fe565b005b34801561022a57600080fd5b5061024560048036038101906102409190612302565b6108bc565b005b34801561025357600080fd5b5061025c610990565b604051610269919061233e565b60405180910390f35b34801561027e57600080fd5b5061029960048036038101906102949190612359565b6109aa565b005b6102b560048036038101906102b091906125a9565b610e14565b005b3480156102c357600080fd5b506102de60048036038101906102d99190612359565b611189565b005b3480156102ec57600080fd5b506102f56111a9565b005b34801561030357600080fd5b5061031e60048036038101906103199190612621565b611292565b60405161032b919061210a565b60405180910390f35b34801561034057600080fd5b5061035b6004803603810190610356919061220d565b6112e6565b60405161036c959493929190612728565b60405180910390f35b34801561038157600080fd5b5061039c6004803603810190610397919061220d565b611513565b6040516103a9919061227b565b60405180910390f35b3480156103be57600080fd5b506103d960048036038101906103d49190612302565b6115b5565b6040516103e6919061233e565b60405180910390f35b3480156103fb57600080fd5b506104166004803603810190610411919061220d565b6115cd565b005b34801561042457600080fd5b5061042d61164f565b60405161043a919061227b565b60405180910390f35b34801561044f57600080fd5b50610458611675565b60405161046591906121b5565b60405180910390f35b34801561047a57600080fd5b50610495600480360381019061049091906127b5565b611703565b005b3480156104a357600080fd5b506104be60048036038101906104b99190612896565b611800565b005b3480156104cc57600080fd5b506104e760048036038101906104e2919061220d565b61194f565b6040516104f491906121b5565b60405180910390f35b34801561050957600080fd5b50610512611a41565b60405161051f919061233e565b60405180910390f35b34801561053457600080fd5b5061054f600480360381019061054a9190612621565b611a4e565b60405161055c919061233e565b60405180910390f35b34801561057157600080fd5b5061058c60048036038101906105879190612919565b611b89565b604051610599919061210a565b60405180910390f35b3480156105ae57600080fd5b506105c960048036038101906105c49190612302565b611bb8565b005b600b6020528060005260406000206000915054906101000a900460ff1681565b600880546105f890612988565b80601f016020809104026020016040519081016040528092919081815260200182805461062490612988565b80156106715780601f1061064657610100808354040283529160200191610671565b820191906000526020600020905b81548152906001019060200180831161065457829003601f168201915b505050505081565b600061068482611c8c565b6106c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ba90612a05565b60405180910390fd5b6006600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061070982611513565b90503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614806107cb5750600760008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61080a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080190612a71565b60405180910390fd5b818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4826006600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461094c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094390612add565b60405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006003546001805490506109a59190612b2c565b905090565b60006109b582611513565b90503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161480610a4f57503373ffffffffffffffffffffffffffffffffffffffff166006600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b80610ae05750600760008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b610b1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1690612a71565b60405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610b8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8490612add565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610bfc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf390612bac565b60405180910390fd5b818373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a48260018084610c669190612b2c565b81548110610c7757610c76612bcc565b5b906000526020600020906005020160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190610d1690612bfb565b9190505550600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190610d6b90612c24565b9190505550600073ffffffffffffffffffffffffffffffffffffffff166006600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e0e576006600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555b50505050565b600082604051602001610e279190612cfc565b60405160208183030381529060405280519060200120905060008082815260200190815260200160002060009054906101000a900460ff1615610e9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9690612d5f565b60405180910390fd5b600160008083815260200190815260200160002060006101000a81548160ff0219169083151502179055506000610ed584611a4e565b905060008103610f1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1190612dcb565b60405180910390fd5b600060646001830281610f3057610f2f612deb565b5b049050662386f26fc10000811115610f4d57662386f26fc1000090505b806004600082825401925050819055508082013414610fa1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9890612e66565b60405180910390fd5b602084511115610fe6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fdd90612ed2565b60405180910390fd5b60016040518060a001604052808781526020018481526020013373ffffffffffffffffffffffffffffffffffffffff1681526020013373ffffffffffffffffffffffffffffffffffffffff1681526020018681525090806001815401808255809150506001900390600052602060002090600502016000909190919091506000820151816000019080519060200190611080929190611fec565b506020820151816001015560408201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550608082015181600401908161112e919061309e565b50505061114060018054905033611d37565b7fe6086002e7a0ddf72b8e24b982e72ec091c7961f68daba3e7ab5a4fad689b46960018054905086338760405161117a9493929190613170565b60405180910390a15050505050565b6111a483838360405180602001604052806000815250611800565b505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611239576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123090612add565b60405180910390fd5b6000600454905060006004819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561128e573d6000803e3d6000fd5b5050565b600080826040516020016112a69190612cfc565b60405160208183030381529060405280519060200120905060008082815260200190815260200160002060009054906101000a900460ff16915050919050565b606060008060006060600180876112fd9190612b2c565b8154811061130e5761130d612bcc565b5b90600052602060002090600502016000016001808861132d9190612b2c565b8154811061133e5761133d612bcc565b5b9060005260206000209060050201600101546001808961135e9190612b2c565b8154811061136f5761136e612bcc565b5b906000526020600020906005020160020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001808a6113af9190612b2c565b815481106113c0576113bf612bcc565b5b906000526020600020906005020160030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001808b6114009190612b2c565b8154811061141157611410612bcc565b5b90600052602060002090600502016004018480548060200260200160405190810160405280929190818152602001828054801561146d57602002820191906000526020600020905b815481526020019060010190808311611459575b5050505050945080805461148090612988565b80601f01602080910402602001604051908101604052809291908181526020018280546114ac90612988565b80156114f95780601f106114ce576101008083540402835291602001916114f9565b820191906000526020600020905b8154815290600101906020018083116114dc57829003601f168201915b505050505090509450945094509450945091939590929450565b600061151e82611c8c565b61155d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155490612a05565b60405180910390fd5b6001808361156b9190612b2c565b8154811061157c5761157b612bcc565b5b906000526020600020906005020160030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60056020528060005260406000206000915090505481565b6115d681611513565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611643576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163a90612add565b60405180910390fd5b61164c81611dec565b50565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6009805461168290612988565b80601f01602080910402602001604051908101604052809291908181526020018280546116ae90612988565b80156116fb5780601f106116d0576101008083540402835291602001916116fb565b820191906000526020600020905b8154815290600101906020018083116116de57829003601f168201915b505050505081565b8173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611760919061210a565b60405180910390a380600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b61180b8484846109aa565b6000833b905060008163ffffffff1611156119485760008490507f150b7a023d4804d13e8c85fb27262cb750cf6ba9f9dd3bb30d90f482ceeb4b1f7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168173ffffffffffffffffffffffffffffffffffffffff1663150b7a02338988886040518563ffffffff1660e01b81526004016118a49493929190613218565b6020604051808303816000875af11580156118c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118e79190613279565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614611946576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193d906132f2565b60405180910390fd5b505b5050505050565b606061195a82611c8c565b611999576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161199090612a05565b60405180910390fd5b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c87b56dd836040518263ffffffff1660e01b81526004016119f4919061233e565b600060405180830381865afa158015611a11573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190611a3a9190613382565b9050919050565b6000600180549050905090565b60008060005b8351811015611b7f576000848281518110611a7257611a71612bcc565b5b6020026020010151905060008111611abf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ab690613417565b60405180910390fd5b60005b610100811015611b7057600060108281611adf57611ade612deb565b5b049050600060028481611af557611af4612deb565b5b0614611b405760008403611b1457660de0b6b3a7640085019450611b3f565b6002600e6010860283010381611b2d57611b2c612deb565b5b0460020a660de0b6b3a7640002850194505b5b60028381611b5157611b50612deb565b5b04925060008303611b625750611b70565b508080600101915050611ac2565b50508080600101915050611a54565b5080915050919050565b60076020528160005260406000206020528060005260406000206000915091509054906101000a900460ff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611c48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c3f90612add565b60405180910390fd5b80600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080821480611ca0575060018054905082115b15611cae5760009050611d32565b600073ffffffffffffffffffffffffffffffffffffffff1660018084611cd49190612b2c565b81548110611ce557611ce4612bcc565b5b906000526020600020906005020160030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141590505b919050565b600560008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190611d8790612c24565b9190505550818173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b600060018083611dfc9190612b2c565b81548110611e0d57611e0c612bcc565b5b9060005260206000209060050201600101549050600060018084611e319190612b2c565b81548110611e4257611e41612bcc565b5b906000526020600020906005020160030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050611e808382611ecc565b8073ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015611ec6573d6000803e3d6000fd5b50505050565b60036000815480929190611edf90612c24565b9190505550600560008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190611f3490612bfb565b919050555060018083611f479190612b2c565b81548110611f5857611f57612bcc565b5b906000526020600020906005020160030160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905581600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b828054828255906000526020600020908101928215612028579160200282015b8281111561202757825182559160200191906001019061200c565b5b5090506120359190612039565b5090565b5b8082111561205257600081600090555060010161203a565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61209f8161206a565b81146120aa57600080fd5b50565b6000813590506120bc81612096565b92915050565b6000602082840312156120d8576120d7612060565b5b60006120e6848285016120ad565b91505092915050565b60008115159050919050565b612104816120ef565b82525050565b600060208201905061211f60008301846120fb565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561215f578082015181840152602081019050612144565b60008484015250505050565b6000601f19601f8301169050919050565b600061218782612125565b6121918185612130565b93506121a1818560208601612141565b6121aa8161216b565b840191505092915050565b600060208201905081810360008301526121cf818461217c565b905092915050565b6000819050919050565b6121ea816121d7565b81146121f557600080fd5b50565b600081359050612207816121e1565b92915050565b60006020828403121561222357612222612060565b5b6000612231848285016121f8565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006122658261223a565b9050919050565b6122758161225a565b82525050565b6000602082019050612290600083018461226c565b92915050565b61229f8161225a565b81146122aa57600080fd5b50565b6000813590506122bc81612296565b92915050565b600080604083850312156122d9576122d8612060565b5b60006122e7858286016122ad565b92505060206122f8858286016121f8565b9150509250929050565b60006020828403121561231857612317612060565b5b6000612326848285016122ad565b91505092915050565b612338816121d7565b82525050565b6000602082019050612353600083018461232f565b92915050565b60008060006060848603121561237257612371612060565b5b6000612380868287016122ad565b9350506020612391868287016122ad565b92505060406123a2868287016121f8565b9150509250925092565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6123e98261216b565b810181811067ffffffffffffffff82111715612408576124076123b1565b5b80604052505050565b600061241b612056565b905061242782826123e0565b919050565b600067ffffffffffffffff821115612447576124466123b1565b5b602082029050602081019050919050565b600080fd5b600061247061246b8461242c565b612411565b9050808382526020820190506020840283018581111561249357612492612458565b5b835b818110156124bc57806124a888826121f8565b845260208401935050602081019050612495565b5050509392505050565b600082601f8301126124db576124da6123ac565b5b81356124eb84826020860161245d565b91505092915050565b600080fd5b600067ffffffffffffffff821115612514576125136123b1565b5b61251d8261216b565b9050602081019050919050565b82818337600083830152505050565b600061254c612547846124f9565b612411565b905082815260208101848484011115612568576125676124f4565b5b61257384828561252a565b509392505050565b600082601f8301126125905761258f6123ac565b5b81356125a0848260208601612539565b91505092915050565b600080604083850312156125c0576125bf612060565b5b600083013567ffffffffffffffff8111156125de576125dd612065565b5b6125ea858286016124c6565b925050602083013567ffffffffffffffff81111561260b5761260a612065565b5b6126178582860161257b565b9150509250929050565b60006020828403121561263757612636612060565b5b600082013567ffffffffffffffff81111561265557612654612065565b5b612661848285016124c6565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61269f816121d7565b82525050565b60006126b18383612696565b60208301905092915050565b6000602082019050919050565b60006126d58261266a565b6126df8185612675565b93506126ea83612686565b8060005b8381101561271b57815161270288826126a5565b975061270d836126bd565b9250506001810190506126ee565b5085935050505092915050565b600060a082019050818103600083015261274281886126ca565b9050612751602083018761232f565b61275e604083018661226c565b61276b606083018561226c565b818103608083015261277d818461217c565b90509695505050505050565b612792816120ef565b811461279d57600080fd5b50565b6000813590506127af81612789565b92915050565b600080604083850312156127cc576127cb612060565b5b60006127da858286016122ad565b92505060206127eb858286016127a0565b9150509250929050565b600067ffffffffffffffff8211156128105761280f6123b1565b5b6128198261216b565b9050602081019050919050565b6000612839612834846127f5565b612411565b905082815260208101848484011115612855576128546124f4565b5b61286084828561252a565b509392505050565b600082601f83011261287d5761287c6123ac565b5b813561288d848260208601612826565b91505092915050565b600080600080608085870312156128b0576128af612060565b5b60006128be878288016122ad565b94505060206128cf878288016122ad565b93505060406128e0878288016121f8565b925050606085013567ffffffffffffffff81111561290157612900612065565b5b61290d87828801612868565b91505092959194509250565b600080604083850312156129305761292f612060565b5b600061293e858286016122ad565b925050602061294f858286016122ad565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806129a057607f821691505b6020821081036129b3576129b2612959565b5b50919050565b7f696e76616c696400000000000000000000000000000000000000000000000000600082015250565b60006129ef600783612130565b91506129fa826129b9565b602082019050919050565b60006020820190508181036000830152612a1e816129e2565b9050919050565b7f7065726d697373696f6e00000000000000000000000000000000000000000000600082015250565b6000612a5b600a83612130565b9150612a6682612a25565b602082019050919050565b60006020820190508181036000830152612a8a81612a4e565b9050919050565b7f6f776e6572000000000000000000000000000000000000000000000000000000600082015250565b6000612ac7600583612130565b9150612ad282612a91565b602082019050919050565b60006020820190508181036000830152612af681612aba565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612b37826121d7565b9150612b42836121d7565b9250828203905081811115612b5a57612b59612afd565b5b92915050565b7f7a65726f00000000000000000000000000000000000000000000000000000000600082015250565b6000612b96600483612130565b9150612ba182612b60565b602082019050919050565b60006020820190508181036000830152612bc581612b89565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000612c06826121d7565b915060008203612c1957612c18612afd565b5b600182039050919050565b6000612c2f826121d7565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612c6157612c60612afd565b5b600182019050919050565b600081905092915050565b612c80816121d7565b82525050565b6000612c928383612c77565b60208301905092915050565b6000612ca98261266a565b612cb38185612c6c565b9350612cbe83612686565b8060005b83811015612cef578151612cd68882612c86565b9750612ce1836126bd565b925050600181019050612cc2565b5085935050505092915050565b6000612d088284612c9e565b915081905092915050565b7f756e697175656e65737300000000000000000000000000000000000000000000600082015250565b6000612d49600a83612130565b9150612d5482612d13565b602082019050919050565b60006020820190508181036000830152612d7881612d3c565b9050919050565b7f656d707479000000000000000000000000000000000000000000000000000000600082015250565b6000612db5600583612130565b9150612dc082612d7f565b602082019050919050565b60006020820190508181036000830152612de481612da8565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f6d73672e76616c75650000000000000000000000000000000000000000000000600082015250565b6000612e50600983612130565b9150612e5b82612e1a565b602082019050919050565b60006020820190508181036000830152612e7f81612e43565b9050919050565b7f6e616d655f6c656e677468000000000000000000000000000000000000000000600082015250565b6000612ebc600b83612130565b9150612ec782612e86565b602082019050919050565b60006020820190508181036000830152612eeb81612eaf565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302612f547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82612f17565b612f5e8683612f17565b95508019841693508086168417925050509392505050565b6000819050919050565b6000612f9b612f96612f91846121d7565b612f76565b6121d7565b9050919050565b6000819050919050565b612fb583612f80565b612fc9612fc182612fa2565b848454612f24565b825550505050565b600090565b612fde612fd1565b612fe9818484612fac565b505050565b5b8181101561300d57613002600082612fd6565b600181019050612fef565b5050565b601f8211156130525761302381612ef2565b61302c84612f07565b8101602085101561303b578190505b61304f61304785612f07565b830182612fee565b50505b505050565b600082821c905092915050565b600061307560001984600802613057565b1980831691505092915050565b600061308e8383613064565b9150826002028217905092915050565b6130a782612125565b67ffffffffffffffff8111156130c0576130bf6123b1565b5b6130ca8254612988565b6130d5828285613011565b600060209050601f83116001811461310857600084156130f6578287015190505b6131008582613082565b865550613168565b601f19841661311686612ef2565b60005b8281101561313e57848901518255600182019150602085019450602081019050613119565b8683101561315b5784890151613157601f891682613064565b8355505b6001600288020188555050505b505050505050565b6000608082019050613185600083018761232f565b818103602083015261319781866126ca565b90506131a6604083018561226c565b81810360608301526131b8818461217c565b905095945050505050565b600081519050919050565b600082825260208201905092915050565b60006131ea826131c3565b6131f481856131ce565b9350613204818560208601612141565b61320d8161216b565b840191505092915050565b600060808201905061322d600083018761226c565b61323a602083018661226c565b613247604083018561232f565b818103606083015261325981846131df565b905095945050505050565b60008151905061327381612096565b92915050565b60006020828403121561328f5761328e612060565b5b600061329d84828501613264565b91505092915050565b7f7265636569766572000000000000000000000000000000000000000000000000600082015250565b60006132dc600883612130565b91506132e7826132a6565b602082019050919050565b6000602082019050818103600083015261330b816132cf565b9050919050565b6000613325613320846124f9565b612411565b905082815260208101848484011115613341576133406124f4565b5b61334c848285612141565b509392505050565b600082601f830112613369576133686123ac565b5b8151613379848260208601613312565b91505092915050565b60006020828403121561339857613397612060565b5b600082015167ffffffffffffffff8111156133b6576133b5612065565b5b6133c284828501613354565b91505092915050565b7f6c6576656c5f656d707479000000000000000000000000000000000000000000600082015250565b6000613401600b83612130565b915061340c826133cb565b602082019050919050565b60006020820190508181036000830152613430816133f4565b905091905056fea26469706673582212204fab9ada90dd8c7fa24b0924bccced23184d02030efb9e2ec88c9a4cd85acd1664736f6c63430008170033