608060405260006009553480156200001657600080fd5b506040518060400160405280600881526020017f53746f6e654e46540000000000000000000000000000000000000000000000008152506040518060400160405280600581526020017f53544e465400000000000000000000000000000000000000000000000000000081525081600090805190602001906200009b929190620001ab565b508060019080519060200190620000b4929190620001ab565b505050620000d7620000cb620000dd60201b60201c565b620000e560201b60201c565b620002c0565b600033905090565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b828054620001b9906200028a565b90600052602060002090601f016020900481019282620001dd576000855562000229565b82601f10620001f857805160ff191683800117855562000229565b8280016001018555821562000229579182015b82811115620002285782518255916020019190600101906200020b565b5b5090506200023891906200023c565b5090565b5b80821115620002575760008160009055506001016200023d565b5090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620002a357607f821691505b60208210811415620002ba57620002b96200025b565b5b50919050565b613a7280620002d06000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c8063784f32a0116100ad578063b88d4fde11610071578063b88d4fde1461031b578063c87b56dd14610337578063e985e9c514610367578063f2fde38b14610397578063f7b66734146103b35761012c565b8063784f32a0146102895780637b9aac20146102a75780638da5cb5b146102c357806395d89b41146102e1578063a22cb465146102ff5761012c565b806342842e0e116100f457806342842e0e146101e75780635a9b752f146102035780636352211e1461021f57806370a082311461024f578063715018a61461027f5761012c565b806301ffc9a71461013157806306fdde0314610161578063081812fc1461017f578063095ea7b3146101af57806323b872dd146101cb575b600080fd5b61014b600480360381019061014691906126a0565b6103e5565b60405161015891906126e8565b60405180910390f35b610169610446565b604051610176919061279c565b60405180910390f35b610199600480360381019061019491906127f4565b6104d8565b6040516101a69190612862565b60405180910390f35b6101c960048036038101906101c491906128a9565b61051e565b005b6101e560048036038101906101e091906128e9565b610636565b005b61020160048036038101906101fc91906128e9565b6106a9565b005b61021d60048036038101906102189190612b12565b6106c9565b005b610239600480360381019061023491906127f4565b610843565b6040516102469190612862565b60405180910390f35b61026960048036038101906102649190612b9d565b6108ca565b6040516102769190612bd9565b60405180910390f35b610287610982565b005b610291610996565b60405161029e9190612bd9565b60405180910390f35b6102c160048036038101906102bc9190612bf4565b61099c565b005b6102cb610ab6565b6040516102d89190612862565b60405180910390f35b6102e9610ae0565b6040516102f6919061279c565b60405180910390f35b61031960048036038101906103149190612c69565b610b72565b005b61033560048036038101906103309190612ca9565b610b88565b005b610351600480360381019061034c91906127f4565b610bea565b60405161035e919061279c565b60405180910390f35b610381600480360381019061037c9190612d2c565b610cfd565b60405161038e91906126e8565b60405180910390f35b6103b160048036038101906103ac9190612b9d565b610d91565b005b6103cd60048036038101906103c891906127f4565b610e15565b6040516103dc93929190612d6c565b60405180910390f35b6000634906490660e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061043f575061043e82610f5c565b5b9050919050565b60606000805461045590612de0565b80601f016020809104026020016040519081016040528092919081815260200182805461048190612de0565b80156104ce5780601f106104a3576101008083540402835291602001916104ce565b820191906000526020600020905b8154815290600101906020018083116104b157829003601f168201915b5050505050905090565b60006104e38261103e565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061052982610843565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561059a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161059190612e84565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166105b9611089565b73ffffffffffffffffffffffffffffffffffffffff1614806105e857506105e7816105e2611089565b610cfd565b5b610627576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061e90612f16565b60405180910390fd5b6106318383611091565b505050565b6008600082815260200190815260200160002060010160009054906101000a900460ff16610699576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069090612f82565b60405180910390fd5b6106a483838361114a565b505050565b6106c483838360405180602001604052806000815250610b88565b505050565b6008600084815260200190815260200160002060010160009054906101000a900460ff1661072c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161072390612f82565b60405180910390fd5b6107378282856111aa565b610776576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161076d90612fee565b60405180910390fd5b60006008600085815260200190815260200160002060010160006101000a81548160ff021916908315150217905550816008600085815260200190815260200160002060020190805190602001906107cf929190612551565b50827fcf8eb83f20f111d7d80eaa30921bcc7e9db90aa01d16f3ffae66495eefc4a83b83604051610800919061279c565b60405180910390a261081183611229565b827f7890d989444892c6d286cfab25e8347dc4e8f7c68b41c8980d0e34f16c599c2a60405160405180910390a2505050565b60008061084f8361127c565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156108c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b89061305a565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561093b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610932906130ec565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61098a6112b9565b6109946000611337565b565b60095481565b6109a46112b9565b60006040518060600160405280838152602001600115158152602001604051806020016040528060008152508152509050806008600060095481526020019081526020016000206000820151816000019080519060200190610a07929190612551565b5060208201518160010160006101000a81548160ff0219169083151502179055506040820151816002019080519060200190610a44929190612551565b50905050610a54336009546113fd565b610a606009548361161b565b6009547fe458c460923ab8551be594eccd55af866895901cfe1387b1c3604a381d92dd3783604051610a92919061279c565b60405180910390a260096000815480929190610aad9061313b565b91905055505050565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060018054610aef90612de0565b80601f0160208091040260200160405190810160405280929190818152602001828054610b1b90612de0565b8015610b685780601f10610b3d57610100808354040283529160200191610b68565b820191906000526020600020905b815481529060010190602001808311610b4b57829003601f168201915b5050505050905090565b610b84610b7d611089565b83836116c6565b5050565b610b99610b93611089565b83611833565b610bd8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bcf906131f6565b60405180910390fd5b610be4848484846118c8565b50505050565b6060610bf58261103e565b6000600660008481526020019081526020016000208054610c1590612de0565b80601f0160208091040260200160405190810160405280929190818152602001828054610c4190612de0565b8015610c8e5780601f10610c6357610100808354040283529160200191610c8e565b820191906000526020600020905b815481529060010190602001808311610c7157829003601f168201915b505050505090506000610c9f611924565b9050600081511415610cb5578192505050610cf8565b600082511115610cea578082604051602001610cd2929190613252565b60405160208183030381529060405292505050610cf8565b610cf38461193b565b925050505b919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b610d996112b9565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610e09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e00906132e8565b60405180910390fd5b610e1281611337565b50565b6008602052806000526040600020600091509050806000018054610e3890612de0565b80601f0160208091040260200160405190810160405280929190818152602001828054610e6490612de0565b8015610eb15780601f10610e8657610100808354040283529160200191610eb1565b820191906000526020600020905b815481529060010190602001808311610e9457829003601f168201915b5050505050908060010160009054906101000a900460ff1690806002018054610ed990612de0565b80601f0160208091040260200160405190810160405280929190818152602001828054610f0590612de0565b8015610f525780601f10610f2757610100808354040283529160200191610f52565b820191906000526020600020905b815481529060010190602001808311610f3557829003601f168201915b5050505050905083565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061102757507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806110375750611036826119a3565b5b9050919050565b61104781611a0d565b611086576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107d9061305a565b60405180910390fd5b50565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff1661110483610843565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b61115b611155611089565b82611833565b61119a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611191906131f6565b60405180910390fd5b6111a5838383611a4e565b505050565b600080846040516020016111be9190613308565b6040516020818303038152906040528051906020012090506111e98482611d4890919063ffffffff16565b73ffffffffffffffffffffffffffffffffffffffff1661120884610843565b73ffffffffffffffffffffffffffffffffffffffff16149150509392505050565b61123281611d6f565b600060066000838152602001908152602001600020805461125290612de0565b9050146112795760066000828152602001908152602001600020600061127891906125d7565b5b50565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6112c1611089565b73ffffffffffffffffffffffffffffffffffffffff166112df610ab6565b73ffffffffffffffffffffffffffffffffffffffff1614611335576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132c9061336b565b60405180910390fd5b565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561146d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611464906133d7565b60405180910390fd5b61147681611a0d565b156114b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ad90613443565b60405180910390fd5b6114c4600083836001611ebd565b6114cd81611a0d565b1561150d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150490613443565b60405180910390fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611617600083836001611ec3565b5050565b61162482611a0d565b611663576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165a906134d5565b60405180910390fd5b8060066000848152602001908152602001600020908051906020019061168a929190612551565b507ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7826040516116ba9190612bd9565b60405180910390a15050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611735576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161172c90613541565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405161182691906126e8565b60405180910390a3505050565b60008061183f83610843565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061188157506118808185610cfd565b5b806118bf57508373ffffffffffffffffffffffffffffffffffffffff166118a7846104d8565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b6118d3848484611a4e565b6118df84848484611ec9565b61191e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611915906135d3565b60405180910390fd5b50505050565b606060405180602001604052806000815250905090565b60606119468261103e565b6000611950611924565b90506000815111611970576040518060200160405280600081525061199b565b8061197a84612060565b60405160200161198b929190613252565b6040516020818303038152906040525b915050919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b60008073ffffffffffffffffffffffffffffffffffffffff16611a2f8361127c565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b8273ffffffffffffffffffffffffffffffffffffffff16611a6e82610843565b73ffffffffffffffffffffffffffffffffffffffff1614611ac4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611abb90613665565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611b34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b2b906136f7565b60405180910390fd5b611b418383836001611ebd565b8273ffffffffffffffffffffffffffffffffffffffff16611b6182610843565b73ffffffffffffffffffffffffffffffffffffffff1614611bb7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bae90613665565b60405180910390fd5b6004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611d438383836001611ec3565b505050565b6000806000611d578585612138565b91509150611d648161218a565b819250505092915050565b6000611d7a82610843565b9050611d8a816000846001611ebd565b611d9382610843565b90506004600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506002600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905581600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611eb9816000846001611ec3565b5050565b50505050565b50505050565b6000611eea8473ffffffffffffffffffffffffffffffffffffffff166122f8565b15612053578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02611f13611089565b8786866040518563ffffffff1660e01b8152600401611f35949392919061376c565b602060405180830381600087803b158015611f4f57600080fd5b505af1925050508015611f8057506040513d601f19601f82011682018060405250810190611f7d91906137cd565b60015b612003573d8060008114611fb0576040519150601f19603f3d011682016040523d82523d6000602084013e611fb5565b606091505b50600081511415611ffb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ff2906135d3565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050612058565b600190505b949350505050565b60606000600161206f8461231b565b01905060008167ffffffffffffffff81111561208e5761208d612946565b5b6040519080825280601f01601f1916602001820160405280156120c05781602001600182028036833780820191505090505b509050600082602001820190505b60011561212d578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8581612117576121166137fa565b5b04945060008514156121285761212d565b6120ce565b819350505050919050565b60008060418351141561217a5760008060006020860151925060408601519150606086015160001a905061216e8782858561246e565b94509450505050612183565b60006002915091505b9250929050565b6000600481111561219e5761219d613829565b5b8160048111156121b1576121b0613829565b5b14156121bc576122f5565b600160048111156121d0576121cf613829565b5b8160048111156121e3576121e2613829565b5b1415612224576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161221b906138a4565b60405180910390fd5b6002600481111561223857612237613829565b5b81600481111561224b5761224a613829565b5b141561228c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161228390613910565b60405180910390fd5b600360048111156122a05761229f613829565b5b8160048111156122b3576122b2613829565b5b14156122f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122eb906139a2565b60405180910390fd5b5b50565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310612379577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000838161236f5761236e6137fa565b5b0492506040810190505b6d04ee2d6d415b85acef810000000083106123b6576d04ee2d6d415b85acef810000000083816123ac576123ab6137fa565b5b0492506020810190505b662386f26fc1000083106123e557662386f26fc1000083816123db576123da6137fa565b5b0492506010810190505b6305f5e100831061240e576305f5e1008381612404576124036137fa565b5b0492506008810190505b6127108310612433576127108381612429576124286137fa565b5b0492506004810190505b60648310612456576064838161244c5761244b6137fa565b5b0492506002810190505b600a8310612465576001810190505b80915050919050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c11156124a9576000600391509150612548565b6000600187878787604051600081526020016040526040516124ce94939291906139f7565b6020604051602081039080840390855afa1580156124f0573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561253f57600060019250925050612548565b80600092509250505b94509492505050565b82805461255d90612de0565b90600052602060002090601f01602090048101928261257f57600085556125c6565b82601f1061259857805160ff19168380011785556125c6565b828001600101855582156125c6579182015b828111156125c55782518255916020019190600101906125aa565b5b5090506125d39190612617565b5090565b5080546125e390612de0565b6000825580601f106125f55750612614565b601f0160209004906000526020600020908101906126139190612617565b5b50565b5b80821115612630576000816000905550600101612618565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61267d81612648565b811461268857600080fd5b50565b60008135905061269a81612674565b92915050565b6000602082840312156126b6576126b561263e565b5b60006126c48482850161268b565b91505092915050565b60008115159050919050565b6126e2816126cd565b82525050565b60006020820190506126fd60008301846126d9565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561273d578082015181840152602081019050612722565b8381111561274c576000848401525b50505050565b6000601f19601f8301169050919050565b600061276e82612703565b612778818561270e565b935061278881856020860161271f565b61279181612752565b840191505092915050565b600060208201905081810360008301526127b68184612763565b905092915050565b6000819050919050565b6127d1816127be565b81146127dc57600080fd5b50565b6000813590506127ee816127c8565b92915050565b60006020828403121561280a5761280961263e565b5b6000612818848285016127df565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061284c82612821565b9050919050565b61285c81612841565b82525050565b60006020820190506128776000830184612853565b92915050565b61288681612841565b811461289157600080fd5b50565b6000813590506128a38161287d565b92915050565b600080604083850312156128c0576128bf61263e565b5b60006128ce85828601612894565b92505060206128df858286016127df565b9150509250929050565b6000806000606084860312156129025761290161263e565b5b600061291086828701612894565b935050602061292186828701612894565b9250506040612932868287016127df565b9150509250925092565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61297e82612752565b810181811067ffffffffffffffff8211171561299d5761299c612946565b5b80604052505050565b60006129b0612634565b90506129bc8282612975565b919050565b600067ffffffffffffffff8211156129dc576129db612946565b5b6129e582612752565b9050602081019050919050565b82818337600083830152505050565b6000612a14612a0f846129c1565b6129a6565b905082815260208101848484011115612a3057612a2f612941565b5b612a3b8482856129f2565b509392505050565b600082601f830112612a5857612a5761293c565b5b8135612a68848260208601612a01565b91505092915050565b600067ffffffffffffffff821115612a8c57612a8b612946565b5b612a9582612752565b9050602081019050919050565b6000612ab5612ab084612a71565b6129a6565b905082815260208101848484011115612ad157612ad0612941565b5b612adc8482856129f2565b509392505050565b600082601f830112612af957612af861293c565b5b8135612b09848260208601612aa2565b91505092915050565b600080600060608486031215612b2b57612b2a61263e565b5b6000612b39868287016127df565b935050602084013567ffffffffffffffff811115612b5a57612b59612643565b5b612b6686828701612a43565b925050604084013567ffffffffffffffff811115612b8757612b86612643565b5b612b9386828701612ae4565b9150509250925092565b600060208284031215612bb357612bb261263e565b5b6000612bc184828501612894565b91505092915050565b612bd3816127be565b82525050565b6000602082019050612bee6000830184612bca565b92915050565b600060208284031215612c0a57612c0961263e565b5b600082013567ffffffffffffffff811115612c2857612c27612643565b5b612c3484828501612a43565b91505092915050565b612c46816126cd565b8114612c5157600080fd5b50565b600081359050612c6381612c3d565b92915050565b60008060408385031215612c8057612c7f61263e565b5b6000612c8e85828601612894565b9250506020612c9f85828601612c54565b9150509250929050565b60008060008060808587031215612cc357612cc261263e565b5b6000612cd187828801612894565b9450506020612ce287828801612894565b9350506040612cf3878288016127df565b925050606085013567ffffffffffffffff811115612d1457612d13612643565b5b612d2087828801612ae4565b91505092959194509250565b60008060408385031215612d4357612d4261263e565b5b6000612d5185828601612894565b9250506020612d6285828601612894565b9150509250929050565b60006060820190508181036000830152612d868186612763565b9050612d9560208301856126d9565b8181036040830152612da78184612763565b9050949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612df857607f821691505b60208210811415612e0c57612e0b612db1565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000612e6e60218361270e565b9150612e7982612e12565b604082019050919050565b60006020820190508181036000830152612e9d81612e61565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b6000612f00603d8361270e565b9150612f0b82612ea4565b604082019050919050565b60006020820190508181036000830152612f2f81612ef3565b9050919050565b7f53746f6e65206973206e6f7420747261646561626c6500000000000000000000600082015250565b6000612f6c60168361270e565b9150612f7782612f36565b602082019050919050565b60006020820190508181036000830152612f9b81612f5f565b9050919050565b7f496e76616c6964207369676e6174757265000000000000000000000000000000600082015250565b6000612fd860118361270e565b9150612fe382612fa2565b602082019050919050565b6000602082019050818103600083015261300781612fcb565b9050919050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b600061304460188361270e565b915061304f8261300e565b602082019050919050565b6000602082019050818103600083015261307381613037565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b60006130d660298361270e565b91506130e18261307a565b604082019050919050565b60006020820190508181036000830152613105816130c9565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613146826127be565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156131795761317861310c565b5b600182019050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b60006131e0602d8361270e565b91506131eb82613184565b604082019050919050565b6000602082019050818103600083015261320f816131d3565b9050919050565b600081905092915050565b600061322c82612703565b6132368185613216565b935061324681856020860161271f565b80840191505092915050565b600061325e8285613221565b915061326a8284613221565b91508190509392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006132d260268361270e565b91506132dd82613276565b604082019050919050565b60006020820190508181036000830152613301816132c5565b9050919050565b60006133148284613221565b915081905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061335560208361270e565b91506133608261331f565b602082019050919050565b6000602082019050818103600083015261338481613348565b9050919050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b60006133c160208361270e565b91506133cc8261338b565b602082019050919050565b600060208201905081810360008301526133f0816133b4565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b600061342d601c8361270e565b9150613438826133f7565b602082019050919050565b6000602082019050818103600083015261345c81613420565b9050919050565b7f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60008201527f6578697374656e7420746f6b656e000000000000000000000000000000000000602082015250565b60006134bf602e8361270e565b91506134ca82613463565b604082019050919050565b600060208201905081810360008301526134ee816134b2565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b600061352b60198361270e565b9150613536826134f5565b602082019050919050565b6000602082019050818103600083015261355a8161351e565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b60006135bd60328361270e565b91506135c882613561565b604082019050919050565b600060208201905081810360008301526135ec816135b0565b9050919050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b600061364f60258361270e565b915061365a826135f3565b604082019050919050565b6000602082019050818103600083015261367e81613642565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006136e160248361270e565b91506136ec82613685565b604082019050919050565b60006020820190508181036000830152613710816136d4565b9050919050565b600081519050919050565b600082825260208201905092915050565b600061373e82613717565b6137488185613722565b935061375881856020860161271f565b61376181612752565b840191505092915050565b60006080820190506137816000830187612853565b61378e6020830186612853565b61379b6040830185612bca565b81810360608301526137ad8184613733565b905095945050505050565b6000815190506137c781612674565b92915050565b6000602082840312156137e3576137e261263e565b5b60006137f1848285016137b8565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b600061388e60188361270e565b915061389982613858565b602082019050919050565b600060208201905081810360008301526138bd81613881565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b60006138fa601f8361270e565b9150613905826138c4565b602082019050919050565b60006020820190508181036000830152613929816138ed565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b600061398c60228361270e565b915061399782613930565b604082019050919050565b600060208201905081810360008301526139bb8161397f565b9050919050565b6000819050919050565b6139d5816139c2565b82525050565b600060ff82169050919050565b6139f1816139db565b82525050565b6000608082019050613a0c60008301876139cc565b613a1960208301866139e8565b613a2660408301856139cc565b613a3360608301846139cc565b9594505050505056fea26469706673582212200eeadf613d287039f47b1bea38b1cdbffbef3e3b4a51a82da98288fcbe3210a164736f6c63430008080033