60806040523480156200001157600080fd5b5060405162005b6538038062005b65833981810160405281019062000037919062000595565b6040518060400160405280600d81526020017f426f7265642e4169204469736b000000000000000000000000000000000000008152506040518060400160405280600481526020017f4469736b0000000000000000000000000000000000000000000000000000000081525084848482620000b881620001fe60201b60201c565b508460099080519060200190620000d19291906200045c565b5083600a9080519060200190620000ea9291906200045c565b508160049080519060200190620001039291906200045c565b5080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200015a6000801b336200021a60201b60201c565b6200018c7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6336200021a60201b60201c565b620001be7f3c11d16cbaffd01df69ce1c404f6340ee057498f5f00246190ea54220576a848336200021a60201b60201c565b620001f07f3b49a237fe2d18fa4d9642b8a0e065923cceb71b797783b619a030a61d848bf0336200021a60201b60201c565b5050505050505050620007db565b8060029080519060200190620002169291906200045c565b5050565b6200022c82826200023060201b60201c565b5050565b6200024282826200032260201b60201c565b6200031e5760016003600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620002c36200038d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b60006003600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000620003a4620003a960201b620017ee1760201c565b905090565b60003073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156200045557600080368080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509050600080369050905073ffffffffffffffffffffffffffffffffffffffff81830151169250505062000459565b3390505b90565b8280546200046a90620006e6565b90600052602060002090601f0160209004810192826200048e5760008555620004da565b82601f10620004a957805160ff1916838001178555620004da565b82800160010185558215620004da579182015b82811115620004d9578251825591602001919060010190620004bc565b5b509050620004e99190620004ed565b5090565b5b8082111562000508576000816000905550600101620004ee565b5090565b6000620005236200051d8462000646565b6200061d565b9050828152602081018484840111156200053c57600080fd5b62000549848285620006b0565b509392505050565b6000815190506200056281620007c1565b92915050565b600082601f8301126200057a57600080fd5b81516200058c8482602086016200050c565b91505092915050565b600080600060608486031215620005ab57600080fd5b600084015167ffffffffffffffff811115620005c657600080fd5b620005d48682870162000568565b935050602084015167ffffffffffffffff811115620005f257600080fd5b620006008682870162000568565b9250506040620006138682870162000551565b9150509250925092565b6000620006296200063c565b90506200063782826200071c565b919050565b6000604051905090565b600067ffffffffffffffff82111562000664576200066362000781565b5b6200066f82620007b0565b9050602081019050919050565b6000620006898262000690565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60005b83811015620006d0578082015181840152602081019050620006b3565b83811115620006e0576000848401525b50505050565b60006002820490506001821680620006ff57607f821691505b6020821081141562000716576200071562000752565b5b50919050565b6200072782620007b0565b810181811067ffffffffffffffff8211171562000749576200074862000781565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b620007cc816200067c565b8114620007d857600080fd5b50565b61537a80620007eb6000396000f3fe608060405234801561001057600080fd5b50600436106101ef5760003560e01c806391d148541161010f578063d5391393116100a2578063e985e9c511610071578063e985e9c5146105ee578063f242432a1461061e578063f5298aca1461063a578063f6eb127a14610656576101ef565b8063d539139314610578578063d547741f14610596578063d853015e146105b2578063e8a3d485146105d0576101ef565b8063a22cb465116100de578063a22cb465146104e0578063b48ab8b6146104fc578063bd85b03914610518578063cd53d08e14610548576101ef565b806391d1485414610458578063938e3d7b1461048857806395d89b41146104a4578063a217fddf146104c2576101ef565b8063282c51f3116101875780633adf80b4116101565780633adf80b4146103c05780634e1273f4146103dc5780634f558e791461040c578063731133e91461043c576101ef565b8063282c51f31461034e5780632eb2c2d61461036c5780632f2ff15d1461038857806336568abe146103a4576101ef565b806306fdde03116101c357806306fdde03146102a05780630e89341c146102be578063248a9ca3146102ee5780632693ebf21461031e576101ef565b8062fdd58e146101f45780630118fa491461022457806301ffc9a71461025457806302fe530514610284575b600080fd5b61020e60048036038101906102099190613cf2565b610672565b60405161021b91906147e7565b60405180910390f35b61023e60048036038101906102399190613fae565b61073b565b60405161024b91906147e7565b60405180910390f35b61026e60048036038101906102699190613ec9565b610886565b60405161027b919061456f565b60405180910390f35b61029e60048036038101906102999190613f44565b610968565b005b6102a86109a7565b6040516102b591906145a5565b60405180910390f35b6102d860048036038101906102d39190613f85565b610a35565b6040516102e591906145a5565b60405180910390f35b61030860048036038101906103039190613e64565b610bdf565b604051610315919061458a565b60405180910390f35b61033860048036038101906103339190613f85565b610bff565b60405161034591906147e7565b60405180910390f35b610356610c17565b604051610363919061458a565b60405180910390f35b61038660048036038101906103819190613a3e565b610c3b565b005b6103a2600480360381019061039d9190613e8d565b610cdc565b005b6103be60048036038101906103b99190613e8d565b610d05565b005b6103da60048036038101906103d59190613fae565b610d88565b005b6103f660048036038101906103f19190613df8565b610e1f565b6040516104039190614516565b60405180910390f35b61042660048036038101906104219190613f85565b610fd0565b604051610433919061456f565b60405180910390f35b61045660048036038101906104519190613d7d565b610fe2565b005b610472600480360381019061046d9190613e8d565b611064565b60405161047f919061456f565b60405180910390f35b6104a2600480360381019061049d9190613f44565b6110cf565b005b6104ac61111c565b6040516104b991906145a5565b60405180910390f35b6104ca6111aa565b6040516104d7919061458a565b60405180910390f35b6104fa60048036038101906104f59190613cb6565b6111b1565b005b61051660048036038101906105119190613c0b565b6111c7565b005b610532600480360381019061052d9190613f85565b6112f5565b60405161053f91906147e7565b60405180910390f35b610562600480360381019061055d9190613f85565b611312565b60405161056f9190614439565b60405180910390f35b610580611345565b60405161058d919061458a565b60405180910390f35b6105b060048036038101906105ab9190613e8d565b611369565b005b6105ba611392565b6040516105c7919061458a565b60405180910390f35b6105d86113b6565b6040516105e591906145a5565b60405180910390f35b61060860048036038101906106039190613a02565b611448565b604051610615919061456f565b60405180910390f35b61063860048036038101906106339190613afd565b6115a1565b005b610654600480360381019061064f9190613d2e565b611642565b005b610670600480360381019061066b9190613b8c565b6116c2565b005b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156106e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106da90614647565b60405180910390fd5b60008083815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60007f3b49a237fe2d18fa4d9642b8a0e065923cceb71b797783b619a030a61d848bf061076f8161076a61189f565b6118ae565b6107788461194b565b156107b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107af906145e7565b60405180910390fd5b6107c061189f565b6006600086815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008351111561087c57826008600086815260200190815260200160002090805190602001906108429291906136d0565b50837f6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b8460405161087391906145a5565b60405180910390a25b8391505092915050565b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806108f957506108f8826119b7565b5b8061096157507fd9b67a26000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b7f3b49a237fe2d18fa4d9642b8a0e065923cceb71b797783b619a030a61d848bf061099a8161099561189f565b6118ae565b6109a382611a31565b5050565b600980546109b490614b66565b80601f01602080910402602001604051908101604052809291908181526020018280546109e090614b66565b8015610a2d5780601f10610a0257610100808354040283529160200191610a2d565b820191906000526020600020905b815481529060010190602001808311610a1057829003601f168201915b505050505081565b6060610a408261194b565b610a7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7690614707565b60405180910390fd5b6000600860008481526020019081526020016000208054610a9f90614b66565b80601f0160208091040260200160405190810160405280929190818152602001828054610acb90614b66565b8015610b185780601f10610aed57610100808354040283529160200191610b18565b820191906000526020600020905b815481529060010190602001808311610afb57829003601f168201915b50505050509050600081511115610bcd57600860008481526020019081526020016000208054610b4790614b66565b80601f0160208091040260200160405190810160405280929190818152602001828054610b7390614b66565b8015610bc05780601f10610b9557610100808354040283529160200191610bc0565b820191906000526020600020905b815481529060010190602001808311610ba357829003601f168201915b5050505050915050610bda565b610bd683611a4b565b9150505b919050565b600060036000838152602001908152602001600020600101549050919050565b60076020528060005260406000206000915090505481565b7f3c11d16cbaffd01df69ce1c404f6340ee057498f5f00246190ea54220576a84881565b610c4361189f565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161480610c895750610c8885610c8361189f565b611448565b5b610cc8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cbf906146c7565b60405180910390fd5b610cd58585858585611adf565b5050505050565b610ce582610bdf565b610cf681610cf161189f565b6118ae565b610d008383611e3f565b505050565b610d0d61189f565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610d7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d71906147c7565b60405180910390fd5b610d848282611f20565b5050565b7f3b49a237fe2d18fa4d9642b8a0e065923cceb71b797783b619a030a61d848bf0610dba81610db561189f565b6118ae565b81600860008581526020019081526020016000209080519060200190610de19291906136d0565b50827f6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b83604051610e1291906145a5565b60405180910390a2505050565b60608151835114610e65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5c90614767565b60405180910390fd5b6000835167ffffffffffffffff811115610ea8577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015610ed65781602001602082028036833780820191505090505b50905060005b8451811015610fc557610f6f858281518110610f21577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151858381518110610f62577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151610672565b828281518110610fa8577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101818152505080610fbe90614bc9565b9050610edc565b508091505092915050565b6000610fdb8261194b565b9050919050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a66110148161100f61189f565b6118ae565b61102085858585612002565b61104683600760008781526020019081526020016000205461219890919063ffffffff16565b60076000868152602001908152602001600020819055505050505050565b60006003600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b7f3b49a237fe2d18fa4d9642b8a0e065923cceb71b797783b619a030a61d848bf0611101816110fc61189f565b6118ae565b81600490805190602001906111179291906136d0565b505050565b600a805461112990614b66565b80601f016020809104026020016040519081016040528092919081815260200182805461115590614b66565b80156111a25780601f10611177576101008083540402835291602001916111a2565b820191906000526020600020905b81548152906001019060200180831161118557829003601f168201915b505050505081565b6000801b81565b6111c36111bc61189f565b83836121ae565b5050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a66111f9816111f461189f565b6118ae565b60005b84518110156112e1576000858281518110611240577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015190506000858381518110611285577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015190506112b581600760008581526020019081526020016000205461219890919063ffffffff16565b6007600084815260200190815260200160002081905550505080806112d990614bc9565b9150506111fc565b506112ee8585858561231b565b5050505050565b600060076000838152602001908152602001600020549050919050565b60066020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b61137282610bdf565b6113838161137e61189f565b6118ae565b61138d8383611f20565b505050565b7f3b49a237fe2d18fa4d9642b8a0e065923cceb71b797783b619a030a61d848bf081565b6060600480546113c590614b66565b80601f01602080910402602001604051908101604052809291908181526020018280546113f190614b66565b801561143e5780601f106114135761010080835404028352916020019161143e565b820191906000526020600020905b81548152906001019060200180831161142157829003601f168201915b5050505050905090565b60008073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461158e576000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1663c4552791866040518263ffffffff1660e01b81526004016115169190614439565b60206040518083038186803b15801561152e57600080fd5b505afa158015611542573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115669190613f1b565b73ffffffffffffffffffffffffffffffffffffffff16141561158c57600191505061159b565b505b6115988383612585565b90505b92915050565b6115a961189f565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614806115ef57506115ee856115e961189f565b611448565b5b61162e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162590614687565b60405180910390fd5b61163b8585858585612619565b5050505050565b7f3c11d16cbaffd01df69ce1c404f6340ee057498f5f00246190ea54220576a8486116748161166f61189f565b6118ae565b61167f84848461289b565b6116a5826007600086815260200190815260200160002054612ab890919063ffffffff16565b600760008581526020019081526020016000208190555050505050565b7f3c11d16cbaffd01df69ce1c404f6340ee057498f5f00246190ea54220576a8486116f4816116ef61189f565b6118ae565b60005b83518110156117dc57600084828151811061173b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015190506000848381518110611780577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015190506117b0816007600085815260200190815260200160002054612ab890919063ffffffff16565b6007600084815260200190815260200160002081905550505080806117d490614bc9565b9150506116f7565b506117e8848484612ace565b50505050565b60003073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561189857600080368080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509050600080369050905073ffffffffffffffffffffffffffffffffffffffff81830151169250505061189c565b3390505b90565b60006118a96117ee565b905090565b6118b88282611064565b611947576118dd8173ffffffffffffffffffffffffffffffffffffffff166014612dcb565b6118eb8360001c6020612dcb565b6040516020016118fc9291906143ff565b6040516020818303038152906040526040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193e91906145a5565b60405180910390fd5b5050565b60008073ffffffffffffffffffffffffffffffffffffffff166006600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611a2a5750611a29826130c5565b5b9050919050565b8060029080519060200190611a479291906136d0565b5050565b606060028054611a5a90614b66565b80601f0160208091040260200160405190810160405280929190818152602001828054611a8690614b66565b8015611ad35780601f10611aa857610100808354040283529160200191611ad3565b820191906000526020600020905b815481529060010190602001808311611ab657829003601f168201915b50505050509050919050565b8151835114611b23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1a90614787565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611b93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b8a906146a7565b60405180910390fd5b6000611b9d61189f565b9050611bad8187878787876131a7565b60005b8451811015611daa576000858281518110611bf4577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015190506000858381518110611c39577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101519050600080600084815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611cda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cd190614727565b60405180910390fd5b81810360008085815260200190815260200160002060008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160008085815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611d8f9190614986565b9250508190555050505080611da390614bc9565b9050611bb0565b508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051611e21929190614538565b60405180910390a4611e378187878787876131af565b505050505050565b611e498282611064565b611f1c5760016003600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611ec161189f565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b611f2a8282611064565b15611ffe5760006003600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611fa361189f565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415612072576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612069906147a7565b60405180910390fd5b600061207c61189f565b905061209d8160008761208e88613396565b61209788613396565b876131a7565b8260008086815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546120fc9190614986565b925050819055508473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62878760405161217a929190614802565b60405180910390a46121918160008787878761345c565b5050505050565b600081836121a69190614986565b905092915050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561221d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161221490614747565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405161230e919061456f565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561238b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612382906147a7565b60405180910390fd5b81518351146123cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123c690614787565b60405180910390fd5b60006123d961189f565b90506123ea816000878787876131a7565b60005b84518110156124ef5783818151811061242f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151600080878481518110612473577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546124d59190614986565b9250508190555080806124e790614bc9565b9150506123ed565b508473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051612567929190614538565b60405180910390a461257e816000878787876131af565b5050505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415612689576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612680906146a7565b60405180910390fd5b600061269361189f565b90506126b38187876126a488613396565b6126ad88613396565b876131a7565b600080600086815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508381101561274a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161274190614727565b60405180910390fd5b83810360008087815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508360008087815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546127ff9190614986565b925050819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62888860405161287c929190614802565b60405180910390a461289282888888888861345c565b50505050505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561290b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612902906146e7565b60405180910390fd5b600061291561189f565b90506129458185600061292787613396565b61293087613396565b604051806020016040528060008152506131a7565b600080600085815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156129dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129d390614667565b60405180910390fd5b82810360008086815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628787604051612aa9929190614802565b60405180910390a45050505050565b60008183612ac69190614a36565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612b3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b35906146e7565b60405180910390fd5b8051825114612b82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b7990614787565b60405180910390fd5b6000612b8c61189f565b9050612bac818560008686604051806020016040528060008152506131a7565b60005b8351811015612d45576000848281518110612bf3577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015190506000848381518110612c38577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101519050600080600084815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612cd9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612cd090614667565b60405180910390fd5b81810360008085815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050508080612d3d90614bc9565b915050612baf565b50600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051612dbd929190614538565b60405180910390a450505050565b606060006002836002612dde91906149dc565b612de89190614986565b67ffffffffffffffff811115612e27577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015612e595781602001600182028036833780820191505090505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110612eb7577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110612f41577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060006001846002612f8191906149dc565b612f8b9190614986565b90505b6001811115613077577f3031323334353637383961626364656600000000000000000000000000000000600f861660108110612ff3577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b1a60f81b828281518110613030577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c94508061307090614b3c565b9050612f8e565b50600084146130bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016130b290614607565b60405180910390fd5b8091505092915050565b60007fd9b67a26000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061319057507f0e89341c000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806131a0575061319f82613643565b5b9050919050565b505050505050565b6131ce8473ffffffffffffffffffffffffffffffffffffffff166136ad565b1561338e578373ffffffffffffffffffffffffffffffffffffffff1663bc197c8187878686866040518663ffffffff1660e01b8152600401613214959493929190614454565b602060405180830381600087803b15801561322e57600080fd5b505af192505050801561325f57506040513d601f19601f8201168201806040525081019061325c9190613ef2565b60015b6133055761326b614c9f565b806308c379a014156132c85750613280615224565b8061328b57506132ca565b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132bf91906145a5565b60405180910390fd5b505b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132fc906145c7565b60405180910390fd5b63bc197c8160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461338c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161338390614627565b60405180910390fd5b505b505050505050565b60606000600167ffffffffffffffff8111156133db577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156134095781602001602082028036833780820191505090505b5090508281600081518110613447577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101818152505080915050919050565b61347b8473ffffffffffffffffffffffffffffffffffffffff166136ad565b1561363b578373ffffffffffffffffffffffffffffffffffffffff1663f23a6e6187878686866040518663ffffffff1660e01b81526004016134c19594939291906144bc565b602060405180830381600087803b1580156134db57600080fd5b505af192505050801561350c57506040513d601f19601f820116820180604052508101906135099190613ef2565b60015b6135b257613518614c9f565b806308c379a01415613575575061352d615224565b806135385750613577565b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161356c91906145a5565b60405180910390fd5b505b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016135a9906145c7565b60405180910390fd5b63f23a6e6160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614613639576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161363090614627565b60405180910390fd5b505b505050505050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b8280546136dc90614b66565b90600052602060002090601f0160209004810192826136fe5760008555613745565b82601f1061371757805160ff1916838001178555613745565b82800160010185558215613745579182015b82811115613744578251825591602001919060010190613729565b5b5090506137529190613756565b5090565b5b8082111561376f576000816000905550600101613757565b5090565b600061378661378184614850565b61482b565b905080838252602082019050828560208602820111156137a557600080fd5b60005b858110156137d557816137bb88826138c7565b8452602084019350602083019250506001810190506137a8565b5050509392505050565b60006137f26137ed8461487c565b61482b565b9050808382526020820190508285602086028201111561381157600080fd5b60005b85811015613841578161382788826139ed565b845260208401935060208301925050600181019050613814565b5050509392505050565b600061385e613859846148a8565b61482b565b90508281526020810184848401111561387657600080fd5b613881848285614afa565b509392505050565b600061389c613897846148d9565b61482b565b9050828152602081018484840111156138b457600080fd5b6138bf848285614afa565b509392505050565b6000813590506138d6816152ba565b92915050565b600082601f8301126138ed57600080fd5b81356138fd848260208601613773565b91505092915050565b600082601f83011261391757600080fd5b81356139278482602086016137df565b91505092915050565b60008135905061393f816152d1565b92915050565b600081359050613954816152e8565b92915050565b600081359050613969816152ff565b92915050565b60008151905061397e816152ff565b92915050565b600082601f83011261399557600080fd5b81356139a584826020860161384b565b91505092915050565b6000815190506139bd81615316565b92915050565b600082601f8301126139d457600080fd5b81356139e4848260208601613889565b91505092915050565b6000813590506139fc8161532d565b92915050565b60008060408385031215613a1557600080fd5b6000613a23858286016138c7565b9250506020613a34858286016138c7565b9150509250929050565b600080600080600060a08688031215613a5657600080fd5b6000613a64888289016138c7565b9550506020613a75888289016138c7565b945050604086013567ffffffffffffffff811115613a9257600080fd5b613a9e88828901613906565b935050606086013567ffffffffffffffff811115613abb57600080fd5b613ac788828901613906565b925050608086013567ffffffffffffffff811115613ae457600080fd5b613af088828901613984565b9150509295509295909350565b600080600080600060a08688031215613b1557600080fd5b6000613b23888289016138c7565b9550506020613b34888289016138c7565b9450506040613b45888289016139ed565b9350506060613b56888289016139ed565b925050608086013567ffffffffffffffff811115613b7357600080fd5b613b7f88828901613984565b9150509295509295909350565b600080600060608486031215613ba157600080fd5b6000613baf868287016138c7565b935050602084013567ffffffffffffffff811115613bcc57600080fd5b613bd886828701613906565b925050604084013567ffffffffffffffff811115613bf557600080fd5b613c0186828701613906565b9150509250925092565b60008060008060808587031215613c2157600080fd5b6000613c2f878288016138c7565b945050602085013567ffffffffffffffff811115613c4c57600080fd5b613c5887828801613906565b935050604085013567ffffffffffffffff811115613c7557600080fd5b613c8187828801613906565b925050606085013567ffffffffffffffff811115613c9e57600080fd5b613caa87828801613984565b91505092959194509250565b60008060408385031215613cc957600080fd5b6000613cd7858286016138c7565b9250506020613ce885828601613930565b9150509250929050565b60008060408385031215613d0557600080fd5b6000613d13858286016138c7565b9250506020613d24858286016139ed565b9150509250929050565b600080600060608486031215613d4357600080fd5b6000613d51868287016138c7565b9350506020613d62868287016139ed565b9250506040613d73868287016139ed565b9150509250925092565b60008060008060808587031215613d9357600080fd5b6000613da1878288016138c7565b9450506020613db2878288016139ed565b9350506040613dc3878288016139ed565b925050606085013567ffffffffffffffff811115613de057600080fd5b613dec87828801613984565b91505092959194509250565b60008060408385031215613e0b57600080fd5b600083013567ffffffffffffffff811115613e2557600080fd5b613e31858286016138dc565b925050602083013567ffffffffffffffff811115613e4e57600080fd5b613e5a85828601613906565b9150509250929050565b600060208284031215613e7657600080fd5b6000613e8484828501613945565b91505092915050565b60008060408385031215613ea057600080fd5b6000613eae85828601613945565b9250506020613ebf858286016138c7565b9150509250929050565b600060208284031215613edb57600080fd5b6000613ee98482850161395a565b91505092915050565b600060208284031215613f0457600080fd5b6000613f128482850161396f565b91505092915050565b600060208284031215613f2d57600080fd5b6000613f3b848285016139ae565b91505092915050565b600060208284031215613f5657600080fd5b600082013567ffffffffffffffff811115613f7057600080fd5b613f7c848285016139c3565b91505092915050565b600060208284031215613f9757600080fd5b6000613fa5848285016139ed565b91505092915050565b60008060408385031215613fc157600080fd5b6000613fcf858286016139ed565b925050602083013567ffffffffffffffff811115613fec57600080fd5b613ff8858286016139c3565b9150509250929050565b600061400e83836143e1565b60208301905092915050565b61402381614a6a565b82525050565b60006140348261491a565b61403e8185614948565b93506140498361490a565b8060005b8381101561407a5781516140618882614002565b975061406c8361493b565b92505060018101905061404d565b5085935050505092915050565b61409081614a7c565b82525050565b61409f81614a88565b82525050565b60006140b082614925565b6140ba8185614959565b93506140ca818560208601614b09565b6140d381614cc1565b840191505092915050565b60006140e982614930565b6140f3818561496a565b9350614103818560208601614b09565b61410c81614cc1565b840191505092915050565b600061412282614930565b61412c818561497b565b935061413c818560208601614b09565b80840191505092915050565b600061415560348361496a565b915061416082614cdf565b604082019050919050565b600061417860188361496a565b915061418382614d2e565b602082019050919050565b600061419b60208361496a565b91506141a682614d57565b602082019050919050565b60006141be60288361496a565b91506141c982614d80565b604082019050919050565b60006141e1602b8361496a565b91506141ec82614dcf565b604082019050919050565b600061420460248361496a565b915061420f82614e1e565b604082019050919050565b600061422760298361496a565b915061423282614e6d565b604082019050919050565b600061424a60258361496a565b915061425582614ebc565b604082019050919050565b600061426d60328361496a565b915061427882614f0b565b604082019050919050565b600061429060238361496a565b915061429b82614f5a565b604082019050919050565b60006142b360268361496a565b91506142be82614fa9565b604082019050919050565b60006142d6602a8361496a565b91506142e182614ff8565b604082019050919050565b60006142f960178361497b565b915061430482615047565b601782019050919050565b600061431c60298361496a565b915061432782615070565b604082019050919050565b600061433f60298361496a565b915061434a826150bf565b604082019050919050565b600061436260288361496a565b915061436d8261510e565b604082019050919050565b600061438560218361496a565b91506143908261515d565b604082019050919050565b60006143a860118361497b565b91506143b3826151ac565b601182019050919050565b60006143cb602f8361496a565b91506143d6826151d5565b604082019050919050565b6143ea81614af0565b82525050565b6143f981614af0565b82525050565b600061440a826142ec565b91506144168285614117565b91506144218261439b565b915061442d8284614117565b91508190509392505050565b600060208201905061444e600083018461401a565b92915050565b600060a082019050614469600083018861401a565b614476602083018761401a565b81810360408301526144888186614029565b9050818103606083015261449c8185614029565b905081810360808301526144b081846140a5565b90509695505050505050565b600060a0820190506144d1600083018861401a565b6144de602083018761401a565b6144eb60408301866143f0565b6144f860608301856143f0565b818103608083015261450a81846140a5565b90509695505050505050565b600060208201905081810360008301526145308184614029565b905092915050565b600060408201905081810360008301526145528185614029565b905081810360208301526145668184614029565b90509392505050565b60006020820190506145846000830184614087565b92915050565b600060208201905061459f6000830184614096565b92915050565b600060208201905081810360008301526145bf81846140de565b905092915050565b600060208201905081810360008301526145e081614148565b9050919050565b600060208201905081810360008301526146008161416b565b9050919050565b600060208201905081810360008301526146208161418e565b9050919050565b60006020820190508181036000830152614640816141b1565b9050919050565b60006020820190508181036000830152614660816141d4565b9050919050565b60006020820190508181036000830152614680816141f7565b9050919050565b600060208201905081810360008301526146a08161421a565b9050919050565b600060208201905081810360008301526146c08161423d565b9050919050565b600060208201905081810360008301526146e081614260565b9050919050565b6000602082019050818103600083015261470081614283565b9050919050565b60006020820190508181036000830152614720816142a6565b9050919050565b60006020820190508181036000830152614740816142c9565b9050919050565b600060208201905081810360008301526147608161430f565b9050919050565b6000602082019050818103600083015261478081614332565b9050919050565b600060208201905081810360008301526147a081614355565b9050919050565b600060208201905081810360008301526147c081614378565b9050919050565b600060208201905081810360008301526147e0816143be565b9050919050565b60006020820190506147fc60008301846143f0565b92915050565b600060408201905061481760008301856143f0565b61482460208301846143f0565b9392505050565b6000614835614846565b90506148418282614b98565b919050565b6000604051905090565b600067ffffffffffffffff82111561486b5761486a614c70565b5b602082029050602081019050919050565b600067ffffffffffffffff82111561489757614896614c70565b5b602082029050602081019050919050565b600067ffffffffffffffff8211156148c3576148c2614c70565b5b6148cc82614cc1565b9050602081019050919050565b600067ffffffffffffffff8211156148f4576148f3614c70565b5b6148fd82614cc1565b9050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600061499182614af0565b915061499c83614af0565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156149d1576149d0614c12565b5b828201905092915050565b60006149e782614af0565b91506149f283614af0565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615614a2b57614a2a614c12565b5b828202905092915050565b6000614a4182614af0565b9150614a4c83614af0565b925082821015614a5f57614a5e614c12565b5b828203905092915050565b6000614a7582614ad0565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6000614ac982614a6a565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b83811015614b27578082015181840152602081019050614b0c565b83811115614b36576000848401525b50505050565b6000614b4782614af0565b91506000821415614b5b57614b5a614c12565b5b600182039050919050565b60006002820490506001821680614b7e57607f821691505b60208210811415614b9257614b91614c41565b5b50919050565b614ba182614cc1565b810181811067ffffffffffffffff82111715614bc057614bbf614c70565b5b80604052505050565b6000614bd482614af0565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415614c0757614c06614c12565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600060033d1115614cbe5760046000803e614cbb600051614cd2565b90505b90565b6000601f19601f8301169050919050565b60008160e01c9050919050565b7f455243313135353a207472616e7366657220746f206e6f6e204552433131353560008201527f526563656976657220696d706c656d656e746572000000000000000000000000602082015250565b7f746f6b656e205f696420616c7265616479206578697374730000000000000000600082015250565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b7f455243313135353a204552433131353552656365697665722072656a6563746560008201527f6420746f6b656e73000000000000000000000000000000000000000000000000602082015250565b7f455243313135353a2062616c616e636520717565727920666f7220746865207a60008201527f65726f2061646472657373000000000000000000000000000000000000000000602082015250565b7f455243313135353a206275726e20616d6f756e7420657863656564732062616c60008201527f616e636500000000000000000000000000000000000000000000000000000000602082015250565b7f455243313135353a2063616c6c6572206973206e6f74206f776e6572206e6f7260008201527f20617070726f7665640000000000000000000000000000000000000000000000602082015250565b7f455243313135353a207472616e7366657220746f20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f455243313135353a207472616e736665722063616c6c6572206973206e6f742060008201527f6f776e6572206e6f7220617070726f7665640000000000000000000000000000602082015250565b7f455243313135353a206275726e2066726f6d20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f455243313135355472616461626c65237572693a204e4f4e4558495354454e5460008201527f5f544f4b454e0000000000000000000000000000000000000000000000000000602082015250565b7f455243313135353a20696e73756666696369656e742062616c616e636520666f60008201527f72207472616e7366657200000000000000000000000000000000000000000000602082015250565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b7f455243313135353a2073657474696e6720617070726f76616c2073746174757360008201527f20666f722073656c660000000000000000000000000000000000000000000000602082015250565b7f455243313135353a206163636f756e747320616e6420696473206c656e67746860008201527f206d69736d617463680000000000000000000000000000000000000000000000602082015250565b7f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060008201527f6d69736d61746368000000000000000000000000000000000000000000000000602082015250565b7f455243313135353a206d696e7420746f20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b600060443d1015615234576152b7565b61523c614846565b60043d036004823e80513d602482011167ffffffffffffffff821117156152645750506152b7565b808201805167ffffffffffffffff81111561528257505050506152b7565b80602083010160043d03850181111561529f5750505050506152b7565b6152ae82602001850186614b98565b82955050505050505b90565b6152c381614a6a565b81146152ce57600080fd5b50565b6152da81614a7c565b81146152e557600080fd5b50565b6152f181614a88565b81146152fc57600080fd5b50565b61530881614a92565b811461531357600080fd5b50565b61531f81614abe565b811461532a57600080fd5b50565b61533681614af0565b811461534157600080fd5b5056fea2646970667358221220e93a264f402d43c32478e4eadd6e75b9dd71a9ea70a11362eafc90f98f60fcfb64736f6c63430008040033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e68747470733a2f2f73746f726167652e676f6f676c65617069732e636f6d2f6d656761617274732f70726f626573000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e68747470733a2f2f73746f726167652e676f6f676c65617069732e636f6d2f6d656761617274732f70726f626573000000000000000000000000000000000000