60806040523480156200001157600080fd5b5060405162003a3038038062003a308339818101604052810190620000379190620002e7565b8062000049816200007160201b60201c565b506200006a6200005e6200008660201b60201c565b6200008e60201b60201c565b506200066a565b806002908162000082919062000583565b5050565b600033905090565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620001bd8262000172565b810181811067ffffffffffffffff82111715620001df57620001de62000183565b5b80604052505050565b6000620001f462000154565b9050620002028282620001b2565b919050565b600067ffffffffffffffff82111562000225576200022462000183565b5b620002308262000172565b9050602081019050919050565b60005b838110156200025d57808201518184015260208101905062000240565b60008484015250505050565b6000620002806200027a8462000207565b620001e8565b9050828152602081018484840111156200029f576200029e6200016d565b5b620002ac8482856200023d565b509392505050565b600082601f830112620002cc57620002cb62000168565b5b8151620002de84826020860162000269565b91505092915050565b6000602082840312156200030057620002ff6200015e565b5b600082015167ffffffffffffffff81111562000321576200032062000163565b5b6200032f84828501620002b4565b91505092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200038b57607f821691505b602082108103620003a157620003a062000343565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200040b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620003cc565b620004178683620003cc565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620004646200045e62000458846200042f565b62000439565b6200042f565b9050919050565b6000819050919050565b620004808362000443565b620004986200048f826200046b565b848454620003d9565b825550505050565b600090565b620004af620004a0565b620004bc81848462000475565b505050565b5b81811015620004e457620004d8600082620004a5565b600181019050620004c2565b5050565b601f8211156200053357620004fd81620003a7565b6200050884620003bc565b8101602085101562000518578190505b620005306200052785620003bc565b830182620004c1565b50505b505050565b600082821c905092915050565b6000620005586000198460080262000538565b1980831691505092915050565b600062000573838362000545565b9150826002028217905092915050565b6200058e8262000338565b67ffffffffffffffff811115620005aa57620005a962000183565b5b620005b6825462000372565b620005c3828285620004e8565b600060209050601f831160018114620005fb5760008415620005e6578287015190505b620005f2858262000565565b86555062000662565b601f1984166200060b86620003a7565b60005b8281101562000635578489015182556001820191506020850194506020810190506200060e565b8683101562000655578489015162000651601f89168262000545565b8355505b6001600288020188555050505b505050505050565b6133b6806200067a6000396000f3fe608060405234801561001057600080fd5b50600436106100f45760003560e01c80638467be0d11610097578063c204642c11610066578063c204642c1461026d578063e985e9c514610289578063f242432a146102b9578063f2fde38b146102d5576100f4565b80638467be0d146101fb5780638da5cb5b14610217578063a22cb46514610235578063bf0b5fd214610251576100f4565b80632eb2c2d6116100d35780632eb2c2d6146101895780634e1273f4146101a557806355f804b3146101d5578063715018a6146101f1576100f4565b8062fdd58e146100f957806301ffc9a7146101295780630e89341c14610159575b600080fd5b610113600480360381019061010e9190611b9c565b6102f1565b6040516101209190611beb565b60405180910390f35b610143600480360381019061013e9190611c5e565b6103b9565b6040516101509190611ca6565b60405180910390f35b610173600480360381019061016e9190611cc1565b61049b565b6040516101809190611d7e565b60405180910390f35b6101a3600480360381019061019e9190611f9d565b61052f565b005b6101bf60048036038101906101ba919061212f565b6105d0565b6040516101cc9190612265565b60405180910390f35b6101ef60048036038101906101ea9190612328565b6106e3565b005b6101f96106f7565b005b61021560048036038101906102109190611cc1565b61070b565b005b61021f6107e0565b60405161022c9190612380565b60405180910390f35b61024f600480360381019061024a91906123c7565b61080a565b005b61026b60048036038101906102669190611cc1565b610820565b005b61028760048036038101906102829190612462565b6108bf565b005b6102a3600480360381019061029e91906124c2565b610a46565b6040516102b09190611ca6565b60405180910390f35b6102d360048036038101906102ce9190612502565b610ada565b005b6102ef60048036038101906102ea9190612599565b610b7b565b005b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610361576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161035890612638565b60405180910390fd5b60008083815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60007fd9b67a26000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061048457507f0e89341c000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610494575061049382610bfe565b5b9050919050565b6060600280546104aa90612687565b80601f01602080910402602001604051908101604052809291908181526020018280546104d690612687565b80156105235780601f106104f857610100808354040283529160200191610523565b820191906000526020600020905b81548152906001019060200180831161050657829003601f168201915b50505050509050919050565b610537610c68565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16148061057d575061057c85610577610c68565b610a46565b5b6105bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b39061272a565b60405180910390fd5b6105c98585858585610c70565b5050505050565b60608151835114610616576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060d906127bc565b60405180910390fd5b6000835167ffffffffffffffff81111561063357610632611da5565b5b6040519080825280602002602001820160405280156106615781602001602082028036833780820191505090505b50905060005b84518110156106d8576106ae858281518110610686576106856127dc565b5b60200260200101518583815181106106a1576106a06127dc565b5b60200260200101516102f1565b8282815181106106c1576106c06127dc565b5b602002602001018181525050806001019050610667565b508091505092915050565b6106eb610f8b565b6106f481611009565b50565b6106ff610f8b565b610709600061101c565b565b610713610f8b565b60008111610756576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161074d90612857565b60405180910390fd5b60006004600081548092919061076b906128a6565b91905055905061078c338284604051806020016040528060008152506110e2565b3373ffffffffffffffffffffffffffffffffffffffff167f96234cb3d6c373a1aaa06497a540bc166d4b0359243a088eaf95e21d7253d0be82846040516107d49291906128ee565b60405180910390a25050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61081c610815610c68565b8383611292565b5050565b610828610f8b565b6000811161086b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086290612857565b60405180910390fd5b60005b818110156108bb5760006004600081548092919061088b906128a6565b9190505590506108ad33826001604051806020016040528060008152506110e2565b50808060010191505061086e565b5050565b6108c7610f8b565b6000838390501161090d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161090490612963565b60405180910390fd5b60008111610950576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094790612857565b60405180910390fd5b600060046000815480929190610965906128a6565b91905055905060005b84849050811015610a3f576109bb85858381811061098f5761098e6127dc565b5b90506020020160208101906109a49190612599565b8385604051806020016040528060008152506110e2565b8484828181106109ce576109cd6127dc565b5b90506020020160208101906109e39190612599565b73ffffffffffffffffffffffffffffffffffffffff167f96234cb3d6c373a1aaa06497a540bc166d4b0359243a088eaf95e21d7253d0be8385604051610a2a9291906128ee565b60405180910390a2808060010191505061096e565b5050505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b610ae2610c68565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161480610b285750610b2785610b22610c68565b610a46565b5b610b67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5e9061272a565b60405180910390fd5b610b7485858585856113fe565b5050505050565b610b83610f8b565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610bf2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be9906129f5565b60405180910390fd5b610bfb8161101c565b50565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600033905090565b8151835114610cb4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cab90612a87565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610d23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1a90612b19565b60405180910390fd5b6000610d2d610c68565b9050610d3d818787878787611699565b60005b8451811015610ee8576000858281518110610d5e57610d5d6127dc565b5b602002602001015190506000858381518110610d7d57610d7c6127dc565b5b60200260200101519050600080600084815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610e1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1590612bab565b60405180910390fd5b81810360008085815260200190815260200160002060008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160008085815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610ed39190612bcb565b92505081905550505050806001019050610d40565b508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051610f5f929190612bff565b60405180910390a4610f758187878787876116a1565b610f838187878787876116a9565b505050505050565b610f93610c68565b73ffffffffffffffffffffffffffffffffffffffff16610fb16107e0565b73ffffffffffffffffffffffffffffffffffffffff1614611007576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ffe90612c82565b60405180910390fd5b565b80600290816110189190612e4e565b5050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611151576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114890612f92565b60405180910390fd5b600061115b610c68565b9050600061116885611880565b9050600061117585611880565b905061118683600089858589611699565b8460008088815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546111e59190612bcb565b925050819055508673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6289896040516112639291906128ee565b60405180910390a461127a836000898585896116a1565b611289836000898989896118fa565b50505050505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611300576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f790613024565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516113f19190611ca6565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361146d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146490612b19565b60405180910390fd5b6000611477610c68565b9050600061148485611880565b9050600061149185611880565b90506114a1838989858589611699565b600080600088815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905085811015611538576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152f90612bab565b60405180910390fd5b85810360008089815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508560008089815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546115ed9190612bcb565b925050819055508773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628a8a60405161166a9291906128ee565b60405180910390a4611680848a8a86868a6116a1565b61168e848a8a8a8a8a6118fa565b505050505050505050565b505050505050565b505050505050565b6116c88473ffffffffffffffffffffffffffffffffffffffff16611ad1565b15611878578373ffffffffffffffffffffffffffffffffffffffff1663bc197c8187878686866040518663ffffffff1660e01b815260040161170e959493929190613099565b6020604051808303816000875af192505050801561174a57506040513d601f19601f820116820180604052508101906117479190613116565b60015b6117ef57611756613150565b806308c379a0036117b2575061176a613172565b8061177557506117b4565b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117a99190611d7e565b60405180910390fd5b505b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e690613274565b60405180910390fd5b63bc197c8160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614611876576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186d90613306565b60405180910390fd5b505b505050505050565b60606000600167ffffffffffffffff81111561189f5761189e611da5565b5b6040519080825280602002602001820160405280156118cd5781602001602082028036833780820191505090505b50905082816000815181106118e5576118e46127dc565b5b60200260200101818152505080915050919050565b6119198473ffffffffffffffffffffffffffffffffffffffff16611ad1565b15611ac9578373ffffffffffffffffffffffffffffffffffffffff1663f23a6e6187878686866040518663ffffffff1660e01b815260040161195f959493929190613326565b6020604051808303816000875af192505050801561199b57506040513d601f19601f820116820180604052508101906119989190613116565b60015b611a40576119a7613150565b806308c379a003611a0357506119bb613172565b806119c65750611a05565b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119fa9190611d7e565b60405180910390fd5b505b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3790613274565b60405180910390fd5b63f23a6e6160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614611ac7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611abe90613306565b60405180910390fd5b505b505050505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611b3382611b08565b9050919050565b611b4381611b28565b8114611b4e57600080fd5b50565b600081359050611b6081611b3a565b92915050565b6000819050919050565b611b7981611b66565b8114611b8457600080fd5b50565b600081359050611b9681611b70565b92915050565b60008060408385031215611bb357611bb2611afe565b5b6000611bc185828601611b51565b9250506020611bd285828601611b87565b9150509250929050565b611be581611b66565b82525050565b6000602082019050611c006000830184611bdc565b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611c3b81611c06565b8114611c4657600080fd5b50565b600081359050611c5881611c32565b92915050565b600060208284031215611c7457611c73611afe565b5b6000611c8284828501611c49565b91505092915050565b60008115159050919050565b611ca081611c8b565b82525050565b6000602082019050611cbb6000830184611c97565b92915050565b600060208284031215611cd757611cd6611afe565b5b6000611ce584828501611b87565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611d28578082015181840152602081019050611d0d565b60008484015250505050565b6000601f19601f8301169050919050565b6000611d5082611cee565b611d5a8185611cf9565b9350611d6a818560208601611d0a565b611d7381611d34565b840191505092915050565b60006020820190508181036000830152611d988184611d45565b905092915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611ddd82611d34565b810181811067ffffffffffffffff82111715611dfc57611dfb611da5565b5b80604052505050565b6000611e0f611af4565b9050611e1b8282611dd4565b919050565b600067ffffffffffffffff821115611e3b57611e3a611da5565b5b602082029050602081019050919050565b600080fd5b6000611e64611e5f84611e20565b611e05565b90508083825260208201905060208402830185811115611e8757611e86611e4c565b5b835b81811015611eb05780611e9c8882611b87565b845260208401935050602081019050611e89565b5050509392505050565b600082601f830112611ecf57611ece611da0565b5b8135611edf848260208601611e51565b91505092915050565b600080fd5b600067ffffffffffffffff821115611f0857611f07611da5565b5b611f1182611d34565b9050602081019050919050565b82818337600083830152505050565b6000611f40611f3b84611eed565b611e05565b905082815260208101848484011115611f5c57611f5b611ee8565b5b611f67848285611f1e565b509392505050565b600082601f830112611f8457611f83611da0565b5b8135611f94848260208601611f2d565b91505092915050565b600080600080600060a08688031215611fb957611fb8611afe565b5b6000611fc788828901611b51565b9550506020611fd888828901611b51565b945050604086013567ffffffffffffffff811115611ff957611ff8611b03565b5b61200588828901611eba565b935050606086013567ffffffffffffffff81111561202657612025611b03565b5b61203288828901611eba565b925050608086013567ffffffffffffffff81111561205357612052611b03565b5b61205f88828901611f6f565b9150509295509295909350565b600067ffffffffffffffff82111561208757612086611da5565b5b602082029050602081019050919050565b60006120ab6120a68461206c565b611e05565b905080838252602082019050602084028301858111156120ce576120cd611e4c565b5b835b818110156120f757806120e38882611b51565b8452602084019350506020810190506120d0565b5050509392505050565b600082601f83011261211657612115611da0565b5b8135612126848260208601612098565b91505092915050565b6000806040838503121561214657612145611afe565b5b600083013567ffffffffffffffff81111561216457612163611b03565b5b61217085828601612101565b925050602083013567ffffffffffffffff81111561219157612190611b03565b5b61219d85828601611eba565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6121dc81611b66565b82525050565b60006121ee83836121d3565b60208301905092915050565b6000602082019050919050565b6000612212826121a7565b61221c81856121b2565b9350612227836121c3565b8060005b8381101561225857815161223f88826121e2565b975061224a836121fa565b92505060018101905061222b565b5085935050505092915050565b6000602082019050818103600083015261227f8184612207565b905092915050565b600067ffffffffffffffff8211156122a2576122a1611da5565b5b6122ab82611d34565b9050602081019050919050565b60006122cb6122c684612287565b611e05565b9050828152602081018484840111156122e7576122e6611ee8565b5b6122f2848285611f1e565b509392505050565b600082601f83011261230f5761230e611da0565b5b813561231f8482602086016122b8565b91505092915050565b60006020828403121561233e5761233d611afe565b5b600082013567ffffffffffffffff81111561235c5761235b611b03565b5b612368848285016122fa565b91505092915050565b61237a81611b28565b82525050565b60006020820190506123956000830184612371565b92915050565b6123a481611c8b565b81146123af57600080fd5b50565b6000813590506123c18161239b565b92915050565b600080604083850312156123de576123dd611afe565b5b60006123ec85828601611b51565b92505060206123fd858286016123b2565b9150509250929050565b600080fd5b60008083601f84011261242257612421611da0565b5b8235905067ffffffffffffffff81111561243f5761243e612407565b5b60208301915083602082028301111561245b5761245a611e4c565b5b9250929050565b60008060006040848603121561247b5761247a611afe565b5b600084013567ffffffffffffffff81111561249957612498611b03565b5b6124a58682870161240c565b935093505060206124b886828701611b87565b9150509250925092565b600080604083850312156124d9576124d8611afe565b5b60006124e785828601611b51565b92505060206124f885828601611b51565b9150509250929050565b600080600080600060a0868803121561251e5761251d611afe565b5b600061252c88828901611b51565b955050602061253d88828901611b51565b945050604061254e88828901611b87565b935050606061255f88828901611b87565b925050608086013567ffffffffffffffff8111156125805761257f611b03565b5b61258c88828901611f6f565b9150509295509295909350565b6000602082840312156125af576125ae611afe565b5b60006125bd84828501611b51565b91505092915050565b7f455243313135353a2061646472657373207a65726f206973206e6f742061207660008201527f616c6964206f776e657200000000000000000000000000000000000000000000602082015250565b6000612622602a83611cf9565b915061262d826125c6565b604082019050919050565b6000602082019050818103600083015261265181612615565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061269f57607f821691505b6020821081036126b2576126b1612658565b5b50919050565b7f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60008201527f6572206f7220617070726f766564000000000000000000000000000000000000602082015250565b6000612714602e83611cf9565b915061271f826126b8565b604082019050919050565b6000602082019050818103600083015261274381612707565b9050919050565b7f455243313135353a206163636f756e747320616e6420696473206c656e67746860008201527f206d69736d617463680000000000000000000000000000000000000000000000602082015250565b60006127a6602983611cf9565b91506127b18261274a565b604082019050919050565b600060208201905081810360008301526127d581612799565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f416d6f756e74206d7573742062652067726561746572207468616e207a65726f600082015250565b6000612841602083611cf9565b915061284c8261280b565b602082019050919050565b6000602082019050818103600083015261287081612834565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006128b182611b66565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036128e3576128e2612877565b5b600182019050919050565b60006040820190506129036000830185611bdc565b6129106020830184611bdc565b9392505050565b7f4e6f20726563697069656e74732070726f766964656400000000000000000000600082015250565b600061294d601683611cf9565b915061295882612917565b602082019050919050565b6000602082019050818103600083015261297c81612940565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006129df602683611cf9565b91506129ea82612983565b604082019050919050565b60006020820190508181036000830152612a0e816129d2565b9050919050565b7f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060008201527f6d69736d61746368000000000000000000000000000000000000000000000000602082015250565b6000612a71602883611cf9565b9150612a7c82612a15565b604082019050919050565b60006020820190508181036000830152612aa081612a64565b9050919050565b7f455243313135353a207472616e7366657220746f20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612b03602583611cf9565b9150612b0e82612aa7565b604082019050919050565b60006020820190508181036000830152612b3281612af6565b9050919050565b7f455243313135353a20696e73756666696369656e742062616c616e636520666f60008201527f72207472616e7366657200000000000000000000000000000000000000000000602082015250565b6000612b95602a83611cf9565b9150612ba082612b39565b604082019050919050565b60006020820190508181036000830152612bc481612b88565b9050919050565b6000612bd682611b66565b9150612be183611b66565b9250828201905080821115612bf957612bf8612877565b5b92915050565b60006040820190508181036000830152612c198185612207565b90508181036020830152612c2d8184612207565b90509392505050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612c6c602083611cf9565b9150612c7782612c36565b602082019050919050565b60006020820190508181036000830152612c9b81612c5f565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302612d047fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82612cc7565b612d0e8683612cc7565b95508019841693508086168417925050509392505050565b6000819050919050565b6000612d4b612d46612d4184611b66565b612d26565b611b66565b9050919050565b6000819050919050565b612d6583612d30565b612d79612d7182612d52565b848454612cd4565b825550505050565b600090565b612d8e612d81565b612d99818484612d5c565b505050565b5b81811015612dbd57612db2600082612d86565b600181019050612d9f565b5050565b601f821115612e0257612dd381612ca2565b612ddc84612cb7565b81016020851015612deb578190505b612dff612df785612cb7565b830182612d9e565b50505b505050565b600082821c905092915050565b6000612e2560001984600802612e07565b1980831691505092915050565b6000612e3e8383612e14565b9150826002028217905092915050565b612e5782611cee565b67ffffffffffffffff811115612e7057612e6f611da5565b5b612e7a8254612687565b612e85828285612dc1565b600060209050601f831160018114612eb85760008415612ea6578287015190505b612eb08582612e32565b865550612f18565b601f198416612ec686612ca2565b60005b82811015612eee57848901518255600182019150602085019450602081019050612ec9565b86831015612f0b5784890151612f07601f891682612e14565b8355505b6001600288020188555050505b505050505050565b7f455243313135353a206d696e7420746f20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000612f7c602183611cf9565b9150612f8782612f20565b604082019050919050565b60006020820190508181036000830152612fab81612f6f565b9050919050565b7f455243313135353a2073657474696e6720617070726f76616c2073746174757360008201527f20666f722073656c660000000000000000000000000000000000000000000000602082015250565b600061300e602983611cf9565b915061301982612fb2565b604082019050919050565b6000602082019050818103600083015261303d81613001565b9050919050565b600081519050919050565b600082825260208201905092915050565b600061306b82613044565b613075818561304f565b9350613085818560208601611d0a565b61308e81611d34565b840191505092915050565b600060a0820190506130ae6000830188612371565b6130bb6020830187612371565b81810360408301526130cd8186612207565b905081810360608301526130e18185612207565b905081810360808301526130f58184613060565b90509695505050505050565b60008151905061311081611c32565b92915050565b60006020828403121561312c5761312b611afe565b5b600061313a84828501613101565b91505092915050565b60008160e01c9050919050565b600060033d111561316f5760046000803e61316c600051613143565b90505b90565b600060443d106131ff57613184611af4565b60043d036004823e80513d602482011167ffffffffffffffff821117156131ac5750506131ff565b808201805167ffffffffffffffff8111156131ca57505050506131ff565b80602083010160043d0385018111156131e75750505050506131ff565b6131f682602001850186611dd4565b82955050505050505b90565b7f455243313135353a207472616e7366657220746f206e6f6e2d4552433131353560008201527f526563656976657220696d706c656d656e746572000000000000000000000000602082015250565b600061325e603483611cf9565b915061326982613202565b604082019050919050565b6000602082019050818103600083015261328d81613251565b9050919050565b7f455243313135353a204552433131353552656365697665722072656a6563746560008201527f6420746f6b656e73000000000000000000000000000000000000000000000000602082015250565b60006132f0602883611cf9565b91506132fb82613294565b604082019050919050565b6000602082019050818103600083015261331f816132e3565b9050919050565b600060a08201905061333b6000830188612371565b6133486020830187612371565b6133556040830186611bdc565b6133626060830185611bdc565b81810360808301526133748184613060565b9050969550505050505056fea26469706673582212203f00a5502827748e811874ab1267c96464e8da667311f29c5b89fd4f6912249864736f6c634300081800330000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006968747470733a2f2f6d6f63636173696e2d776f72726965642d6d6f73717569746f2d3831312e6d7970696e6174612e636c6f75642f697066732f516d62756f74723969776833347a345a4363316e503448784a363343576e76504150747552636e656365444a68642f0000000000000000000000000000000000000000000000