60c06040526001600b5f6101000a81548160ff0219169083151502179055505f600b60016101000a81548160ff0219169083151502179055505f600b60026101000a81548160ff0219169083151502179055506001600f5f6101000a81548160ff021916908315150217905550348015610077575f80fd5b506040518060400160405280601181526020017f4348494e455345204b49434b204749524c0000000000000000000000000000008152506040518060400160405280600981526020017f5869616f205869616f000000000000000000000000000000000000000000000081525081600390816100f39190610d66565b5080600490816101039190610d66565b5050505f61011561062d60201b60201c565b90508060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505f737a250d5630b4cf539739df2c5dacb4c659f2488d90506101db81600161063460201b60201c565b8073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610258573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061027c9190610e93565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102e1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103059190610e93565b6040518363ffffffff1660e01b8152600401610322929190610ecd565b6020604051808303815f875af115801561033e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103629190610e93565b73ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250506103a860a051600161063460201b60201c565b6103bb60a051600161072860201b60201c565b5f601990505f805f602390505f805f6103d86107c660201b60201c565b600a6103e4919061105c565b64019dc683806103f491906110a6565b90506104046107c660201b60201c565b600a610410919061105c565b63042343e061041f91906110a6565b6008819055506104336107c660201b60201c565b600a61043f919061105c565b63042343e061044e91906110a6565b600a81905550612710600a8261046491906110a6565b61046e9190611114565b60098190555086601181905550856012819055508460138190555060135460125460115461049c9190611144565b6104a69190611144565b6010819055508360158190555082601681905550816017819055506017546016546015546104d49190611144565b6104de9190611144565b60148190555073d6068602059852753d66f8c19cfe7d7f665a38fb60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073d6068602059852753d66f8c19cfe7d7f665a38fb60075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506105aa61059d6107ce60201b60201c565b60016107f660201b60201c565b6105bb3060016107f660201b60201c565b6105ce61dead60016107f660201b60201c565b6105ec6105df6107ce60201b60201c565b600161063460201b60201c565b6105fd30600161063460201b60201c565b61061061dead600161063460201b60201c565b610620338261093860201b60201c565b505050505050505061131a565b5f33905090565b61064261062d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106c7906111d1565b60405180910390fd5b80601d5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b80601e5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b5f6012905090565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61080461062d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610892576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610889906111d1565b60405180910390fd5b80601c5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df78260405161092c9190611209565b60405180910390a25050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036109a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099d9061126c565b60405180910390fd5b6109b75f8383610aca60201b60201c565b6109cc81600254610acf60201b90919060201c565b600281905550610a21815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610acf60201b90919060201c565b5f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610abe9190611299565b60405180910390a35050565b505050565b5f808284610add9190611144565b905083811015610b22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b19906112fc565b60405180910390fd5b8091505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680610ba757607f821691505b602082108103610bba57610bb9610b63565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302610c1c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610be1565b610c268683610be1565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f610c6a610c65610c6084610c3e565b610c47565b610c3e565b9050919050565b5f819050919050565b610c8383610c50565b610c97610c8f82610c71565b848454610bed565b825550505050565b5f90565b610cab610c9f565b610cb6818484610c7a565b505050565b5b81811015610cd957610cce5f82610ca3565b600181019050610cbc565b5050565b601f821115610d1e57610cef81610bc0565b610cf884610bd2565b81016020851015610d07578190505b610d1b610d1385610bd2565b830182610cbb565b50505b505050565b5f82821c905092915050565b5f610d3e5f1984600802610d23565b1980831691505092915050565b5f610d568383610d2f565b9150826002028217905092915050565b610d6f82610b2c565b67ffffffffffffffff811115610d8857610d87610b36565b5b610d928254610b90565b610d9d828285610cdd565b5f60209050601f831160018114610dce575f8415610dbc578287015190505b610dc68582610d4b565b865550610e2d565b601f198416610ddc86610bc0565b5f5b82811015610e0357848901518255600182019150602085019450602081019050610dde565b86831015610e205784890151610e1c601f891682610d2f565b8355505b6001600288020188555050505b505050505050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610e6282610e39565b9050919050565b610e7281610e58565b8114610e7c575f80fd5b50565b5f81519050610e8d81610e69565b92915050565b5f60208284031215610ea857610ea7610e35565b5b5f610eb584828501610e7f565b91505092915050565b610ec781610e58565b82525050565b5f604082019050610ee05f830185610ebe565b610eed6020830184610ebe565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115610f7657808604811115610f5257610f51610ef4565b5b6001851615610f615780820291505b8081029050610f6f85610f21565b9450610f36565b94509492505050565b5f82610f8e5760019050611049565b81610f9b575f9050611049565b8160018114610fb15760028114610fbb57610fea565b6001915050611049565b60ff841115610fcd57610fcc610ef4565b5b8360020a915084821115610fe457610fe3610ef4565b5b50611049565b5060208310610133831016604e8410600b841016171561101f5782820a90508381111561101a57611019610ef4565b5b611049565b61102c8484846001610f2d565b9250905081840481111561104357611042610ef4565b5b81810290505b9392505050565b5f60ff82169050919050565b5f61106682610c3e565b915061107183611050565b925061109e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484610f7f565b905092915050565b5f6110b082610c3e565b91506110bb83610c3e565b92508282026110c981610c3e565b915082820484148315176110e0576110df610ef4565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61111e82610c3e565b915061112983610c3e565b925082611139576111386110e7565b5b828204905092915050565b5f61114e82610c3e565b915061115983610c3e565b925082820190508082111561117157611170610ef4565b5b92915050565b5f82825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6111bb602083611177565b91506111c682611187565b602082019050919050565b5f6020820190508181035f8301526111e8816111af565b9050919050565b5f8115159050919050565b611203816111ef565b82525050565b5f60208201905061121c5f8301846111fa565b92915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f611256601f83611177565b915061126182611222565b602082019050919050565b5f6020820190508181035f8301526112838161124a565b9050919050565b61129381610c3e565b82525050565b5f6020820190506112ac5f83018461128a565b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6112e6601b83611177565b91506112f1826112b2565b602082019050919050565b5f6020820190508181035f830152611313816112da565b9050919050565b60805160a05161575e6113885f395f818161113b0152818161190e0152818161207301528181612c1401528181613622015261366801525f8181610e2401528181612bbc01528181613781015281816138600152818161388701528181613f830152613faa015261575e5ff3fe608060405260043610610302575f3560e01c806395d89b411161018f578063c876d0b9116100db578063e2f4560511610094578063f2fde38b1161006e578063f2fde38b14610b8b578063f637434214610bb3578063f8b45b0514610bdd578063fd9b762f14610c0757610309565b8063e2f4560514610b0d578063e884f26014610b37578063f11a24d314610b6157610309565b8063c876d0b9146109db578063c8c8ebe414610a05578063d257b34f14610a2f578063d85ba06314610a6b578063dc6f417714610a95578063dd62ed3e14610ad157610309565b8063a457c2d711610148578063aacebbe311610122578063aacebbe314610925578063b62496f51461094d578063bbc0c74214610989578063c0246668146109b357610309565b8063a457c2d714610883578063a8b9f94d146108bf578063a9059cbb146108e957610309565b806395d89b411461078b5780639a7a23d6146107b55780639b18b70e146107dd5780639c3b4fdc146108055780639fccce321461082f578063a0d82dc51461085957610309565b80634a62bb651161024e5780636ddd1713116102075780637571336a116101e15780637571336a146106fb5780638a8c523c146107235780638da5cb5b14610739578063924de9b71461076357610309565b80636ddd17131461067f57806370a08231146106a9578063715018a6146106e557610309565b80634a62bb65146105735780634f962a9b1461059d5780634fbee193146105c557806362256589146106015780636a486a8e1461062b5780636b41ae0c1461065557610309565b80631816467f116102bb57806323b872dd1161029557806323b872dd146104a7578063313ce567146104e3578063395093511461050d57806349bd5a5e1461054957610309565b80631816467f1461042b5780631a8145bb146104535780631f3fed8f1461047d57610309565b80630517d13d1461030d57806306fdde0314610335578063095ea7b31461035f57806310d5de531461039b5780631694505e146103d757806318160ddd1461040157610309565b3661030957005b5f80fd5b348015610318575f80fd5b50610333600480360381019061032e91906140ec565b610c2f565b005b348015610340575f80fd5b50610349610d58565b6040516103569190614187565b60405180910390f35b34801561036a575f80fd5b5061038560048036038101906103809190614201565b610de8565b6040516103929190614259565b60405180910390f35b3480156103a6575f80fd5b506103c160048036038101906103bc9190614272565b610e05565b6040516103ce9190614259565b60405180910390f35b3480156103e2575f80fd5b506103eb610e22565b6040516103f891906142f8565b60405180910390f35b34801561040c575f80fd5b50610415610e46565b6040516104229190614320565b60405180910390f35b348015610436575f80fd5b50610451600480360381019061044c9190614272565b610e4f565b005b34801561045e575f80fd5b50610467610fa3565b6040516104749190614320565b60405180910390f35b348015610488575f80fd5b50610491610fa9565b60405161049e9190614320565b60405180910390f35b3480156104b2575f80fd5b506104cd60048036038101906104c89190614339565b610faf565b6040516104da9190614259565b60405180910390f35b3480156104ee575f80fd5b506104f7611083565b60405161050491906143a4565b60405180910390f35b348015610518575f80fd5b50610533600480360381019061052e9190614201565b61108b565b6040516105409190614259565b60405180910390f35b348015610554575f80fd5b5061055d611139565b60405161056a91906143cc565b60405180910390f35b34801561057e575f80fd5b5061058761115d565b6040516105949190614259565b60405180910390f35b3480156105a8575f80fd5b506105c360048036038101906105be91906143e5565b61116f565b005b3480156105d0575f80fd5b506105eb60048036038101906105e69190614272565b611288565b6040516105f89190614259565b60405180910390f35b34801561060c575f80fd5b506106156112da565b6040516106229190614259565b60405180910390f35b348015610636575f80fd5b5061063f611391565b60405161064c9190614320565b60405180910390f35b348015610660575f80fd5b50610669611397565b6040516106769190614320565b60405180910390f35b34801561068a575f80fd5b5061069361139d565b6040516106a09190614259565b60405180910390f35b3480156106b4575f80fd5b506106cf60048036038101906106ca9190614272565b6113b0565b6040516106dc9190614320565b60405180910390f35b3480156106f0575f80fd5b506106f96113f5565b005b348015610706575f80fd5b50610721600480360381019061071c919061445f565b611548565b005b34801561072e575f80fd5b50610737611636565b005b348015610744575f80fd5b5061074d61170b565b60405161075a91906143cc565b60405180910390f35b34801561076e575f80fd5b506107896004803603810190610784919061449d565b611733565b005b348015610796575f80fd5b5061079f6117e6565b6040516107ac9190614187565b60405180910390f35b3480156107c0575f80fd5b506107db60048036038101906107d6919061445f565b611876565b005b3480156107e8575f80fd5b5061080360048036038101906107fe91906140ec565b6119a8565b005b348015610810575f80fd5b50610819611ad1565b6040516108269190614320565b60405180910390f35b34801561083a575f80fd5b50610843611ad7565b6040516108509190614320565b60405180910390f35b348015610864575f80fd5b5061086d611add565b60405161087a9190614320565b60405180910390f35b34801561088e575f80fd5b506108a960048036038101906108a49190614201565b611ae3565b6040516108b69190614259565b60405180910390f35b3480156108ca575f80fd5b506108d3611bab565b6040516108e09190614320565b60405180910390f35b3480156108f4575f80fd5b5061090f600480360381019061090a9190614201565b611bb1565b60405161091c9190614259565b60405180910390f35b348015610930575f80fd5b5061094b60048036038101906109469190614272565b611bce565b005b348015610958575f80fd5b50610973600480360381019061096e9190614272565b611d22565b6040516109809190614259565b60405180910390f35b348015610994575f80fd5b5061099d611d3f565b6040516109aa9190614259565b60405180910390f35b3480156109be575f80fd5b506109d960048036038101906109d4919061445f565b611d52565b005b3480156109e6575f80fd5b506109ef611e8e565b6040516109fc9190614259565b60405180910390f35b348015610a10575f80fd5b50610a19611ea0565b604051610a269190614320565b60405180910390f35b348015610a3a575f80fd5b50610a556004803603810190610a5091906140ec565b611ea6565b604051610a629190614259565b60405180910390f35b348015610a76575f80fd5b50610a7f612014565b604051610a8c9190614320565b60405180910390f35b348015610aa0575f80fd5b50610abb6004803603810190610ab691906144c8565b61201a565b604051610ac89190614259565b60405180910390f35b348015610adc575f80fd5b50610af76004803603810190610af29190614506565b612199565b604051610b049190614320565b60405180910390f35b348015610b18575f80fd5b50610b2161221b565b604051610b2e9190614320565b60405180910390f35b348015610b42575f80fd5b50610b4b612221565b604051610b589190614259565b60405180910390f35b348015610b6c575f80fd5b50610b756122d8565b604051610b829190614320565b60405180910390f35b348015610b96575f80fd5b50610bb16004803603810190610bac9190614272565b6122de565b005b348015610bbe575f80fd5b50610bc76124a0565b604051610bd49190614320565b60405180910390f35b348015610be8575f80fd5b50610bf16124a6565b604051610bfe9190614320565b60405180910390f35b348015610c12575f80fd5b50610c2d6004803603810190610c2891906143e5565b6124ac565b005b610c376125c5565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cc5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cbc9061458e565b60405180910390fd5b670de0b6b3a76400006103e86001610cdb610e46565b610ce591906145d9565b610cef9190614647565b610cf99190614647565b811015610d3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d32906146e7565b60405180910390fd5b670de0b6b3a764000081610d4f91906145d9565b60088190555050565b606060038054610d6790614732565b80601f0160208091040260200160405190810160405280929190818152602001828054610d9390614732565b8015610dde5780601f10610db557610100808354040283529160200191610dde565b820191905f5260205f20905b815481529060010190602001808311610dc157829003601f168201915b5050505050905090565b5f610dfb610df46125c5565b84846125cc565b6001905092915050565b601d602052805f5260405f205f915054906101000a900460ff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f600254905090565b610e576125c5565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ee5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610edc9061458e565b60405180910390fd5b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f0db17895a9d092fb3ca24d626f2150dd80c185b0706b36f1040ee239f56cb87160405160405180910390a38060075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60195481565b60185481565b5f610fbb84848461278f565b61107884610fc76125c5565b611073856040518060600160405280602881526020016156dc6028913960015f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61102a6125c5565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546134c09092919063ffffffff16565b6125cc565b600190509392505050565b5f6012905090565b5f61112f6110976125c5565b8461112a8560015f6110a76125c5565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461352290919063ffffffff16565b6125cc565b6001905092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600b5f9054906101000a900460ff1681565b6111776125c5565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611205576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111fc9061458e565b60405180910390fd5b82601581905550816016819055508060178190555060175460165460155461122d9190614762565b6112379190614762565b60148190555060636014541115611283576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127a906147df565b60405180910390fd5b505050565b5f601c5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b5f6112e36125c5565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611371576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113689061458e565b60405180910390fd5b5f600b5f6101000a81548160ff0219169083151502179055506001905090565b60145481565b60155481565b600b60029054906101000a900460ff1681565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6113fd6125c5565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461148b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114829061458e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6115506125c5565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d59061458e565b60405180910390fd5b80601d5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b61163e6125c5565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c39061458e565b60405180910390fd5b6001600b60016101000a81548160ff0219169083151502179055506001600b60026101000a81548160ff02191690831515021790555043601b81905550565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61173b6125c5565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146117c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c09061458e565b60405180910390fd5b80600b60026101000a81548160ff02191690831515021790555050565b6060600480546117f590614732565b80601f016020809104026020016040519081016040528092919081815260200182805461182190614732565b801561186c5780601f106118435761010080835404028352916020019161186c565b820191905f5260205f20905b81548152906001019060200180831161184f57829003601f168201915b5050505050905090565b61187e6125c5565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461190c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119039061458e565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361199a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119919061486d565b60405180910390fd5b6119a4828261357f565b5050565b6119b06125c5565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a359061458e565b60405180910390fd5b670de0b6b3a76400006103e86001611a54610e46565b611a5e91906145d9565b611a689190614647565b611a729190614647565b811015611ab4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aab906148fb565b60405180910390fd5b670de0b6b3a764000081611ac891906145d9565b600a8190555050565b60135481565b601a5481565b60175481565b5f611ba1611aef6125c5565b84611b9c856040518060600160405280602581526020016157046025913960015f611b186125c5565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546134c09092919063ffffffff16565b6125cc565b6001905092915050565b60115481565b5f611bc4611bbd6125c5565b848461278f565b6001905092915050565b611bd66125c5565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611c64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c5b9061458e565b60405180910390fd5b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8616c7a330e3cf61290821331585511f1e2778171e2b005fb5ec60cfe874dc6760405160405180910390a38060065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601e602052805f5260405f205f915054906101000a900460ff1681565b600b60019054906101000a900460ff1681565b611d5a6125c5565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611de8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ddf9061458e565b60405180910390fd5b80601c5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df782604051611e829190614259565b60405180910390a25050565b600f5f9054906101000a900460ff1681565b60085481565b5f611eaf6125c5565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611f3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f349061458e565b60405180910390fd5b620186a06001611f4b610e46565b611f5591906145d9565b611f5f9190614647565b821015611fa1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f9890614989565b60405180910390fd5b6103e86005611fae610e46565b611fb891906145d9565b611fc29190614647565b821115612004576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ffb90614a17565b60405180910390fd5b8160098190555060019050919050565b60105481565b5f601c5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1661206d575f80fd5b5f6120977f00000000000000000000000000000000000000000000000000000000000000006113b0565b90506001831180156120b457506064816120b19190614647565b83105b6120f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120ea90614a7f565b60405180910390fd5b6120fc8361361d565b612105846136e4565b5f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff164760405161214b90614aca565b5f6040518083038185875af1925050503d805f8114612185576040519150601f19603f3d011682016040523d82523d5f602084013e61218a565b606091505b50509050809250505092915050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60095481565b5f61222a6125c5565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146122b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122af9061458e565b60405180910390fd5b5f600f5f6101000a81548160ff0219169083151502179055506001905090565b60125481565b6122e66125c5565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612374576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161236b9061458e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036123e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123d990614b4e565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a38060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60165481565b600a5481565b6124b46125c5565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612542576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125399061458e565b60405180910390fd5b82601181905550816012819055508060138190555060135460125460115461256a9190614762565b6125749190614762565b601081905550600a60105411156125c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125b790614bb6565b60405180910390fd5b505050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361263a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161263190614c44565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036126a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161269f90614cd2565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516127829190614320565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036127fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127f490614d60565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361286b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161286290614dee565b60405180910390fd5b600e5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156129095750600e5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b612948576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161293f90614e7c565b60405180910390fd5b5f810361295f5761295a83835f613917565b6134bb565b600b5f9054906101000a900460ff16156130075761297b61170b565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156129e957506129b961170b565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612a2157505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612a5b575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612a745750600560149054906101000a900460ff16155b1561300657600b60019054906101000a900460ff16612b6857601c5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680612b285750601c5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b612b67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b5e90614ee4565b60405180910390fd5b5b600f5f9054906101000a900460ff1615612d2c57612b8461170b565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015612c0b57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612c6357507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15612d2b5743600c5f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541115612ce8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612cdf90614f98565b60405180910390fd5b43600c5f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b601e5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612dc95750601d5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612e7057600854811115612e13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e0a90615026565b60405180910390fd5b600a54612e1f836113b0565b82612e2a9190614762565b1115612e6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e629061508e565b60405180910390fd5b613005565b601e5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612f0d5750601d5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612f5c57600854811115612f57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f4e9061511c565b60405180910390fd5b613004565b601d5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1661300357600a54612fb6836113b0565b82612fc19190614762565b1115613002576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ff99061508e565b60405180910390fd5b5b5b5b5b5b5f613011306113b0565b90505f60095482101590508080156130355750600b60029054906101000a900460ff165b801561304e5750600560149054906101000a900460ff16155b80156130a15750601e5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156130f45750601c5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156131475750601c5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561318a576001600560146101000a81548160ff02191690831515021790555061316f613ba0565b5f600560146101000a81548160ff0219169083151502179055505b5f600560149054906101000a900460ff16159050601c5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16806132395750601c5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b15613242575f90505b5f81156134ab57601e5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156132a057505f601454115b1561336a576132cd60646132bf60145488613e6f90919063ffffffff16565b613ee690919063ffffffff16565b9050601454601654826132e091906145d9565b6132ea9190614647565b60195f8282546132fa9190614762565b925050819055506014546017548261331291906145d9565b61331c9190614647565b601a5f82825461332c9190614762565b925050819055506014546015548261334491906145d9565b61334e9190614647565b60185f82825461335e9190614762565b92505081905550613488565b601e5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156133c157505f601054115b15613487576133ee60646133e060105488613e6f90919063ffffffff16565b613ee690919063ffffffff16565b90506010546012548261340191906145d9565b61340b9190614647565b60195f82825461341b9190614762565b925050819055506010546013548261343391906145d9565b61343d9190614647565b601a5f82825461344d9190614762565b925050819055506010546011548261346591906145d9565b61346f9190614647565b60185f82825461347f9190614762565b925050819055505b5b5f81111561349c5761349b873083613917565b5b80856134a8919061513a565b94505b6134b6878787613917565b505050505b505050565b5f838311158290613507576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134fe9190614187565b60405180910390fd5b505f8385613515919061513a565b9050809150509392505050565b5f8082846135309190614762565b905083811015613575576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161356c906151b7565b60405180910390fd5b8091505092915050565b80601e5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b6136667f00000000000000000000000000000000000000000000000000000000000000003061364a611083565b600a6136569190615304565b8461366191906145d9565b61278f565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663fff6cae96040518163ffffffff1660e01b81526004015f604051808303815f87803b1580156136cb575f80fd5b505af11580156136dd573d5f803e3d5ffd5b5050505050565b5f600267ffffffffffffffff811115613700576136ff61534e565b5b60405190808252806020026020018201604052801561372e5781602001602082028036833780820191505090505b50905030815f815181106137455761374461537b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156137e8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061380c91906153bc565b816001815181106138205761381f61537b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050613885307f0000000000000000000000000000000000000000000000000000000000000000846125cc565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016138e69594939291906154d7565b5f604051808303815f87803b1580156138fd575f80fd5b505af115801561390f573d5f803e3d5ffd5b505050505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603613985576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161397c90614d60565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036139f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016139ea90614dee565b60405180910390fd5b6139fe838383613f2f565b613a67816040518060600160405280602681526020016156b6602691395f808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546134c09092919063ffffffff16565b5f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550613af6815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461352290919063ffffffff16565b5f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051613b939190614320565b60405180910390a3505050565b5f613baa306113b0565b90505f601a54601854601954613bc09190614762565b613bca9190614762565b90505f80831480613bda57505f82145b15613be757505050613e6d565b6014600954613bf691906145d9565b831115613c0f576014600954613c0c91906145d9565b92505b5f60028360195486613c2191906145d9565b613c2b9190614647565b613c359190614647565b90505f613c4b8286613f3490919063ffffffff16565b90505f479050613c5a826136e4565b5f613c6e8247613f3490919063ffffffff16565b90505f613c9887613c8a60185485613e6f90919063ffffffff16565b613ee690919063ffffffff16565b90505f613cc288613cb4601a5486613e6f90919063ffffffff16565b613ee690919063ffffffff16565b90505f818385613cd2919061513a565b613cdc919061513a565b90505f6019819055505f6018819055505f601a8190555060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682604051613d3890614aca565b5f6040518083038185875af1925050503d805f8114613d72576040519150601f19603f3d011682016040523d82523d5f602084013e613d77565b606091505b5050809850505f87118015613d8b57505f81115b15613dd857613d9a8782613f7d565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5618682601954604051613dcf9392919061552f565b60405180910390a15b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1647604051613e1d90614aca565b5f6040518083038185875af1925050503d805f8114613e57576040519150601f19603f3d011682016040523d82523d5f602084013e613e5c565b606091505b505080985050505050505050505050505b565b5f808303613e7f575f9050613ee0565b5f8284613e8c91906145d9565b9050828482613e9b9190614647565b14613edb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613ed2906155d4565b60405180910390fd5b809150505b92915050565b5f613f2783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250614054565b905092915050565b505050565b5f613f7583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506134c0565b905092915050565b613fa8307f0000000000000000000000000000000000000000000000000000000000000000846125cc565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f305d7198230855f8030426040518863ffffffff1660e01b815260040161400c969594939291906155f2565b60606040518083038185885af1158015614028573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061404d9190615665565b5050505050565b5f808311829061409a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016140919190614187565b60405180910390fd5b505f83856140a89190614647565b9050809150509392505050565b5f80fd5b5f819050919050565b6140cb816140b9565b81146140d5575f80fd5b50565b5f813590506140e6816140c2565b92915050565b5f60208284031215614101576141006140b5565b5b5f61410e848285016140d8565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61415982614117565b6141638185614121565b9350614173818560208601614131565b61417c8161413f565b840191505092915050565b5f6020820190508181035f83015261419f818461414f565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6141d0826141a7565b9050919050565b6141e0816141c6565b81146141ea575f80fd5b50565b5f813590506141fb816141d7565b92915050565b5f8060408385031215614217576142166140b5565b5b5f614224858286016141ed565b9250506020614235858286016140d8565b9150509250929050565b5f8115159050919050565b6142538161423f565b82525050565b5f60208201905061426c5f83018461424a565b92915050565b5f60208284031215614287576142866140b5565b5b5f614294848285016141ed565b91505092915050565b5f819050919050565b5f6142c06142bb6142b6846141a7565b61429d565b6141a7565b9050919050565b5f6142d1826142a6565b9050919050565b5f6142e2826142c7565b9050919050565b6142f2816142d8565b82525050565b5f60208201905061430b5f8301846142e9565b92915050565b61431a816140b9565b82525050565b5f6020820190506143335f830184614311565b92915050565b5f805f606084860312156143505761434f6140b5565b5b5f61435d868287016141ed565b935050602061436e868287016141ed565b925050604061437f868287016140d8565b9150509250925092565b5f60ff82169050919050565b61439e81614389565b82525050565b5f6020820190506143b75f830184614395565b92915050565b6143c6816141c6565b82525050565b5f6020820190506143df5f8301846143bd565b92915050565b5f805f606084860312156143fc576143fb6140b5565b5b5f614409868287016140d8565b935050602061441a868287016140d8565b925050604061442b868287016140d8565b9150509250925092565b61443e8161423f565b8114614448575f80fd5b50565b5f8135905061445981614435565b92915050565b5f8060408385031215614475576144746140b5565b5b5f614482858286016141ed565b92505060206144938582860161444b565b9150509250929050565b5f602082840312156144b2576144b16140b5565b5b5f6144bf8482850161444b565b91505092915050565b5f80604083850312156144de576144dd6140b5565b5b5f6144eb858286016140d8565b92505060206144fc858286016140d8565b9150509250929050565b5f806040838503121561451c5761451b6140b5565b5b5f614529858286016141ed565b925050602061453a858286016141ed565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f614578602083614121565b915061458382614544565b602082019050919050565b5f6020820190508181035f8301526145a58161456c565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6145e3826140b9565b91506145ee836140b9565b92508282026145fc816140b9565b91508282048414831517614613576146126145ac565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f614651826140b9565b915061465c836140b9565b92508261466c5761466b61461a565b5b828204905092915050565b7f43616e6e6f7420736574206d61785472616e73616374696f6e416d6f756e74205f8201527f6c6f776572207468616e20302e31250000000000000000000000000000000000602082015250565b5f6146d1602f83614121565b91506146dc82614677565b604082019050919050565b5f6020820190508181035f8301526146fe816146c5565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061474957607f821691505b60208210810361475c5761475b614705565b5b50919050565b5f61476c826140b9565b9150614777836140b9565b925082820190508082111561478f5761478e6145ac565b5b92915050565b7f4d757374206b656570206665657320617420393925206f72206c6573730000005f82015250565b5f6147c9601d83614121565b91506147d482614795565b602082019050919050565b5f6020820190508181035f8301526147f6816147bd565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d205f8201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b5f614857603983614121565b9150614862826147fd565b604082019050919050565b5f6020820190508181035f8301526148848161484b565b9050919050565b7f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e205f8201527f302e352500000000000000000000000000000000000000000000000000000000602082015250565b5f6148e5602483614121565b91506148f08261488b565b604082019050919050565b5f6020820190508181035f830152614912816148d9565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e5f8201527f20302e3030312520746f74616c20737570706c792e0000000000000000000000602082015250565b5f614973603583614121565b915061497e82614919565b604082019050919050565b5f6020820190508181035f8301526149a081614967565b9050919050565b7f5377617020616d6f756e742063616e6e6f7420626520686967686572207468615f8201527f6e20302e352520746f74616c20737570706c792e000000000000000000000000602082015250565b5f614a01603483614121565b9150614a0c826149a7565b604082019050919050565b5f6020820190508181035f830152614a2e816149f5565b9050919050565b7f616d6f756e7420657863656564656400000000000000000000000000000000005f82015250565b5f614a69600f83614121565b9150614a7482614a35565b602082019050919050565b5f6020820190508181035f830152614a9681614a5d565b9050919050565b5f81905092915050565b50565b5f614ab55f83614a9d565b9150614ac082614aa7565b5f82019050919050565b5f614ad482614aaa565b9150819050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f614b38602683614121565b9150614b4382614ade565b604082019050919050565b5f6020820190508181035f830152614b6581614b2c565b9050919050565b7f4d757374206b65657020666565732061742035206f72206c65737300000000005f82015250565b5f614ba0601b83614121565b9150614bab82614b6c565b602082019050919050565b5f6020820190508181035f830152614bcd81614b94565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f614c2e602483614121565b9150614c3982614bd4565b604082019050919050565b5f6020820190508181035f830152614c5b81614c22565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f614cbc602283614121565b9150614cc782614c62565b604082019050919050565b5f6020820190508181035f830152614ce981614cb0565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f614d4a602583614121565b9150614d5582614cf0565b604082019050919050565b5f6020820190508181035f830152614d7781614d3e565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f614dd8602383614121565b9150614de382614d7e565b604082019050919050565b5f6020820190508181035f830152614e0581614dcc565b9050919050565b7f596f752068617665206265656e20626c61636b6c69737465642066726f6d20745f8201527f72616e73666572696e6720746f6b656e73000000000000000000000000000000602082015250565b5f614e66603183614121565b9150614e7182614e0c565b604082019050919050565b5f6020820190508181035f830152614e9381614e5a565b9050919050565b7f54726164696e67206973206e6f74206163746976652e000000000000000000005f82015250565b5f614ece601683614121565b9150614ed982614e9a565b602082019050919050565b5f6020820190508181035f830152614efb81614ec2565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b5f614f82604983614121565b9150614f8d82614f02565b606082019050919050565b5f6020820190508181035f830152614faf81614f76565b9050919050565b7f427579207472616e7366657220616d6f756e74206578636565647320746865205f8201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b5f615010603583614121565b915061501b82614fb6565b604082019050919050565b5f6020820190508181035f83015261503d81615004565b9050919050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f615078601383614121565b915061508382615044565b602082019050919050565b5f6020820190508181035f8301526150a58161506c565b9050919050565b7f53656c6c207472616e7366657220616d6f756e742065786365656473207468655f8201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b5f615106603683614121565b9150615111826150ac565b604082019050919050565b5f6020820190508181035f830152615133816150fa565b9050919050565b5f615144826140b9565b915061514f836140b9565b9250828203905081811115615167576151666145ac565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6151a1601b83614121565b91506151ac8261516d565b602082019050919050565b5f6020820190508181035f8301526151ce81615195565b9050919050565b5f8160011c9050919050565b5f808291508390505b600185111561522a57808604811115615206576152056145ac565b5b60018516156152155780820291505b8081029050615223856151d5565b94506151ea565b94509492505050565b5f8261524257600190506152fd565b8161524f575f90506152fd565b8160018114615265576002811461526f5761529e565b60019150506152fd565b60ff841115615281576152806145ac565b5b8360020a915084821115615298576152976145ac565b5b506152fd565b5060208310610133831016604e8410600b84101617156152d35782820a9050838111156152ce576152cd6145ac565b5b6152fd565b6152e084848460016151e1565b925090508184048111156152f7576152f66145ac565b5b81810290505b9392505050565b5f61530e826140b9565b915061531983614389565b92506153467fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484615233565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f815190506153b6816141d7565b92915050565b5f602082840312156153d1576153d06140b5565b5b5f6153de848285016153a8565b91505092915050565b5f819050919050565b5f61540a615405615400846153e7565b61429d565b6140b9565b9050919050565b61541a816153f0565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b615452816141c6565b82525050565b5f6154638383615449565b60208301905092915050565b5f602082019050919050565b5f61548582615420565b61548f818561542a565b935061549a8361543a565b805f5b838110156154ca5781516154b18882615458565b97506154bc8361546f565b92505060018101905061549d565b5085935050505092915050565b5f60a0820190506154ea5f830188614311565b6154f76020830187615411565b8181036040830152615509818661547b565b905061551860608301856143bd565b6155256080830184614311565b9695505050505050565b5f6060820190506155425f830186614311565b61554f6020830185614311565b61555c6040830184614311565b949350505050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6155be602183614121565b91506155c982615564565b604082019050919050565b5f6020820190508181035f8301526155eb816155b2565b9050919050565b5f60c0820190506156055f8301896143bd565b6156126020830188614311565b61561f6040830187615411565b61562c6060830186615411565b61563960808301856143bd565b61564660a0830184614311565b979650505050505050565b5f8151905061565f816140c2565b92915050565b5f805f6060848603121561567c5761567b6140b5565b5b5f61568986828701615651565b935050602061569a86828701615651565b92505060406156ab86828701615651565b915050925092509256fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220e0c379530fcfa6e018c3bb25a608dacd7a36b6e5b7a8255f328f08064d935adb64736f6c634300081a0033