diff --git a/abi/get_methods.go b/abi/get_methods.go index 16616229..d2ba2289 100644 --- a/abi/get_methods.go +++ b/abi/get_methods.go @@ -24,8 +24,12 @@ var KnownGetMethodsDecoder = map[string][]func(tlb.VmStack) (string, any, error) "get_last_fill_up_time": {DecodeGetLastFillUpTimeResult}, "get_locker_bill_data": {DecodeGetLockerBillDataResult}, "get_locker_data": {DecodeGetLockerDataResult}, + "get_lp_data": {DecodeGetLpData_MegatonResult}, + "get_lp_mining_data": {DecodeGetLpMiningData_MegatonResult}, + "get_lp_swap_data": {DecodeGetLpSwapData_MegatonResult}, "get_member": {DecodeGetMember_WhalesNominatorResult}, "get_members_raw": {DecodeGetMembersRaw_WhalesNominatorResult}, + "get_mining_data": {DecodeGetMiningData_MegatonResult}, "get_next_proof_info": {DecodeGetNextProofInfoResult}, "get_nft_address_by_index": {DecodeGetNftAddressByIndexResult}, "get_nft_content": {DecodeGetNftContentResult}, @@ -68,6 +72,7 @@ var KnownSimpleGetMethods = map[int][]func(ctx context.Context, executor Executo 72748: {GetSaleData}, 73490: {GetLockerData}, 78748: {GetPublicKey}, + 80035: {GetLpData}, 80697: {GetAuctionInfo}, 81467: {GetSubwalletId}, 81490: {GetNextProofInfo}, @@ -81,18 +86,21 @@ var KnownSimpleGetMethods = map[int][]func(ctx context.Context, executor Executo 91481: {GetLastFillUpTime}, 92229: {GetPoolFullData}, 92260: {GetSubscriptionData}, + 96219: {GetMiningData}, 96705: {GetBillAmount}, 97026: {GetWalletData}, 97667: {GetRevokedTime}, 102351: {GetNftData}, 102491: {GetCollectionData}, 103232: {GetValidatorControllerData}, + 104122: {GetLpMiningData}, 104346: {GetStorageParams}, 106029: {GetJettonData}, 106901: {GetChannelState}, 107653: {GetPluginList}, 111161: {ListNominators}, 115150: {GetParams}, + 116242: {GetLpSwapData}, 118274: {GetLockerBillData}, 119378: {GetDomain}, 120146: {GetPoolStatus}, @@ -119,8 +127,12 @@ var ResultTypes = []interface{}{ &GetLastFillUpTimeResult{}, &GetLockerBillDataResult{}, &GetLockerDataResult{}, + &GetLpData_MegatonResult{}, + &GetLpMiningData_MegatonResult{}, + &GetLpSwapData_MegatonResult{}, &GetMember_WhalesNominatorResult{}, &GetMembersRaw_WhalesNominatorResult{}, + &GetMiningData_MegatonResult{}, &GetNextProofInfoResult{}, &GetNftAddressByIndexResult{}, &GetNftContentResult{}, @@ -662,6 +674,123 @@ func DecodeGetLockerDataResult(stack tlb.VmStack) (resultType string, resultAny return "GetLockerDataResult", result, err } +type GetLpData_MegatonResult struct { + PoolCount uint64 + JettonPairToLp tlb.Any + LpToJettonPair tlb.Any +} + +func GetLpData(ctx context.Context, executor Executor, reqAccountID tongo.AccountID) (string, any, error) { + stack := tlb.VmStack{} + + // MethodID = 80035 for "get_lp_data" method + errCode, stack, err := executor.RunSmcMethodByID(ctx, reqAccountID, 80035, stack) + if err != nil { + return "", nil, err + } + if errCode != 0 && errCode != 1 { + return "", nil, fmt.Errorf("method execution failed with code: %v", errCode) + } + for _, f := range []func(tlb.VmStack) (string, any, error){DecodeGetLpData_MegatonResult} { + s, r, err := f(stack) + if err == nil { + return s, r, nil + } + } + return "", nil, fmt.Errorf("can not decode outputs") +} + +func DecodeGetLpData_MegatonResult(stack tlb.VmStack) (resultType string, resultAny any, err error) { + if len(stack) != 3 || (stack[0].SumType != "VmStkTinyInt" && stack[0].SumType != "VmStkInt") || (stack[1].SumType != "VmStkCell") || (stack[2].SumType != "VmStkCell") { + return "", nil, fmt.Errorf("invalid stack format") + } + var result GetLpData_MegatonResult + err = stack.Unmarshal(&result) + return "GetLpData_MegatonResult", result, err +} + +type GetLpMiningData_MegatonResult struct { + MiningAmount uint64 + DatetimeAmount uint64 + MinableTime uint64 + HalfLife uint64 + LastIndex uint64 + LastMined uint64 + MiningRateCell tlb.Any +} + +func GetLpMiningData(ctx context.Context, executor Executor, reqAccountID tongo.AccountID) (string, any, error) { + stack := tlb.VmStack{} + + // MethodID = 104122 for "get_lp_mining_data" method + errCode, stack, err := executor.RunSmcMethodByID(ctx, reqAccountID, 104122, stack) + if err != nil { + return "", nil, err + } + if errCode != 0 && errCode != 1 { + return "", nil, fmt.Errorf("method execution failed with code: %v", errCode) + } + for _, f := range []func(tlb.VmStack) (string, any, error){DecodeGetLpMiningData_MegatonResult} { + s, r, err := f(stack) + if err == nil { + return s, r, nil + } + } + return "", nil, fmt.Errorf("can not decode outputs") +} + +func DecodeGetLpMiningData_MegatonResult(stack tlb.VmStack) (resultType string, resultAny any, err error) { + if len(stack) != 7 || (stack[0].SumType != "VmStkTinyInt" && stack[0].SumType != "VmStkInt") || (stack[1].SumType != "VmStkTinyInt" && stack[1].SumType != "VmStkInt") || (stack[2].SumType != "VmStkTinyInt" && stack[2].SumType != "VmStkInt") || (stack[3].SumType != "VmStkTinyInt" && stack[3].SumType != "VmStkInt") || (stack[4].SumType != "VmStkTinyInt" && stack[4].SumType != "VmStkInt") || (stack[5].SumType != "VmStkTinyInt" && stack[5].SumType != "VmStkInt") || (stack[6].SumType != "VmStkCell") { + return "", nil, fmt.Errorf("invalid stack format") + } + var result GetLpMiningData_MegatonResult + err = stack.Unmarshal(&result) + return "GetLpMiningData_MegatonResult", result, err +} + +type GetLpSwapData_MegatonResult struct { + SwapFee uint64 + MinAmount uint64 + RouterAddress tlb.MsgAddress + JettonAAddress tlb.MsgAddress + JettonAWalletAddress tlb.MsgAddress + JettonABalance tlb.Int257 + JettonAPendingBalance tlb.Int257 + JettonBAddress tlb.MsgAddress + JettonBWalletAddress tlb.MsgAddress + JettonBBalance tlb.Int257 + JettonBPendingBalance tlb.Int257 +} + +func GetLpSwapData(ctx context.Context, executor Executor, reqAccountID tongo.AccountID) (string, any, error) { + stack := tlb.VmStack{} + + // MethodID = 116242 for "get_lp_swap_data" method + errCode, stack, err := executor.RunSmcMethodByID(ctx, reqAccountID, 116242, stack) + if err != nil { + return "", nil, err + } + if errCode != 0 && errCode != 1 { + return "", nil, fmt.Errorf("method execution failed with code: %v", errCode) + } + for _, f := range []func(tlb.VmStack) (string, any, error){DecodeGetLpSwapData_MegatonResult} { + s, r, err := f(stack) + if err == nil { + return s, r, nil + } + } + return "", nil, fmt.Errorf("can not decode outputs") +} + +func DecodeGetLpSwapData_MegatonResult(stack tlb.VmStack) (resultType string, resultAny any, err error) { + if len(stack) != 11 || (stack[0].SumType != "VmStkTinyInt" && stack[0].SumType != "VmStkInt") || (stack[1].SumType != "VmStkTinyInt" && stack[1].SumType != "VmStkInt") || (stack[2].SumType != "VmStkSlice") || (stack[3].SumType != "VmStkSlice") || (stack[4].SumType != "VmStkSlice") || (stack[5].SumType != "VmStkTinyInt" && stack[5].SumType != "VmStkInt") || (stack[6].SumType != "VmStkTinyInt" && stack[6].SumType != "VmStkInt") || (stack[7].SumType != "VmStkSlice") || (stack[8].SumType != "VmStkSlice") || (stack[9].SumType != "VmStkTinyInt" && stack[9].SumType != "VmStkInt") || (stack[10].SumType != "VmStkTinyInt" && stack[10].SumType != "VmStkInt") { + return "", nil, fmt.Errorf("invalid stack format") + } + var result GetLpSwapData_MegatonResult + err = stack.Unmarshal(&result) + return "GetLpSwapData_MegatonResult", result, err +} + type GetMember_WhalesNominatorResult struct { MemberBalance int64 MemberPendingDeposit int64 @@ -740,6 +869,44 @@ func DecodeGetMembersRaw_WhalesNominatorResult(stack tlb.VmStack) (resultType st return "GetMembersRaw_WhalesNominatorResult", result, err } +type GetMiningData_MegatonResult struct { + TotalMiningAmount uint64 + TotalMiningRate uint64 + MiningAmountPerSec uint64 + HalfLife uint64 + TotalReward uint64 + Unknown uint64 +} + +func GetMiningData(ctx context.Context, executor Executor, reqAccountID tongo.AccountID) (string, any, error) { + stack := tlb.VmStack{} + + // MethodID = 96219 for "get_mining_data" method + errCode, stack, err := executor.RunSmcMethodByID(ctx, reqAccountID, 96219, stack) + if err != nil { + return "", nil, err + } + if errCode != 0 && errCode != 1 { + return "", nil, fmt.Errorf("method execution failed with code: %v", errCode) + } + for _, f := range []func(tlb.VmStack) (string, any, error){DecodeGetMiningData_MegatonResult} { + s, r, err := f(stack) + if err == nil { + return s, r, nil + } + } + return "", nil, fmt.Errorf("can not decode outputs") +} + +func DecodeGetMiningData_MegatonResult(stack tlb.VmStack) (resultType string, resultAny any, err error) { + if len(stack) != 6 || (stack[0].SumType != "VmStkTinyInt" && stack[0].SumType != "VmStkInt") || (stack[1].SumType != "VmStkTinyInt" && stack[1].SumType != "VmStkInt") || (stack[2].SumType != "VmStkTinyInt" && stack[2].SumType != "VmStkInt") || (stack[3].SumType != "VmStkTinyInt" && stack[3].SumType != "VmStkInt") || (stack[4].SumType != "VmStkTinyInt" && stack[4].SumType != "VmStkInt") || (stack[5].SumType != "VmStkTinyInt" && stack[5].SumType != "VmStkInt") { + return "", nil, fmt.Errorf("invalid stack format") + } + var result GetMiningData_MegatonResult + err = stack.Unmarshal(&result) + return "GetMiningData_MegatonResult", result, err +} + type GetNextProofInfoResult struct { NextProof uint64 LastProofTime uint32 diff --git a/abi/inspect_test.go b/abi/inspect_test.go index f7562822..3f3c519a 100644 --- a/abi/inspect_test.go +++ b/abi/inspect_test.go @@ -65,6 +65,25 @@ func Test_contractInspector_InspectContract(t *testing.T) { return nil }, }, + { + name: "megaton router", + account: "310b71b340182396f5ba08903081a1ef6ab4df571a3ca7b05effa44c4a3b0f92", + code: "b5ee9c7201026f01001b70000114ff00f4a413f4bcf2c80b0102016202030202ca040502012006070201201a1b0201484d4e02012008090201481314020397900a0b0201200c0d00afa28fb51343e903e903e9034c03e803500743e903e903e903440f5007434fff4fff4cff4cff4c3f4fff441b500743d013d013440b5007435353535344134434444034433c42ac4268422441e0419c411554097c10c9b30c0600afa393b51343e903e903e9034c03e803500743e903e903e903440f5007434fff4fff4cff4cff4c3f4fff441b500743d013d013440b5007435353535344134434444034433c42ac4268422441e0419c41155408437d7c3db1060201c70e0f020120101100a7a66fda89a1f481f481f481a601f401a803a1f481f481f481a207a803a1a7ffa7ffa67fa67fa61fa7ffa20da803a1e809e809a205a803a1a9a9a9a9a209a21a22201a219e21562134211220f020ce208aaa04be1d00b1a4ddda89a1f481f481f481a601f401a803a1f481f481f481a207a803a1a7ffa7ffa67fa67fa61fa7ffa20da803a1e809e809a205a803a1a9a9a9a9a209a21a22201a219e21562134211220f020ce208aaa0464d9866666686501b1b2fd3b51343e903e903e9034c03e803500743e903e903e903440f5007434fff4fff4cff4cff4c3f4fff441b500743d013d013440b5007435353535344134434444034433c42ac4268422441e0419c411554095c417c3db08a01200c9b1f6fb51343e903e903e9034c03e803500743e903e903e903440f5007434fff4fff4cff4cff4c3f4fff441b500743d013d013440b5007435353535344134434444034433c42ac4268422441e0419c41155408419d7c1db154d4d4d45208203d090141100e0005a70542013541403c85004fa0258cf1601cf16ccc922c8cb0112f400f400cb00c9f9007074c8cb02ca07cbffc9d0020120151602016e171800b1b1077b51343e903e903e9034c03e803500743e903e903e903440f5007434fff4fff4cff4cff4c3f4fff441b500743d013d013440b5007435353535344134434444034433c42ac4268422441e0419c41155408433d7c3db106000b5b077fb51343e903e903e9034c03e803500743e903e903e903440f5007434fff4fff4cff4cff4c3f4fff441b500743d013d013440b5007435353535344134434444034433c42ac4268422441e0419c41155408417d7c3db107c052000b0a811ed44d0fa40fa40fa40d300fa00d401d0fa40fa40fa40d103d401d0d3ffd3ffd33fd33fd30fd3ffd106d401d0f404f404d102d401d0d4d4d4d4d104d10d11100d10cf10ab109a10891078106710455502102f5f0f6c4101f8a93520f001ed44d0fa40fa40fa40d300fa00d401d0fa40fa40fa40d103d401d0d3ffd3ffd33fd33fd30fd3ffd106d401d0f404f404d102d401d0d4d4d4d4d104d10d11100d10cf10ab109a10891078106710455502104f5f0f6c4101fa4431018307f40e6fa120c0009e5b70c8cb01c9d070c8cb01c9d070e001fa40190008fa40d1580201201c1d02012027280201201e1f0201202526020148202100dff036465ff8ae5ff89e664846465ff8be5ff8ae59f89e59fe4e42806e78b2804678b64e42806e78b2804678b64e428057d012802fd012803fd012c7d010b660be60ae609e66480e47a000a7a0064e428067d0128057d0128047d010b65800a658f89658f80e78b00e78b6609e6666664c01f30831c02497c0f8007434c0c05c6c2497c0f83e90087c007e900c7e800c5c75c87e800c7e800c00b4c7f4cfc8a08414cdc38baea58c941100fc05b808a0843cb21a0aeea54c8d0cbc05f808a0841ac533f86ea54c8d0cbc063808a0841cd8b4272ea58c941100fc067808a08418b761bc6ea54d56cc7c06b808a02200113e910c30003cb8536001fe821066447dadba95355b31f01be02282100eed8fd3ba95323432f01ce02282103373fa00ba95323432f01de02282101d65ab3fba95355b31f01fe0228210360e7ae3ba95355b31f020e02282103bb99164ba95355b31f021e02282107532380dba95355b31f022e022821070ae1f34ba95323301f023e022821020b88d2eba2301fe95323301f024e02282105cbfb251ba95323432f028e022821072ee6e80ba95323432f029e0228210743f8e58ba95323432f01ee02282104c47f45eba95355b31f02ae02282100c92a5dcba95325023f025e02282100e993a0aba95325023f026e03421821093675382ba943159f027e03033028210422692c9ba9301f02be024000a5b840ff2f000d5d382a38002a38002a38002a38002a380029806465afe4b6b68889088c08890888888b88888888088b088807888a8787088a07068889868889088d08890888888c8888ab0d08888888088d8888086f88672b0d0706888d8680888e00f80390e4658089fa00097a00658064c006969400e848304064d7c11c3808b00024db04aa2384d4c0aa4114882b5448a86a8008ea00ea422a283888708014c4af2c244c244c78a020120292a02012035360015f642c678b00e78b64fc8040201202b2c0201202d2e0201202f30003308be910c48be910c6e64d67c04e4c0bc04f88060c1fd039be86000ed14f73c04d402a0c1fd039be84c70002397fe0a041b814413440f121fbc02083e401c1d3232c0b281f2fff27401f232ffc4f2fff2cfc4b2cff2608414cdc38bb232c7c632cfd400fe80b2c7d40133c59633c584f3325de0063232c1540133c5a084017d78403e8084f2daf333325c7ec02517c3fc8df8a001f5208401c9c38000682f3cb8123b51343e903e903e9034c03e803500743e903e903e903440f5007434fff4fff4cff4cff4c3f4fff441b500743d013d013440b5007435353535344134434444034433c42ac4268422441e0419c41155408c0ccd0d0e0e0e0e4e4e942a31c17cb812427e90087c007e90087c0054c8603101f73b51343e903e903e9034c03e803500743e903e903e903440f5007434fff4fff4cff4cff4c3f4fff441b500743d013d013440b5007435353535344134434444034433c42ac4268422441e0419c411554084457e903e903e80347e0a1584950c50d51e61fc023e401c1d3232c0b281f2fff2741585d585b1c1444608603200cac705f2d04bfa0021c20422c165b0f2e3e7d31fd401d0fa4021f001fa4021f001d102d125d30201c004f2acd30701c000f2acd3ff3025d30201c004f2acd30701c000f2acd3ff30b98e13108e105d104c103b102a10691068054343f015965f0f30f2c042e201f0c70501111801b1f2e0495321f013561740198307f4165616fa4431c824cf1623cf16c9d040188307f41609a41112111511121111111411111110111311100f11150f0e11140e0d11130d0c11150c0b11140b0a11130a091115090811140807111307520706111506050411160403111503020111160111183301d2c8011111cf16500fcf16500dcf16c909c8cbff18cbff16cb3f14cb3f12cb0fcbffc901c8f40012f400c902c8cc16cc16cc16ccc9c85009cf165007cf165005cf1614cb005004fa02ccccccccc9ed548210f2c8682bc8cb1f5004cf1601cf165003cf1601fa02cb0fc934003071830721800cc8cb03cb01cb0813cbff12cb61ccc970fb0002012037380201204445020120393a020120414201f73b51343e903e903e9034c03e803500743e903e903e903440f5007434fff4fff4cff4cff4c3f4fff441b500743d013d013440b5007435353535344134434444034433c42ac4268422441e0419c411554084453e910c4920c1fd039be84c70003cb4fa44453e903e8034551ee68afe08fc0394dc682e64fcb018f79c203b01f72082bebc20006814842f3cb812fb51343e903e903e9034c03e803500743e903e903e903440f5007434fff4fff4cff4cff4c3f4fff441b500743d013d013440b5007435353535344134434444034433c42ac4268422441e0419c411554097c1142e97c21b1101be803e90350c34087c00487e910c4960c1fd039be8603d01fe6d82100f8a7ea5c8cb1f01111901cb3f22fa0223cf165003cf1601111701f40021fa02cb00c9f8285611561570542013541403c85004fa0258cf1601cf16ccc922c8cb0112f400f400cb00c9f9007074c8cb02ca07cbffc9d0718018c8cb0558cf1670fa02cb6accc98040fb00111414a01110111311100f11120f0e11110e3c00d20d11100d10cf10be10ad109c108b107a10691058104745664414c8011111cf16500fcf16500dcf16c909c8cbff18cbff16cb3f14cb3f12cb0fcbffc901c8f40012f400c902c8cc16cc16cc16ccc9c85009cf165007cf165005cf1614cb005004fa02ccccccccc9ed5402fe3120c3005005b18e483434343504c300963002fa4030029133e2706d82100f8a7ea5c8cb1f16cb3f58fa0223cf165003cf1613f40021fa02cb00c9718018c8cb055003cf1670fa0212cb6accc98040fb00e03322d749810218b9e30202fa40fa40fa00d1546228f0142ac2009782100bebc2003bdfc0002a821005f5e100a03e3f007650575f05706d82100f8a7ea5c8cb1f16cb3f58fa0223cf165003cf1613f40021fa02cb00c9718018c8cb055003cf1670fa0212cb6accc98040fb0001b019b918b18e3b5b34355b706d82100f8a7ea5c8cb1f16cb3f58fa0223cf165003cf1613f40021fa02cb00c9718018c8cb055003cf1670fa0212cb6accc98040fb00e026fa443150058307f40e6fa131c000e3035f09f2c7d140008ec801cf165003cf1621cf165003fa02c96d82100f8a7ea5c8cb1f18cb3f58fa025003cf1601cf1614f40058fa0212f400c9718018c8cb055003cf1670fa0212cb6accc98040fb0001f73b51343e903e903e9034c03e803500743e903e903e903440f5007434fff4fff4cff4cff4c3f4fff441b500743d013d013440b5007435353535344134434444034433c42ac4268422441e0419c41155408f8444d584b1c17cb8124444fe90087c007444444444c44444440444844403c44443c38444038437c3842f605501f70c7b51343e903e903e9034c03e803500743e903e903e903440f5007434fff4fff4cff4cff4c3f4fff441b500743d013d013440b5007435353535344134434444034433c42ac4268422441e0419c411554095c4c444cb71c17cb8125c3232c07274034444c344444444844444440444444403c44403c383c433442f204300c210ab109a1089107810671056104510344130c8011111cf16500fcf16500dcf16c909c8cbff18cbff16cb3f14cb3f12cb0fcbffc901c8f40012f400c902c8cc16cc16cc16ccc9c85009cf165007cf165005cf1614cb005004fa02ccccccccc9ed5402012046470201204a4b01f53b51343e903e903e9034c03e803500743e903e903e903440f5007434fff4fff4cff4cff4c3f4fff441b500743d013d013440b5007435353535344134434444034433c42ac4268422441e0419c4115540841397c39b109671c17cb812407e90087c007e90087c0074487e910c5400e0c1fd039be84c70003cb41ba04801f53b51343e903e903e9034c03e803500743e903e903e903440f5007434fff4fff4cff4cff4c3f4fff441b500743d013d013440b5007435353535344134434444034433c42ac4268422441e0419c41155408413d7c3db0c5671c17cb812407e90087c007e90087c0074487e910c5400e0c1fd039be84c70003cb41ba049004c821066447dadc8cb1f13cb3f01cf16c9718018c8cb055003cf1670fa0212cb6accc98040fb00004c82101403d27ac8cb1f13cb3f01cf16c9718018c8cb055003cf1670fa0212cb6accc98040fb0001ed3b51343e903e903e9034c03e803500743e903e903e903440f5007434fff4fff4cff4cff4c3f4fff441b500743d013d013440b5007435353535344134434444034433c42ac4268422441e0419c41155408413d7c3cd16c4b1c17cb812407e90087c007534487e910c5400e0c1fd039be84c70003cb41ba04c01f73b51343e903e903e9034c03e803500743e903e903e903440f5007434fff4fff4cff4cff4c3f4fff441b500743d013d013440b5007435353535344134434444034433c42ac4268422441e0419c411554095c48444d584b1c17cb8124444fe90087c007444444444c444444483c44443c38444038437c433842f442b206d00488210743f8e58c8cb1f13cb3fccc9718018c8cb055003cf1670fa0212cb6accc98040fb000201204f50020148656602012051520201205a5b0201205354020120565701f73b51343e903e903e9034c03e803500743e903e903e903440f5007434fff4fff4cff4cff4c3f4fff441b500743d013d013440b5007435353535344134434444034433c42ac4268422441e0419c411554095c40444d584b1c17cb8124444fe90087c007444444444c44444440444844403c44443c4440437c433842f605501f33b51343e903e903e9034c03e803500743e903e903e903440f5007434fff4fff4cff4cff4c3f4fff441b500743d013d013440b5007435353535344134434444034433c42ac4268422441e0419c41155408fc444d584b1c17cb8124444fe90087c007444444444c44444440444844403c44443c384440383d547205f00c410ac109b108a10791068105710461035440302c8011111cf16500fcf16500dcf16c909c8cbff18cbff16cb3f14cb3f12cb0fcbffc901c8f40012f400c902c8cc16cc16cc16ccc9c85009cf165007cf165005cf1614cb005004fa02ccccccccc9ed5401ed3b51343e903e903e9034c03e803500743e903e903e903440f5007434fff4fff4cff4cff4c3f4fff441b500743d013d013440b5007435353535344134434444034433c42ac4268422441e0419c41155408c8444d584b1c17cb8124444f53444444444c44444440444844403c44443c38444038437d547205f01f53b51343e903e903e9034c03e803500743e903e903e903440f5007434fff4fff4cff4cff4c3f4fff441b500743d013d013440b5007435353535344134434444034433c42ac4268422441e0419c4115540841197c19432d7c28cd6b1c17cb81248608401a39de02a14942f3cb81400b4cffd01345b5c08a0c1fd21a05801c86fa592c3008e3653078307f40e6fa13153148307f40e6fa13101c000f272c300f27301d31fd112a071c8cb005420248307f44351138307f47c6fa51034e810235f0382080f4240bdf2745052a9048208989680a1228307f4866fa5329301c3008ae85f065900a653028307f40e6fa17074c8cb02cb075230cbffc9d07002c300953101d31f309132e2821070ae1f34c8cb1f5270cb3fcb1f5270cb3fc9718018c8cb055003cf1624fa0212cb6accc970fb00238307f47c6fa5320201205c5d020120616201f73b51343e903e903e9034c03e803500743e903e903e903440f5007434fff4fff4cff4cff4c3f4fff441b500743d013d013440b5007435353535344134434444034433c42ac4268422441e0419c41155408ec444cbf1c17cb81260822625a009a084017d78402a281585806efcb4140444f4fff4444560822625a028605e01f73b51343e903e903e9034c03e803500743e903e903e903440f5007434fff4fff4cff4cff4c3f4fff441b500743d013d013440b5007435353535344134434444034433c42ac4268422441e0419c41155408413d7c3db0c540cf1c17cb812608401a39de00068052f3cb8143e90087c00487e910c540120c1fd039be8606001da25a904228307f4866fa5329301c3008e3e7074c8cb02cb075210cbffc9d0821020b88d2ec8cb1f561701cb3f561801cbffc9718018c8cb055003cf1624fa0212cb6accc970fb00238307f47c6fa532e85b57130f11130f0e11120e0d11110d0c11100c10bf10ae109d108c55365f009ec8011111cf16500fcf16500dcf16c909c8cbff18cbff16cb3f14cb3f12cb0fcbffc901c8f40012f400c902c8cc16cc16cc16ccc9c85009cf165007cf165005cf1614cb005004fa02ccccccccc9ed54007831c000f2d06e02d31f2182080f4240bbf2b4d33fd1821070ae1f34c8cb1f13cb3fcb1fcb3fc9718018c8cb055003cf1670fa0212cb6accc98040fb0001f73b51343e903e903e9034c03e803500743e903e903e903440f5007434fff4fff4cff4cff4c3f4fff441b500743d013d013440b5007435353535344134434444034433c42ac4268422441e0419c41155408413d7c3db0c540cf1c17cb812608401a39de00068052efcb4143e90087c00487e910c540120c1fd039be8606301f30cbb51343e903e903e9034c03e803500743e903e903e903440f5007434fff4fff4cff4cff4c3f4fff441b500743d013d013440b5007435353535344134434444034433c42ac4268422441e0419c41155408ec4451584b1c17cb812444520822625a02efcb414044474fff444440444c44403c44483c3844443a064005e31c000f2d06e02d3ffd1821020b88d2ec8cb1f12cb3fcbffc9718018c8cb055003cf1670fa0212cb6accc98040fb0000bc0d11100d10cf10be10ad109c0b5527c8011111cf16500fcf16500dcf16c909c8cbff18cbff16cb3f14cb3f12cb0fcbffc901c8f40012f400c902c8cc16cc16cc16ccc9c85009cf165007cf165005cf1614cb005004fa02ccccccccc9ed5402012067680201206b6c01ef3b51343e903e903e9034c03e803500743e903e903e903440f5007434fff4fff4cff4cff4c3f4fff441b500743d013d013440b5007435353535344134434444034433c42ac4268422441e0419c4115540841397c39b109671c17cb812407e90087c007e8034487e910c5400e0c1fd039be84c70003cb41ba06901f70cbb51343e903e903e9034c03e803500743e903e903e903440f5007434fff4fff4cff4cff4c3f4fff441b500743d013d013440b5007435353535344134434444034433c42ac4268422441e0419c41155408f44451584b1c17cb8124444b4c03444444444c44444440444844403c44443c38444038437c43383442b206a004c82105cbfb251c8cb1f13cb3f01fa02c9718018c8cb055003cf1670fa0212cb6accc98040fb0000be109b108a107910681057104610354403c8011111cf16500fcf16500dcf16c909c8cbff18cbff16cb3f14cb3f12cb0fcbffc901c8f40012f400c902c8cc16cc16cc16ccc9c85009cf165007cf165005cf1614cb005004fa02ccccccccc9ed5401f53b51343e903e903e9034c03e803500743e903e903e903440f5007434fff4fff4cff4cff4c3f4fff441b500743d013d013440b5007435353535344134434444034433c42ac4268422441e0419c41155408f0444d584b1c17cb8124444fe803444444444c44444440444844403c44443c38444038437c433842f43206d01f73b51343e903e903e9034c03e803500743e903e903e903440f5007434fff4fff4cff4cff4c3f4fff441b500743d013d013440b5007435353535344134434444034433c42ac4268422441e0419c41155408d0d0d4444558431c17cb812444474c3fd013d013444444444c44444440444844403c44443c38444038437e06e00c0109b108a10791068105710461035440302c8011111cf16500fcf16500dcf16c909c8cbff18cbff16cb3f14cb3f12cb0fcbffc901c8f40012f400c902c8cc16cc16cc16ccc9c85009cf165007cf165005cf1614cb005004fa02ccccccccc9ed5400c810ce10bd10ac109b108a1079106847140650334515c8011111cf16500fcf16500dcf16c909c8cbff18cbff16cb3f14cb3f12cb0fcbffc901c8f40012f400c902c8cc16cc16cc16ccc9c85009cf165007cf165005cf1614cb005004fa02ccccccccc9ed54", + data: "b5ee9c72020201ae0001000060e8000004d1801512e99f6a7959749ccedecebc552e4f40025e37b08c674aedda23d5a0013b989002a25d33ed4f2b2e9399dbd9d78aa5c9e8004bc6f6118ce95dbb447ab400277312002ff5f31423ee394b44bf9b8463d65c95a6280c9212ff3763bf2f8ffee9b1cd1e902faf080200010002000300040086801512e99f6a7959749ccedecebc552e4f40025e37b08c674aedda23d5a0013b989002a25d33ed4f2b2e9399dbd9d78aa5c9e8004bc6f6118ce95dbb447ab40027731000e4000000000000000000000000000000000000000000000000000d418d56ee9a80000000000000000000000000000000000000000000000000000000000cef5e810000000063f6ac8000000000076a700000330000000000000000000000000000000000000000000000000009d822d975140e0201e0000500060400000b000c000d000e020120000700080201200009000a0201200029002a020120004f0050020120008b008c02012000bb00bc0114ff00f4a413f4bcf2c80b00ed010300c0000f0114ff00f4a413f4bcf2c80b01920114ff00f4a413f4bcf2c80b001a0201580010001102012000120013020120001600170141bf4546a6ffe1b79cfdd86bad3db874313dcde2fb05e6a74aa7f3552d9617c79d1300140141bf6ed4f942a7848ce2cb066b77a1128c6a1ff8c43f438a2dce24612ba9ffab8b0300150022004d656761746f6e204c5020546f6b656e000a004d474c500141bf5208def46f5a1d4f9dce66ab309f4a851305f166f91ef79d923ef58e34f9a20900180141bf5d01fa5e3c06901c45046c6b2ddcea5af764fea0eed72a10d404f2312ceb247d00190052004c697175696469747920506f6f6c20546f6b656e73206f6e204d656761746f6e2046696e616e63650006003138020162001b001c0202cc001d001e001ba0f605da89a1f401f481f481a8610201d4001f019a0201200020002100b70831c02497c138007434c0c05c6c2544d7c0fc03383e903e900c7e800c5c75c87e800c7e800c00b4c7c8608403e29fa96ea54c4d167c027808608405e351466ea58c511100fc02b80d60841657c1ef2ea4d67c02f817c12103fcbc20020120002200230081d40106b90f6a2687d007d207d206a1802698f90c1080bc6a28cdd0141083deecbef5d0958f97162e99f98fd001809d02811e428027d012c678b00e78b6664f6aa401f1503d33ffa00fa4021f001ed44d0fa00fa40fa40d4305136a1522ac705f2e2c128c2fff2e2c254344270542013541403c85004fa0258cf1601cf16ccc922c8cb0112f400f400cb00c920f9007074c8cb02ca07cbffc9d004fa40f40431fa0020d749c200f2e2c4778018c8cb055008cf1670fa0217cb6b13cc8002402012000250026009e8210178d4519c8cb1f19cb3f5007fa0222cf165006cf1625fa025003cf16c95005cc2391729171e25008a813a08209c9c380a014bcf2e2c504c98040fb001023c85004fa0258cf1601cf16ccc9ed5402f73b51343e803e903e90350c0234cffe80145468017e903e9014d6f1c1551cdb5c150804d50500f214013e809633c58073c5b33248b232c044bd003d0032c0327e401c1d3232c0b281f2fff274140371c1472c7cb8b0c2be80146a2860822625a019ad822860822625a028062849e5c412440e0dd7c138c34975c2c0600027002800df3b51343e803e903e90350c01f4cffe803e903d010c1458a85496b1c17cb8b04a30bffcb8b081a0824c4b402805ef3cb8b0e0841ef765f7b232c7f2cfd4017e808873c59400f3c5bd00325c60063232c14933c59c3e80b2dab33260103ec01004f214013e809633c58073c5b3327b552000705279a018a182107362d09cc8cb1f5230cb3f58fa025007cf165007cf16c9718010c8cb0524cf165006fa0215cb6a14ccc971fb0010241023007cc30023c200b08e218210d53276db708010c8cb055008cf165004fa0216cb6a12cb1f12cb3fc972fb0093356c21e203c85004fa0258cf1601cf16ccc9ed54020120002b002c020120003f004002016e002d002e020120002f00300083beb42cce0ee6832431a14c6768ce3ed7c0bc288362ca31eee2ef3d08c573b6746800681478482367faa8e540116276e1bb73da650d13030054dc1a0a900e11dbeb090083be945a5d46adc86b417564baecabb52948a6b7bddaf63c88bfb7dad0fb693dfd480123b3d422fa1594e3162efe4c48537c61333c5f35ef96e9d84f0aba7a4b684bc7020120003100320201200039003a02014800330034020120003700380083be48b47f5bd4e5fe186e48724712fdf2e93832ec94659c3f23df821230ddb5c9f00243111a253fc4b9ca2f561dd0660a9e77280edbab1c2e1a3e82379a784edecbe602037d58003500360082bcceb157a8946c213f6dc146e83185173252542cc68968db7168d33b3a44a9ec0040e31a8652f991693ba121815c85a4152323cb1c3115f0fdc4c243a207e58ac50082bcf91940d82d89132d8453d1bd8d345c54c3602c1ab0202276612a5e36c01704000c51e23e7f0c3f5b5902c0c7037d9a280614edaf5cf0732f3ab651deb6fa6fa90083be903b43f5d74cf81660a6190d434e4c08f544d9429ad94433030a7f34a9db3a0801615df2aa52e606a952d845ec15d364cc55f20d3eaa44a70b71d570140e95f4150083be9ee8972109d4cd5bfd975902aa2053f7d196d1516d2a89663abad41a6763dae80164c36402cbeb6ccfd9086472138e943e87bccbb4db7ad59ce6659ba20486d0ed0084bec457ebb74f7eb1c06c863710913cad897f22f884e16d076b98b2647b6b2b519c000db662cda34aad7790ac31c8c1fef8d77897b9ce9939531c09d7f35ed4fa4afa020120003b003c020120003d003e0083bea4727e928aef19c6c187883b675dd8da001bb57b6023971f4e9ff490b81ae43800747da0750f3f9ced90a51dbb9caadfed58c10ede1f53a9e26249d392941131990083be712cdafc194cc093c1b393c685ea0a4de17ca1058159ee537bf82d9a741941d002f5072a0332e2f4597fcb5ea1699abd3c58dbc83f7a6c2d95888dab71d3f0222e0083be7959c1b46d8a91b81a6820660fd06dddc89dc27bce681d5c00d52b2dc9f898b0004c1ced8309fa77c6b6aada29ad0a2cc114fdd31523eb2a14f1931f93b338816a020120004100420201200049004a02015800430044020120004500460083be83727e9e32a993ecd1cdd68e2c8285b7c24f8c5af9e0c98e8304074ac974e5a8011467ce84f376bff7bf62650686da63e5f715c743f7a4d98175adc3abfa3a7d490083be9c692e020a774800f33ef74b668eb6f0ba67d425d19aa994a90bbe755ffbf398015cff0b86462836739f46865613a48e90d34c1171aa6589d2ecda667fe7931fe30084bee9bf49c08d7ec294244301c15129d1c3a029abdd883482b5b190b408c307e44400b0d76495b91d6ed9b46fd642b347609a0bab07f56fa4d779499dfe5dc6de4eef020162004700480083be06af2dda5c26739466f18c7252cf49eb09281eadaffc133cb435424c7caa672007a5c684ff2c7799ccf70edf31d492388aa4e734c82110c3b3913f03eac24459bc0083be3955242da8468a071132190a2b72d7b1f85ca7e7315fdacc9c499a4b635cb960005bb995890aef39f10dc9b89fe3b65f61fe1edab8b0c40f4b5626034f5ac02f0c02016a004b004c020120004d004e0083be71a7e7780f70102cb066c7b7f8c236883c2b5bc82aedc382d15344f8c67469100010dc7202da2727c4f3848dd90ceaef3f165f09cb87530cd82402ebdba13429e20083be7369fc8ca6fa27a38f62f0bb2967d0bdad92a2af5068c6d528bf4467052075d00024db7607b6c39fa199d9a0b7610c9b20bfc05409f603bacdeb2bb326c4382ece0084befd8d48ac678016f6b960a52eba5a7fd5519a533e39c3a0bd8559d2ccb381e2d40051ec4fa7da34b5f9813038393bea36601a24b9f4fca9b6d034ecd892006f174c0084bef0d8820d2e0578fe804ac4913808c814c4b34b5b24fdc61f63129468d0dd849c00ed2847d522fe380806fdfd36127056da54ccaf0b6082fcb9d9dd714ec968b94a02012000510052020120006b006c02012000530054020120005d005e0201200055005602016a005700580084beda47a844b69d67a5bd75bba015f71886931d52fffadd4b3e59d7623118218d2c00b67882a683d615e6b4c1a66858a61951f7a9b78e915d81e8858a446d1b7a7d590084bef4cec23550c86f5781355220250a5d8bc8faece19df6ae6fc81d7d092f0cab8c00b74085f470e0cf0ee6e4789cfa00cd9e4d40920c05571d66ff0e798b6f7104810201580059005a0083be616c7edbf1ff9d8a52276e8d522eee6ce8e64b207ad8b587a70968cd0d7e309002a1c5dcdedf560eb436827aba903de027b10dbc0f8b27d3e61614865ffa46de020083bde94ab5d84f8e38a79acd2f3d8d13597cf914a55b676d370f26b5f4b2f0f8ad400e5dbdf8fd953b114397ae1701995e51ccad1984bff28e4fbf18c22c22a0534798020158005b005c0083bd718e5be9b5e56d22f6b469d4186e00af3dfee6944ec484fd0ee8f6808a1a67001c18c7df5ab5294438e209a6de3704533478097f21634413c5be64b1d67be87f200083bd61728d39d935bd8976aadf4e90292c8923976fe0667ce965782bc34f248545002d5493d220d24fcf5ed30bb094226d2393319ff6eec19bb51d9c1f8c26569d5960020120005f00600201200069006a0084bec2e65e4b4542a83dad4f759962c1cc3d0b95804fc2a7da5e705aa0320999607400c4fae13a08e5283e32034bf265f0fd2213de395b40c1f57c1d32be5be27c68200201580061006202014800630064020120006500660083bddebf36fcf42ab949af8b683d74b41483a152d26602638c995a6edd9ab0779040056473888b21491fab19efb7b4acde37551e1d4ef2f5119ec15ad9ee832b81d5c80083bdd4aeb5867081b8fd14a353aae21bdbd60db5de5422a82b75eefaa56cc6bf034003b7ca726cc174328ff05edc23b49f0e8e3c57d57b8221c5f965b66b2402d84c68020148006700680083be3c6942d43410dcd38b40620a21aa87648add8c19d3288d96fcf23440aab9dce0038e9e1356401a906f655fc26ff30327f15c54f2494024f386eb59637cce330b4c0083bd81e9b165df0086f63733ab42ab9d8c29b53bccef6b27221253bd618391aae280145e578fd716e41d9a28e435b86073ca3bc7b2a06759a46e2d264ee2bce2d192f00083bd9a2028ddbc1fe05e196df2c099b222647f0e33269e481d052be2a9861bde768013aed22d0a45d81eb14a83068e5a3df07eaea424ddfb9d1a252898c814938679700084bef7b9690f8141fb2069a5597da1cb1345ca6d169da804cbf5073e5b892ab1b8dc0018d9ed7dd1653e6d22e6f3377a8ea13d681510e86a56893cdea72068d38ff36c0084bed6f1a39d7e9abd0e573ba0e45599b442333cab45100babc10f36205fe1a65df400b00db474ef2f858066c1930f16641a9ccd790cb2ba1a85ce0db8d02b25ebcd25020120006d006e020120007d007e020120006f00700201480079007a02014800710072020120007300740083be59088bbe2e665c115c85dbea8add93ec536e6584872cdec13b7d2b3004d7e17001a205ecc2f456669edf2753ea55a9282be4dbe4d6f14f5c81470a00c1e18979b60083be42518c53c67057b715bb663f6ec08226abcdc9edb6fbf3e196c40d6de66afd1001cd03f6ff29a089ea521a57e2c4d40255c90c324db7bd6bf5cf4210537582b49602012000750076020120007700780083be7424daf588fc66ffe02f3af3e099b8df1c8ff79d50d537444748ca5dc3e43610001866cd1cb3c54008a04260f48d284c451c7580f95219fc04edd825b828f73bca0083be57a7c095f0a07f1609a784c8807d5a8ed1ceafa3bc0d6b3da5414019508e7430007fc3056f9c2e1b462c96cb437f4ac9c901238996e3e01479b46d094e0929b1ba0083be4c9e6eb5d70a9c0cbdc43a6b07de74a3292b6302b1686846b957511aa59e5330018265206e1f5b5dbb50b9a734781d8ede3e1a78f93866a8c89856b6282e31bf4a0083be56590b0654d14e1359dbf395a71c4a8ab904894597d84957e561ccb0df0e5f50000027727d2fd04e4fdf16a22b1d39bc3c17f9c3e6e2cd8d0b82491b3e21eda6920083be81b4b78101f66820ee43dfd65bf34e03ed1551060d0b7a877a2691e94d10589801df625b155c57cc0ecfec2cf8e0c8d2009ab00029cbbea7148672bc983fa2c089020274007b007c0083bd98a149915174c4ddb6a4e2fc6d3f56d36ad4fe0e61f5215e400a9a919bf2a18010f94affd09d517c0adb6577da8ce73eb00f4bb088e72cb30ea3862cc7aefb1c700083bda858cc08c6f7a698f25a7b55b900673ae53d4200d7a0a2072a2690cdb43ff0801509a7e473c8a06579bdee9f02d20ee4e4c0ebbbdafe9e4ac432f3f9b56d0cfd10020120007f00800201200085008602012000810082020148008300840083beba7c12ca7c7d23900376fede6a03a6b283cde2c71b2769b7d0c407e6e467a06800c4d98e899217874a5f07091bee30d3cd20142e73e3f808a7d80dcae77d2a90a90083beb5dc9163e7420463de9f20efa20e080012c8532a0ca46b3d82094afc71dd18b8003f2e6e55e2bc0f782d3757a2942fa09f3f92d01ae2a081fa1bc45cd50d83aaa70083be497639b1f1b3428ca5ad6e47aad76ba403904493d45e949ce7a57ce211ec98100286760dc0f7eee128ce3dc2134a8a82132fa911d8fef07ed87d38a533f9748a420083be7dfeb156a70ab561c4c5ee077c5508fe272cb295151cd282401a7b3af38d15f0008fdcf6e508bebce91aea6ed897ec54f512955e4e79cb124395c12a7cccdc48ea020120008700880084bec02c65bec8388775d0a8af39069f2f5534fceaa567ed7ee17a812b3952f7795c00926ec624a2e68117373ee149d56e13656ea480cd3cbd71d9c9cc49b5d7a1dce40083bea09d957710920ed1c7cc549a8600b707824e850f66f627820f4a0c2d97880a8801bce33ec7f0137a63a649571180f225f02d2c63fd29f6b73a81d829497de54dad0202770089008a0083bdad1fd5c4fae64df2de089c4417e1ed00e0a1b36d62c055dee7e252ba2a10f5800f66abe5c64d302b7528f350d676351f73ff941d89aa4a98459a2470186c0021f00083bd8b165d04da853fac721572277699ee82deb846e2d0195d2167554a8b51198a80112cd6ce3101e699ae1329888843adb83720e1c0eee4bcb3bd236cd4e5f6219cf0020120008d008e02012000a900aa020120008f009002012000a300a402012000910092020120009d009e020120009300940201200097009800c7be809dc9f4bf41393f7c5a88ac74e6f0f05fe70f9b8b36342e09246cf887b69a48013fd9adefc6aee2709b9ba4714d3c08e2308af89ef9d1f3ca6c232ad9fcee426d003b04ba65999ab429a0c95719da925d60ddbd07940868cc109b10de4df96ea361e00201200095009600c7be46e39016d1393e279c246ec8675779f8b2f84e5c3a9866c120175edd09a14f10017faf98a11f71ca5a25fcdc231eb2e4ad3140649097f9bb1df97c7ff74d8e68f6003570ef031f903443f1f1cefef862a6482496de2cc6cc5bf76e1e00de0a3d2b524000c7be433668e59e2a0045021307a469426228e3ac07ca90cfe0276ec12dc147b9de50017faf98a11f71ca5a25fcdc231eb2e4ad3140649097f9bb1df97c7ff74d8e68f6004538328ef5892489c44ecbd3db4acc379b325373f2dddea9071896ddb2c68627400201200099009a020148009b009c00c7be66dbb03db61cfd0ccecd05bb0864d905fe02a04fb01dd66f595d993621c17670017faf98a11f71ca5a25fcdc231eb2e4ad3140649097f9bb1df97c7ff74d8e68f6005d6a4208cba7f2b5ef36edde30914c78b36efb5f2ea820a8bb290266dd787af8c000c7be6ee656242bbce7c43726e27f8ed97d87f87b6ae2c3103d2d58980d3d6b00bc3002eb5210465d3f95af79b76ef1848a63c59b77daf975410545d9481336ebc3d7c6006c99de3654d770dc3d5b4b8d0897518677ac783d02029ef7784518618e7455d2c000c6be14788f9fc30fd6d640b031c0df668a01853b6bd73c1ccbcead9477adbe9bea6005d6a4208cba7f2b5ef36edde30914c78b36efb5f2ea820a8bb290266dd787af8c00fcc8f00419a7d1cb55424e4a47aba5a28013a8274353b8ed289c177358a1ac3d00c6be2d98b368d2ab5de42b0c72307fbe35de25ee73a64e54c70275fcd7b53e92bea003f187e15bba8dd2c51b2179feaceaf4b54086eebc6c51885ff41a9df7882806fc009a8da514d575d20234c3fb1395ee9138f5f1ad838abc905dc42c2389b46bd01500c7bed839db0613f4ef8d6d55b4535a14598229fba62a47d65429e3263f27667102d4009a8da514d575d20234c3fb1395ee9138f5f1ad838abc905dc42c2389b46bd015801d1fb24e487ec540e60e0dab499342dc243ae956a27fbe8f740c93af0d0b6398d0020120009f00a000c7be8d9ed7dd1653e6d22e6f3377a8ea13d681510e86a56893cdea72068d38ff36c801351b4a29aaeba4046987f6272bdd2271ebe35b07157920bb8858471368d7a02b003d2f75203f35e751f6ebdb80df448a4457facb9eb03c4678583af5740c6af7cba002027700a100a200c5bd97372af15e07bc169babd14a17d04f9fc9680d715040fd0de22e6a86c1d55380028c2c5c4e51061a42f19dc05ef83ad9e4703172812051402b2b9902a285f86550017faf98a11f71ca5a25fcdc231eb2e4ad3140649097f9bb1df97c7ff74d8e68f600c5bdb0c15be70b86d18b25b2d0dfd2b2724048e265b8f8051e6d1b4253824a6c6e801351b4a29aaeba4046987f6272bdd2271ebe35b07157920bb8858471368d7a02b002fad7518e3a18333dcc5ca5b8a63f796cd660bd1c96c19db7262c77a61ee0baf200c7bf0fdcf6e508bebce91aea6ed897ec54f512955e4e79cb124395c12a7cccdc48ea004d46d28a6abae9011a61fd89caf7489c7af8d6c1c55e482ee21611c4da35e80ac00dc064187982e294dfdf8c771a6d395ef7a93b9c3ad0337167e5d3e08ebe5061b802012000a500a600c7bee051e1208d9feaa395004589db86edcf6994344c0c015370682a4038476fac2400105febc63a8180ea7e528f66218266f2a52ce8a46f5de44e701a9cacdaa4a5fc801351b4a29aaeba4046987f6272bdd2271ebe35b07157920bb8858471368d7a02b002016600a700a800c6be0fb40ea1e7f39db214a3b773955bfdab1821dbc3ea753c4c493a72528226332000a30b171394418690bc677017be0eb6791c0c5ca04814500acae640a8a17e1954009a8da514d575d20234c3fb1395ee9138f5f1ad838abc905dc42c2389b46bd01500c6be1f29c9b305d0ca3fc17b708ed27c3a38f15f55ee088717e596d9ac900b6131a000b71b0f75b906f4def80bdabfb767d0bd0dc10c3e6b74c9a1f38340d14acc896c00bad48411974fe56bde6ddbbc612298f166ddf6be5d504151765204cdbaf0f5f102012000ab00ac02012000af00b000c7bf038c6a194be645a4ee848605721690548c8f2c70c457c3f713090e881f962b1600394e09db6f9603e5f850355b1e9a57a2a79e990760de6c7dae36926840350be14009a8da514d575d20234c3fb1395ee9138f5f1ad838abc905dc42c2389b46bd015802014800ad00ae00c7be9ec4fa7da34b5f9813038393bea36601a24b9f4fca9b6d034ecd892006f174c8002dc6c3dd6e41bd37be02f6afedd9f42f4370430f9add32687ce0d03452b3225b0017faf98a11f71ca5a25fcdc231eb2e4ad3140649097f9bb1df97c7ff74d8e68f6000c7bea473888b21491fab19efb7b4acde37551e1d4ef2f5119ec15ad9ee832b81d5c80175a908232e9fcad7bcdbb778c24531e2cdbbed7cbaa082a2eca4099b75e1ebe3003b04ba65999ab429a0c95719da925d60ddbd07940868cc109b10de4df96ea361e002012000b100b202012000b500b602014800b300b400c7bec40bd985e8accd3dbe4ea7d4ab525057c9b7c9ade29eb9028e140183c312f36c009a8da514d575d20234c3fb1395ee9138f5f1ad838abc905dc42c2389b46bd0158014d9ca940891e0c2aa4d63235358d1f477a7477b6badb810de809fc4dc44533b5000c7be53290370fadaedda85cd39a3c0ec76f1f0d3c7c9c3354644c2b5b141718dfa5001085c16f2e15487e6a675198d63d37278311a78361777d820246b22729a95707a004d46d28a6abae9011a61fd89caf7489c7af8d6c1c55e482ee21611c4da35e80ac000c7be4d98e899217874a5f07091bee30d3cd20142e73e3f808a7d80dcae77d2a90a9001977820e8001d8e08ced99a0d53943913350897c5cc359ae2c7c6797499a41d46004d46d28a6abae9011a61fd89caf7489c7af8d6c1c55e482ee21611c4da35e80ac002014800b700b800c7bed9aaf971934c0add4a3cd4359d8d47dcffe507626a92a61166891c061b00087c009a8da514d575d20234c3fb1395ee9138f5f1ad838abc905dc42c2389b46bd015801c7d6ee9b555bd61b11bb33919e4eda13823e718b918da799bcc20d2826f7a5c1002012000b900ba00c7be681fb7f94d044f5290d2bf1626a012ae4861926dbdeb5fae7a10829bac15a4b0026a36945355d74808d30fec4e57ba44e3d7c6b60e2af2417710b08e26d1af4056006110251a0ea28c5802bf4a9997c473bf0d224bbea9f61ac983468b469c07fd7dc000c6be18c7df5ab5294438e209a6de3704533478097f21634413c5be64b1d67be87f2005d6a4208cba7f2b5ef36edde30914c78b36efb5f2ea820a8bb290266dd787af8c00eca1015104ab8e7bc2d084c28429d10670b72fbd20b0d2ce07edf90272b4b34d00c6be34f09ab200d4837b2afe137f98193f8ae2a7924a01279c375acb1be671985a6005d6a4208cba7f2b5ef36edde30914c78b36efb5f2ea820a8bb290266dd787af8c00ed489ca89ffa6f2cec951613245d98b7fd552f97e8c2ce503fc9efd94ec55d7b02012000bd00be02012000e300e402012000bf00c002012000cb00cc02012000c100c202012000c500c600c7befe52bff427545f02b6d95df6a339cfac03d2ec2239cb2cc3a8e18b31ebbec71c005febe62847dc7296897f3708c7acb92b4c50192425fe6ec77e5f1ffdd3639a3d8013c332e655fa6498bfd9c2975653f1a165e1b7bb3411bfb78ce9f9cf559d230b7002014800c300c400c7be6cd6ce3101e699ae1329888843adb83720e1c0eee4bcb3bd236cd4e5f6219cf002eb5210465d3f95af79b76ef1848a63c59b77daf975410545d9481336ebc3d7c6005feac506788831626fbccb9f743ae0bbab5c8e7e6f86bddc0845d80ddb2bd6fe4000c7be467ce84f376bff7bf62650686da63e5f715c743f7a4d98175adc3abfa3a7d490026a36945355d74808d30fec4e57ba44e3d7c6b60e2af2417710b08e26d1af4056005feac506788831626fbccb9f743ae0bbab5c8e7e6f86bddc0845d80ddb2bd6fe4002014800c700c800c7beebb48b42917607ac52a0c1a3968f7c1faba909377ee746894a26320524e19e5c000889f5e87ffd85423b39cb88e346943fd6739c24774ccfba92df2b2492851eaa801351b4a29aaeba4046987f6272bdd2271ebe35b07157920bb8858471368d7a02b002012000c900ca00c7be4dd8c4945cd022e6e7dc293aadc26cadd49019a797ae3b39398936baf43b9c90017faf98a11f71ca5a25fcdc231eb2e4ad3140649097f9bb1df97c7ff74d8e68f6004d46d28a6abae9011a61fd89caf7489c7af8d6c1c55e482ee21611c4da35e80ac000c6be3111a253fc4b9ca2f561dd0660a9e77280edbab1c2e1a3e82379a784edecbe6005d6a4208cba7f2b5ef36edde30914c78b36efb5f2ea820a8bb290266dd787af8c00d7120d76695224a2c72fa352eebdce685875a0c3eb6ac8245fa19a0e019ed3cf00c6be367a845f42b29c62c5dfc9890a6f8c26678be6bdf2dd3b09e1574f496d0978e002ff5f31423ee394b44bf9b8463d65c95a6280c9212ff3763bf2f8ffee9b1cd1ec00c2204a341d4518b0057e95332f88e77e1a44977d53ec3593068d168d380ffafb02012000cd00ce02012000d500d602014800cf00d002012000d100d200c7be73b06e07bf77094671ee109a545410997d488ec7f783f6c3e9c5299fcba452100035ab1bcc3e70755c74aa291e6e4721ac7eb8ccd82c077f280bd3d5bbbac6d7aa004d46d28a6abae9011a61fd89caf7489c7af8d6c1c55e482ee21611c4da35e80ac000c7be5e578fd716e41d9a28e435b86073ca3bc7b2a06759a46e2d264ee2bce2d192f0026a36945355d74808d30fec4e57ba44e3d7c6b60e2af2417710b08e26d1af4056006c99de3654d770dc3d5b4b8d0897518677ac783d02029ef7784518618e7455d2c00203786000d300d400c7bea7f85c323141b39cfa3432b09d2474869a608b8d532c4e9766d333ff3c98ff18002dc6c3dd6e41bd37be02f6afedd9f42f4370430f9add32687ce0d03452b3225b0038faddd36aab7ac36237667233c9db427047ce317231b4f3379841a504def4b82000c5bd5a7e473c8a06579bdee9f02d20ee4e4c0ebbbdafe9e4ac432f3f9b56d0cfd10026a36945355d74808d30fec4e57ba44e3d7c6b60e2af2417710b08e26d1af4056004f0ccb9957e99262ff670a5d594fc6859786deecd046fede33a7e73d56748c2dc00c5bd62ee6f6fab075a1b413d5d481ef013d886de07c593e9f30b0a432ffd236f01001928460d941baeed8fc40fa007c696d6fd565f0f2dba1f18ee8518c003b830406005d6a4208cba7f2b5ef36edde30914c78b36efb5f2ea820a8bb290266dd787af8c02012000d700d800c7beea0e540665c5e8b2ff96bd42d3357a78b1b7907ef4d85b2b111b56e3a7e0445c008a70651deb124913889d97a7b695986f3664a6e7e5bbbd520e312dbb658d0c4e801351b4a29aaeba4046987f6272bdd2271ebe35b07157920bb8858471368d7a02b002012000d900da02012000df00e002014800db00dc00c7be4c36402cbeb6ccfd9086472138e943e87bccbb4db7ad59ce6659ba20486d0ed0005b8d87badc837a6f7c05ed5fdbb3e85e86e0861f35ba64d0f9c1a068a56644b6004d46d28a6abae9011a61fd89caf7489c7af8d6c1c55e482ee21611c4da35e80ac000c5bdc6da3a7797c2c03360c9878b320d4e66bc86595d0d42e706dc681592f5e692c005febe62847dc7296897f3708c7acb92b4c50192425fe6ec77e5f1ffdd3639a3d801b26778d9535dc370f56d2e34225d4619deb1e0f4080a7bdde114618639d1574b02012000dd00de00c5bdaef95529730354a96c22f60ae9b2662af9069f55225385b8eab80a074afa0a8005a7bedf1b32cd2ccc5d6d0b4aca03fb3d3acef4e21ede5982f18a1fcf25b1a9f0026a36945355d74808d30fec4e57ba44e3d7c6b60e2af2417710b08e26d1af405600c5bd976495b91d6ed9b46fd642b347609a0bab07f56fa4d779499dfe5dc6de4eef800d5c3bc0c7e40d10fc7c73bfbe18a9920925b78b31b316fddb878037828f4ad490026a36945355d74808d30fec4e57ba44e3d7c6b60e2af2417710b08e26d1af405600c7be6a49e9106927e7af6985d84a113691c998cffb7760cdda8ece0fc6132b4eacb0002227d7a1fff61508ece72e238d1a50ff59ce7091dd333eea4b7cac924a147aaa002ff5f31423ee394b44bf9b8463d65c95a6280c9212ff3763bf2f8ffee9b1cd1ec002012000e100e200c6be1e20a9a0f58579ad30699a162986547dea6de3a457607a2162911b46de9f5660021983a084ab2fda26943fcc3c91311e160415d67d8808b5852cb96bad272f01ac00bad48411974fe56bde6ddbbc612298f166ddf6be5d504151765204cdbaf0f5f100c6be10217d1c3833c3b9b91e273e803367935024830155c759bfc39e62dbdc412060032508c1b28375ddb1f881f400f8d2dadfaacbe1e5b743e31dd0a318007706080c009a8da514d575d20234c3fb1395ee9138f5f1ad838abc905dc42c2389b46bd01502012000e500e602012000e700e800c7bf13eb84e82394a0f8c80d2fc997c3f4884f78e56d0307d5f074caf96f89f1a082001857ccae3683859498107e921f3b494b1a83349da9834f581673bb6feb048526c00bad48411974fe56bde6ddbbc612298f166ddf6be5d504151765204cdbaf0f5f1800c7bf39c67d8fe026f4c74c92ae2301e44be05a58c7fa53ed6e7503b05292fbca9b5a00394e09db6f9603e5f850355b1e9a57a2a79e990760de6c7dae36926840350be1400bad48411974fe56bde6ddbbc612298f166ddf6be5d504151765204cdbaf0f5f1802012000e900ea00c7bf12e3427f963bcce67b876f98ea491c4552739a64108861d9c89f81f561222cde004d46d28a6abae9011a61fd89caf7489c7af8d6c1c55e482ee21611c4da35e80ac00bad48411974fe56bde6ddbbc612298f166ddf6be5d504151765204cdbaf0f5f1800c7beeedefc7eca9d88a1cbd70b80ccaf28e6568cc25ff94727df8c6116115029a3cc004b2a48662453e5aa31ec2eedc73be2925da39a80923f003239c06f726e6e77a980175a908232e9fcad7bcdbb778c24531e2cdbbed7cbaa082a2eca4099b75e1ebe3002015800eb00ec00c7be6508faa45fc70100dfbfa6c24e0adb4a9995e16c105f973b3bae29d92d172950010c3de58bbc3e38f7164867ded914f3d2cc9d71a2caae4f16d273f22c0f62cbc2004d46d28a6abae9011a61fd89caf7489c7af8d6c1c55e482ee21611c4da35e80ac000c7be7625b155c57cc0ecfec2cf8e0c8d2009ab00029cbbea7148672bc983fa2c089000417faf18ea0603a9f94a3d9886099bca94b3a291bd779139c06a72b36a9297f2005d6a4208cba7f2b5ef36edde30914c78b36efb5f2ea820a8bb290266dd787af8c002016200ee00ef0202ca00f000f102012000f200f30201200109010a020148016d016e02012000f400f502012000fc00fd00f7bb9e4ed44d0fa00fa00fa00d300d31fd31ffa40fa40d401d0fa00fa00fa00fa00d401d0fa40fa40d102d401d0fa40fa40d102d401d0d3ffd3ffd33fd33fd104d401d0d3ffd3ffd4d103d10fd401d0f404f404d102d4d4d10c11120c0a11110a0a11100a10de10bd10ac108a107910681046104510235f0f108b5f0b802012000f600f701f9b503241e003da89a1f401f401f401a601a63fa63ff481f481a803a1f401f401f401f401a803a1f481f481a205a803a1f481f481a205a803a1a7ffa7ffa67fa67fa209a803a1a7ffa7ffa9a207a21fa803a1e809e809a205a9a9a218222418142222141422201421bc217a2158211420f220d0208c208a2046207ebe1f000f802016e00f900fa003e6cb101fa4431018307f40e6fa120c3009801fa00fa00d3ff30e05b7054700001faaa89ed44d0fa00fa00fa00d300d31fd31ffa40fa40d401d0fa00fa00fa00fa00d401d0fa40fa40d102d401d0fa40fa40d102d401d0d3ffd3ffd33fd33fd104d401d0d3ffd3ffd4d103d10fd401d0f404f404d102d4d4d10c11120c0a11110a0a11100a10de10bd10ac108a10791068104610451023102f5f0f6cb1217000fb00f6a9eded44d0fa00fa00fa00d300d31fd31ffa40fa40d401d0fa00fa00fa00fa00d401d0fa40fa40d102d401d0fa40fa40d102d401d0d3ffd3ffd33fd33fd104d401d0d3ffd3ffd4d103d10fd401d0f404f404d102d4d4d10c11120c0a11110a0a11100a10de10bd10ac108a10791068104610451023103f5f0f6cb10022028020f40e6fa1c3009431fa00309130e202016600fe00ff020120010401050201200100010101f9af16f6a2687d007d007d006980698fe98ffd207d206a00e87d007d007d007d006a00e87d207d2068816a00e87d207d2068816a00e869ffe9ffe99fe99fe8826a00e869ffe9ffea6881e887ea00e87a027a0268816a6a68860889060508888505088805086f085e88560845083c8834082308228811ab892b882f879940010301faab7920f001ed44d0fa00fa00fa00d300d31fd31ffa40fa40d401d0fa00fa00fa00fa00d401d0fa40fa40d102d401d0fa40fa40d102d401d0d3ffd3ffd33fd33fd104d401d0d3ffd3ffd4d103d10fd401d0f404f404d102d4d4d10c11120c0a11110a0a11100a10de10bd10ac108a107910681046104510233f5f0d3535010200f6aabaed44d0fa00fa00fa00d300d31fd31ffa40fa40d401d0fa00fa00fa00fa00d401d0fa40fa40d102d401d0fa40fa40d102d401d0d3ffd3ffd33fd33fd104d401d0d3ffd3ffd4d103d10fd401d0f404f404d102d4d4d10c11120c0a11110a0a11100a10de10bd10ac108a107910681046104510235f046ce76c2700a45b6c63f8284313705470002610371069105804413819c858cf1601cf16c9c85003fa0201fa02c9c85006fa025004cf1658cf16cc12ccccc921c8cb0113f40012f400cb00c9f9007074c8cb02ca07cbffc9d0000c6c33337f34580201200106010700f7b663fda89a1f401f401f401a601a63fa63ff481f481a803a1f401f401f401f401a803a1f481f481a205a803a1f481f481a205a803a1a7ffa7ffa67fa67fa209a803a1a7ffa7ffa9a207a21fa803a1e809e809a205a9a9a218222418142222141422201421bc217a2158211420f220d0208c208a2046205ebe1ed963001f9b184bb51343e803e803e8034c034c7f4c7fe903e903500743e803e803e803e803500743e903e903440b500743e903e903440b5007434fff4fff4cff4cff44135007434fff4fff53440f443f500743d013d013440b535344304448302844442828444028437842f442b0422841e441a041184114408d7c2ce4e4e4e4ee0010800f7b043bb51343e803e803e8034c034c7f4c7fe903e903500743e803e803e803e803500743e903e903440b500743e903e903440b5007434fff4fff4cff4cff44135007434fff4fff53440f443f500743d013d013440b535344304448302844442828444028437842f442b0422841e441a041184114408d7c3d7c19b10a0000c109a10895543020120010b010c02012001140115020120010d01980201f401120113020148010e019a01f10cc8b1c02497c0f83434c0c05c6c2497c0f83e90087c007e900c7e800c5c75c87e800c7e800c00f4c7f4cfc8a08414cdc38baea58c8d10c03c053808a08433cfbb7a6ea54c940d3c05f808a0841657c1ef2ea54c94093c067808a084118ba341eea54c94093c06b808a0840b1dae5ceea54c940d3c06f808a0010f02fc82100f8a7ea5ba95325034f01ce02282107362d09cba95325034f01de02282106b14cfe1ba95325034f01ee0343420821032139810ba9330f01fe0208210bf1461f8ba9330f020e020821070ae1f34ba9330f021e020821020b88d2eba95306c12f025e02082105cbfb251ba95306c12f026e020821066447dadbae3022001100111000a306c12f02700ae82101403d27aba95306c12f028e0208210743f8e58ba95306c12f029e020821063c996a5ba9330f022e020821072ee6e80ba9330f023e0208210584c27b7ba9330f024e0330282104bc288a4ba9301f02ae05b840ff2f000691400e848304064d7c11c3808b00024db04aa2384d4c0aa4114882b5448a86a8008ea00ea422a283888708014c4af2c244c244c78a0003114486a2049c408e86a00e049c42a2049c41400e86a282a412002015801160117020120012e012f020120011801190201200120012101f73b51343e803e803e8034c034c7f4c7fe903e903500743e803e803e803e803500743e903e903440b500743e903e903440b5007434fff4fff4cff4cff44135007434fff4fff53440f443f500743d013d013440b535344304448302844442828444028437842f442b0422841e441a041184114408db154d4dce8f55c420011a01f3083434c7f4cfcc4831c0b00038c08c15513c03951d412f2388d4c56844ea208203d0902a410930c027e08c03782dace9d9000016016a6128248c0cf8a48c8cf880f232ffc532fff2608415aa3a483232c7fe0a33c5948832ffd48c32fff332451c60c1c860033232c0f2c072c204f2ffc4b2d873325c3ec00060011c01f6111129c705f2e0491111fa00d31ffa40fa40d401d0d3ffd3ffd33fd33f7054753425f823f00e02d106d18210f2c8682bc8cb1f01111c01cb3f5610cf162ccf1629fa02c9718018c8cb055613cf16111e8209c9c380a101111e01fa0201111d01cb6a01111c01ccc971fb001116111a111607111907111411181114011b007c111311171113111211161112061115061110111411100f11130f0e11120e051111050c11100c10bf10ae104d108c108b4a98102710365e221023f007ed5403fed43020d0d31fd33f305380bc8f6a34546bb0546bb7f00e104b103a4987f00e54712324bc8e3035365301bc8e24355340a116a882080f4240a90426c3009f82300de0b6b3a76400005807a984a0923035e293303535e2e30d03c8cbff14cbffc9821056a8e920c8cb1ff828cf165220cbff5230cbffccc914e05f035544f00e011d011e011f00b031547442a118a882080f4240a90429c3009e82300de0b6b3a76400002aa984a09130e25314bc8e28365204a116a882080f4240a90426c3008e1182300de0b6b3a76400005807a98413a002923035e20296103810276c41e2003271830721800cc8cb03cb01cb0813cbff12cb61ccc970fb000100cc547504bc8e235315a113a882080f4240a90424c3009f82300de0b6b3a76400005805a984a0923033e2923233e203c8cbff14cbffc9821056a8e920c8cb1ff828cf165220cbff5230cbffccc91471830721800cc8cb03cb01cb0813cbff12cb61ccc970fb000101810bc2084423441ec41b0416934d143efc055c14ca6f0970802c2384cc14c628452a208c03782dace9d900002a4100e44d3888f08025c40a8e0e0557c178c3554820012201f53b51343e803e803e8034c034c7f4c7fe903e903500743e803e803e803e803500743e903e903440b500743e903e903440b5007434fff4fff4cff4cff44135007434fff4fff53440f443f500743d013d013440b535344304448302844442828444028437842f442b0422841e441a041184114408e08433cfbb7a48e0012300dc82106b14cfe1c8cb1f52b0cb3f26cf1624fa02c9718018c8cb05500ccf168210068e7780500aa019fa021acb6a17ccc971fb0025c8cbff17cbff14cb3fc982106b14cfe1c8cb1f5003cf1601fa0222fa02ccc91571830721800cc8cb03cb01cb0813cbff12cb61ccc970fb004003019a8020f40e6fa1c30098fa003001111d01a18e2b30820a625a00561ca0aa0082100bebc200a0561ca0821005f5e100a0561ca0821005f5e100a001111d01a1e2111efa40f8285220561f56165613012402fe705470002610371069105804413819c858cf1601cf16c9c85003fa0201fa02c9c85006fa025004cf1658cf16cc12ccccc921c8cb0113f40012f400cb00c9f9007074c8cb02ca07cbffc9d001111fc705f2e04a20f001111dfa00fa00225612bc532ebcb1f2d04bfa00fa00d1561dc00093547332e30e5623fa4431530a8307012501260088561d24a85614a904561e24a85611a9045cb98e163020c200f2e04c53405612a85620a9065305bcf2d04d8e173120c200f2e04c53305616a85620a9065306bcf2d04d01e204faf40e6fa1561f21c00091a4de5259b95248b917b1255622b9b127561fbcb15620b1986c22327054600413de5383a1c2008e3d706d82100f8a7ea5c8cb1f562a01cb3f53b6a1fa025628cf165628cf16f40021fa02cb00c9718018c8cb05561ccf16820a625a00fa02cb6accc971fb00de5372a1c200e30024c000e30f20012701280129012a007a706d82100f8a7ea5c8cb1f562a01cb3f53a5a1fa025628cf165628cf16f40021fa02cb00c9718018c8cb055618cf16820a625a00fa02cb6accc971fb0000e65b3333571f01111d01111ea001111201111ca0111001a1111b1ca050afa11118111a11181117111911171116111811161115111711151114111611141113111511131112111411121111111311111110111211100f11110f0d11100d10ce0b0d108a10791068105710461035443012f007ed5401fe571e8210178d4519c8cb1f562701cb3f24fa02f828cf165625cf1670fa02c9f8285626015626561d561a705470002610371069105804413819c858cf1601cf16c9c85003fa0201fa02c9c85006fa025004cf1658cf16cc12ccccc921c8cb0113f40012f400cb00c920f9007074c8cb02ca07cbffc9d0778018c8cb0558cf16012b005ad70b01c30022c200b08e1e8210d53276db708010c8cb055003cf165003fa02cb6acb1fcb3fc972fb00925f03e201f8820a625a00fa02cb6bccccc971fb0070546007c3008e115b34111cfa00fa00d3ffd101111e01415592571fe2f823562806561d0656250605112705561605561605561605561605041116040311150302111402562d02561602562802011110011117f016c851dca01dfa0201111d0103a012fa02561b01cbffc9d002012c01fe01112001088307f416561d28a0111427a00111130104a151f9a050e2a11112111a11121119111b11191112111811121117111b11170d11160d1115111b11150d11140d1113111b11130d11120d1111111b11110211100210ef102e4d1b0950c71a468005111d050403111b030201111b01111ef007ed548015c8cb1f25cf16012d005058fa025003fa0201fa0201fa02c9523071830721800cc8cb03cb01cb0813cbff12cb61ccc970fb00020120013001310201200145014602012001320133020120013e013f04f515883e910c54c120c1fd039be870003cb4193e80085588ae7cb4197e8034fff4489588e855876e55882c6555c8884448b795889587ef3cb41395851588ea1587ea41158455892a15882a41148404492e5588c04448ee404448806c7cb413dc151eae5587f00025d5c9c40b4eced6f8c3485588a8700038c3d58660013401350136013701f53b51343e803e803e8034c034c7f4c7fe903e903500743e803e803e803e803500743e903e903440b500743e903e903440b5007434fff4fff4cff4cff44135007434fff4fff53440f443f500743d013d013440b535344304448302844442828444028437842f442b0422841e441a041184114408e0841657c1ef08e0013c00825f04f82356260656190656210605112705561205561205561205561205041112040311110302111002562c02561302562d02011114011113f0161122103948701300185b3750638307f45b301115a5003ac8025622a112fa0209a018fa025250cbffc9d040748307f4161115102503fc561ea11110561ca10c561da1111011141110111311191113111211181112111111171111011110010f11150f54411f0e111a0e56190e561950de0c11180c220c561d0c105b102a103908111a085076103510240311240302111b021124561af007ed540693392909df26c2009131e30d26c2009132e30d8210595f07bcc801380139013a0074706d82100f8a7ea5c8cb1f52e0cb3f29fa022dcf162ccf16f40021fa02cb00c9718018c8cb055004cf16820a625a00fa0213cb6a12ccc971fb000074706d82100f8a7ea5c8cb1f52d0cb3f29fa022ccf162bcf16f40021fa02cb00c9718018c8cb055005cf16820a625a00fa0214cb6a13ccc971fb00016acb1f29cf165003fa0226fa025004fa025004fa02c9527071830721800cc8cb03cb01cb0813cbff12cb61ccc970fb00f82810464133013b00f8705470002610371069105804413819c858cf1601cf16c9c85003fa0201fa02c9c85006fa025004cf1658cf16cc12ccccc921c8cb0113f40012f400cb00c9f9007074c8cb02ca07cbffc9d06d8210595f07bcc8cb1f15cb3f5003fa0201cf1612f400c9718018c8cb055003cf168209c9c380fa0212cb6accc971fb0001f88020f40e6fa1c30098fa003001111f01a19630f2c04b111ee220c100f2d04656178e255f0f10df5f0f8210d53276db708010c8cb055003cf1622fa0212cb6acb1fcb3fc98042fb00e0111dfa00f40401d0fa00fa00d102d17056221120201120111f05111e0503111d0304111c0402111b02111a0511190503111803013d00c204111704021116021115051114050311130304111204021111021110105f103e104d4c1b105a1039104847161034011123f01821d70b01c30021c200b08e1e8210d53276db708010c8cb055004cf1658fa0212cb6acb1fcb3fc972fb00925f03e201f53b51343e803e803e8034c034c7f4c7fe903e903500743e803e803e803e803500743e903e903440b500743e903e903440b5007434fff4fff4cff4cff44135007434fff4fff53440f443f500743d013d013440b535344304448302844442828444028437842f442b0422841e441a041184114408e0841657c1ef08e00140011520822625a0282f3cb812e0014201fe8020f40e6fa1c30098fa003001111f01a19630f2c04b111ee220c100f2d046561c5615c705f2e049111dfa40d17053007f562311210511200505111f0504111e0403111d0302111c0201111b0105111a0504111904031118030211170201111601051115050411140403111303021112020111110105111005104f103e4dc001410084105b104a1039487010561045103411234130f01821d70b01c30021c200b08e1e8210d53276db708010c8cb055004cf1658fa0212cb6acb1fcb3fc972fb00925f03e201feed44d0fa00fa00fa00d300d31fd31ffa40fa40d401d0fa00fa00fa00fa00d401d0fa40fa40d102d401d0fa40fa40d102d401d0d3ffd3ffd33fd33fd104d401d0d3ffd3ffd4d103d10fd401d0f404f404d102d4d4d10c11120c0a11110a0a11100a10de10bd10ac108a107910681046104510233f5f0d35355b6c6304fa402101430182f001d300d195c821cf16c9916de28210d1735400708018c8cb055007cf1626fa0216cb6a15cb1f16cb3f25fa4430c00097345b327001cb01e30df400c98040fb00014400a6f82810464353705470002610371069105804413819c858cf1601cf16c9c85003fa0201fa02c9c85006fa025004cf1658cf16cc12ccccc921c8cb0113f40012f400cb00c9f9007074c8cb02ca07cbffc9d0cf16020120014701480201200166016701f53b51343e803e803e8034c034c7f4c7fe903e903500743e803e803e803e803500743e903e903440b500743e903e903440b5007434fff4fff4cff4cff44135007434fff4fff53440f443f500743d013d013440b535344304448302844442828444028437842f442b0422841e441a041184114408e08403e29fa948e0014901f53b51343e803e803e8034c034c7f4c7fe903e903500743e803e803e803e803500743e903e903440b500743e903e903440b5007434fff4fff4cff4cff44135007434fff4fff53440f443f500743d013d013440b535344304448302844442828444028437842f442b0422841e441a041184114408c447be803e9008600153018a8020f40e6fa17001c3009430fa00309431f2c04be2111ffa00fa4021f001fa40fa00112321a001112101a120c100f2d0461122d401d0fa4021f001d1f828546171561a5617014a02fe705470002610371069105804413819c858cf1601cf16c9c85003fa0201fa02c9c85006fa025004cf1658cf16cc12ccccc921c8cb0113f40012f400cb00c9f9007074c8cb02ca07cbffc9d05623c705f2e04a20fa443153098307f40e6fa1c000f2d064fa005317b9f2d0655317a15621b993375207de5317bce300275621b9014b014c000a111ea4111e02fe5620b1561f561fbcb18e29103f5f0f57105f0f6c718210d53276db708010c8cb055003cf1622fa0212cb6acb1fcb3fc98042fb00e0fa00d3ff30f823562904561e0456260456280456180456180456180456180403111803021117020111160152d056190156190111195619f01656102aba99333e3e0a8307f45b30e30e24014d014e003ec811112aa101111101fa0250f3a012fa0252d0cbffc9d0400b8307f416109c01f6fa443153018307f40e6fa120c30095111fa5111fde70546003c3009a5f03fa00fa00d3ff30589133e2562905561e05562605562805561805561805561805561805041117040311180302111502561002561954221301111a011119f016c8111029a001111001fa0250e3a012fa0252c0cbffc9d040ba8307f4166d014f01ee8210595f07bcc8cb1f562601cb3f26fa022acf16f400c9718018c8cb055625cf168209c9c380fa02cb6accc971fb00f828546471561a5617705470002610371069105804413819c858cf1601cf16c9c85003fa0201fa02c9c85006fa025004cf1658cf16cc12ccccc921c8cb0113f40012f400cb00c920015001fef9007074c8cb02ca07cbffc9d0c8011125cf165624cf16c982100f8a7ea5c8cb1f2bcf165006cf1626fa0215ccc956250171830721800cc8cb03cb01cb0813cbff12cb61ccc970fb00111a111f111a1119111e11191118111d11181117111c11171116111b11161115111f11151114111e11141113111d11131112111c1112015101fe1111111b11111110111f11100f111e0f0e111d0e0d111c0d0c111b0c0b111f0b0a111e0a09111d0908111c0807111b0706111e0605111d0504111f040302111b0201111e01111df007ed548210178d4519c8cb1f52a0cb3f5005fa0221cf165004cf1625fa0258cf16c9778018c8cb055007cf16820a625a005006a05004a00152007614fa0214cb6b12ccccc971fb0020d70b01c30022c200b08e1e8210d53276db708010c8cb055003cf165003fa02cb6acb1fcb3fc972fb00925f03e201fef0018210771b1c67258020f40e6fa17001c3009430fa00309131e282107362d09c268020f40e6fa17001c3009430fa00309131e28210983360c8278020f40e6fa1821005f5e10001c3009430fa00309131e2245619c7059b5ca0820a625a00a05621a09122e28210068e77805622a0562301b921c000b1562358b9b1561db1015403c88ed95f036cf36c336c4434343437820a625a005004a014bcf2e04b5225c7058e38306d6d82100f8a7ea5c8cb1f16cb3f5004fa0221cf1601cf1613f40070fa02f400c9718018c8cb055003cf1670fa0212cb6accc98042fb00e30de056165623c705e30f015501560157008a31f40430d0fa4031fa4031fa40306d6d82100f8a7ea5c8cb1f16cb3f5004fa0221cf1601cf1613f40070fa02f400c9718018c8cb055003cf1670fa0212cb6accc98042fb0002125722235618c705e30f01580159019a56125623c7058e435f04571257105f0f50ec5f0c6d6d82100f8a7ea5c8cb1f16cb3f58fa0223cf165003cf1613f40070fa02f400c9718018c8cb055003cf1670fa0212cb6accc98040fb00e30d015f01ec3132561253f3561ef00f01f40401d0fa40fa40fa40fa00d104d15244b9225619c705c000b18e4d10245f04571357105f0f6c843435c821cf16c9706d82100f8a7ea5c8cb1f19cb3f5005fa025003cf1601cf1615f40058fa02cb0012ccc9718018c8cb055003cf1670fa0212cb6accc98040fb00e30e015a02fe30571e571f561cc00001111e01111db901111c01b18ee60e561aa0111711191117111611181116111511191115111411181114111311191113111211181112111111191111111011181110561911100f11190f541de04c1d4a1b4819461744155033111a561ff007ed5404f40401d0fa00fa00d102d1f8282541835248e30d015c015d01fc111525a0111123a11118111f11181117111e11171116111d11161115111c11151114111b11141113111a1113111211191112561f11121111111f11111110111e11100f0e111c0e0d111b0d561a4c1d0b11200b0a111f0a1908111d0807111c0745160411200403111f031201111d011125f007ed54c85004cf1622fa02c9015b00ec82107362d09cc8cb1f26cf165005cf1601fa0213ccc9529071830721800cc8cb03cb01cb0813cbff12cb61ccc970fb00c823cf16c9706d82100f8a7ea5c8cb1f1ccb3f5004fa025005cf165003cf1618f4005005fa0216cb0015ccc9718018c8cb055004cf165024a15004a112fa02cb6accc971fb0001fe705470002610371069105804413819c858cf1601cf16c9c85003fa0201fa02c9c85006fa025004cf1658cf16cc12ccccc921c8cb0113f40012f400cb00c920f9007074c8cb02ca07cbffc9d08210771b1c67c8cb1f18cb3f5004cf1658fa0201cf165003fa0201fa02c9778018c8cb055004cf1670fa0213cb6bccccc98040015e007c5f0f1a5f0a3333706d82100f8a7ea5c8cb1f16cb3f5004fa0221cf1601cf1613f40021fa02cb00c9718018c8cb055003cf1670fa0212cb6accc98040fb000004fb0002c65722235618c7058ed830571e571f561cc00001111e01111db901111c01b18e3f10cf5f0f3d5f0a33706d82100f8a7ea5c8cb1f16cb3f5004fa0221cf1601cf1613f40021fa02cb00c9718018c8cb055003cf1670fa0212cb6accc98040fb00e30ee30d0160016101d80a561aa0111711191117111611181116111511191115111411181114111311191113111211181112111111191111111011181110561911100f11190f0e0d11190d520d0c111a0c4a1b4819461744155033111a561ff007ed5404f40401d0fa00fa00d102d1f8282503418427016201f031322e561324561ef00f01f40401d0fa40fa40fa40fa00d104d15244b9225615c705c000b18e4f10245f043f3f5f0c6c336c843435c825cf16c9706d82100f8a7ea5c8cb1f19cb3f5003fa025003cf165005cf1615f40058fa0212cb0012ccc9718018c8cb055003cf1670fa0212cb6accc98040fb00e30e016401fc705470002610371069105804413819c858cf1601cf16c9c85003fa0201fa02c9c85006fa025004cf1658cf16cc12ccccc921c8cb0113f40012f400cb00c920f9007074c8cb02ca07cbffc9d08210771b1c67c8cb1f18cb3f5004cf1658fa025003cf165003fa0201fa02c9778018c8cb055004cf1670fa0213cb6bccccc9016300088040fb0001fe111523a1111125a01118111f11181117111e11171116111d11161115111c11151114111b11141113111a1113111211191112561f11121111111f1111561e1111011110010f111d0f0e111c0e0d111b0d102c0b11200b509a08111d0807111c0706111b06102504112004502301111d011125f007ed54c85004cf1622fa02c9016500ec82107362d09cc8cb1f26cf16500bcf1601fa0219ccc9529071830721800cc8cb03cb01cb0813cbff12cb61ccc970fb00c823cf16c9706d82100f8a7ea5c8cb1f1ccb3f500afa025005cf165003cf1618f4005005fa0215cb0014ccc9718018c8cb055006cf165023a15003a1fa0212cb6accc971fb0001f53b51343e803e803e8034c034c7f4c7fe903e903500743e803e803e803e803500743e903e903440b500743e903e903440b5007434fff4fff4cff4cff44135007434fff4fff53440f443f500743d013d013440b535344304448302844442828444028437842f442b0422841e441a041184114408e0841ac533f848e0016801f700747b51343e803e803e8034c034c7f4c7fe903e903500743e803e803e803e803500743e903e903440b500743e903e903440b5007434fff4fff4cff4cff44135007434fff4fff53440f443f500743d013d013440b535344304448302844442828444028437842f442b0422841e441a041184114408cfd7c34d4d56e0016b01fe8020f40e6fa1c30098fa003001111d01a18e1130821007270e00561caa00a001111d01a1e2c100f2d04b111dd156158e255f0f10cd5f0d8210d53276db708010c8cb055003cf1622fa0212cb6acb1fcb3fc98042fb00e0561bfa443153028307f40e6fa1c000f2d064fa0021c000f2d065fa00d3ffd106112106f823561607016901fe561e07061120062f516f516f516f06105f104e0311280302112602562802562702f016c801111ffa0201111c0103a012fa02561a01cbffc9d00201111801038307f4161115111a11151114111911141113111811131112111711121111111611111110111511100f11140f0e11130e0d11120d0c11110c0b11100b10af109e016a002c108d107c106b105a10491038102710464153f007ed5401fe33333434348e215f038210d53276db708010c8cb055003cf1622fa0212cb6acb1fcb3fc98042fb00e0f8285023705470002610371069105804413819c858cf1601cf16c9c85003fa0201fa02c9c85006fa025004cf1658cf16cc12ccccc921c8cb0113f40012f400cb00c9f9007074c8cb02ca07cbffc9d082103213981070016c00308018c8cb055003cf1622fa0212cb6acb1fcb3fc98040fb00020120016f0170020148018b018c020120017101720201200181018202012001730174020120017c017d01f73b51343e803e803e8034c034c7f4c7fe903e903500743e803e803e803e803500743e903e903440b500743e903e903440b5007434fff4fff4cff4cff44135007434fff4fff53440f443f500743d013d013440b535344304448302844442828444028437842f442b0422841e441a041184114408c4473e803e903e9020017501f33b51343e803e803e8034c034c7f4c7fe903e903500743e803e803e803e803500743e903e903440b500743e903e903440b5007434fff4fff4cff4cff44135007434fff4fff53440f443f500743d013d013440b535344304448302844442828444028437842f442b0422841e441a041184114408c446d584f1c160017a02e621f001d1f8285210562056175614705470002610371069105804413819c858cf1601cf16c9c85003fa0201fa02c9c85006fa025004cf1658cf16cc12ccccc921c8cb0113f40012f400cb00c9f9007074c8cb02ca07cbffc9d001111e01c705f2e049561321c705e30252f0c705e3025f0f5f0f0176017701fe30530fbcf2d05b51ffa11119111a11191118111a11181117111a11171116111a11161115111a11151114111a11141113111a11131112111a11121111111a1111561a111111101f1e1d1c1b1a111d1918171615144330f007ed54706d82100f8a7ea5c8cb1f16cb3f5004fa0222cf1658cf1613f40021fa02cb00c9718018c8017801fc530bbcf2d05b51bba11119111a11191118111a11181117111a11171116111a11161115111a11151114111a11141113111a11131112111a11121111111a11111110111a11100f111a0f0e111a0e0d111a0d561a0d50bc1a111d1918171615144330f007ed54706d82100f8a7ea5c8cb1f16cb3f5004fa0222cf1658cf161301790024cb055003cf1670fa0212cb6accc98040fb00003cf40021fa02cb00c9718018c8cb055003cf1670fa0212cb6accc98040fb0001fcf2e04903d0d31fd33f30111cd31fd33fd121c8cb1f5210cb3fc923c8cb1f561f01cb3fccc9821070ae1f34c8cb1ff828cf1614cb1f01111e01cb3fcb1f01111c01cb3fc901111c0171830721800cc8cb03cb01cb0813cbff12cb61ccc970fb001117111a1117111611191116111511181115111411171114111311161113017b00701112111511121111111411111110111311100f11120f0e11110e0d11100d10cf10be10ad109c108b107a10691058104710364513f007ed5401f33b51343e803e803e8034c034c7f4c7fe903e903500743e803e803e803e803500743e903e903440b500743e903e903440b5007434fff4fff4cff4cff44135007434fff4fff53440f443f500743d013d013440b535344304448302844442828444028437842f442b0422841e441a041184114408c446d58531c160017e01f50cbb51343e803e803e8034c034c7f4c7fe903e903500743e803e803e803e803500743e903e903440b500743e903e903440b5007434fff4fff4cff4cff44135007434fff4fff53440f443f500743d013d013440b535344304448302844442828444028437842f442b0422841e441a041184114408d5c5c446d584e0018001faf2e049111bfa00d120c20421c165b0f2e3e7821063c996a5c8cb1ff828cf16011119fa025618fa02c901111c0171830721800cc8cb03cb01cb0813cbff12cb61ccc970fb001117111a11171116111911161115111811151114111711141113111611131112111511121111111411111110111311100f11120f0e11110e017f00180d11100d10cf552bf007ed540098c705f2e0491119d300d11118111a111811171119111711161118111611171114111611141113111511131112111411121111111311111110111211100f11110f0e11100e10df551cf007ed54020120018301840201200187018801f50cbb51343e803e803e8034c034c7f4c7fe903e903500743e803e803e803e803500743e903e903440b500743e903e903440b5007434fff4fff4cff4cff44135007434fff4fff53440f443f500743d013d013440b535344304448302844442828444028437842f442b0422841e441a041184114408d5c54446d584e0018501f53b51343e803e803e8034c034c7f4c7fe903e903500743e803e803e803e803500743e903e903440b500743e903e903440b5007434fff4fff4cff4cff44135007434fff4fff53440f443f500743d013d013440b535344304448302844442828444028437842f442b0422841e441a041184114408ce84469584b1c16001860098c705f2e0491119d31fd11118111a111811171119111711161118111611151117111511141116111411151112111411121111111311111110111211100f11110f0e11100e10df551cf007ed5400aef2e049111ad3ffd11118111a11181117111911171116111811161115111711151114111611141113111511131112111411121111111311111110111211100f11110f0e11100e10df10ce10bd10ac109b0a5517f007ed5401f73b51343e803e803e8034c034c7f4c7fe903e903500743e803e803e803e803500743e903e903440b500743e903e903440b5007434fff4fff4cff4cff44135007434fff4fff53440f443f500743d013d013440b535344304448302844442828444028437842f442b0422841e441a041184114408d5c604469584b1c160018901f73b51343e803e803e8034c034c7f4c7fe903e903500743e803e803e803e803500743e903e903440b500743e903e903440b5007434fff4fff4cff4cff44135007434fff4fff53440f443f500743d013d013440b535344304448302844442828444028437842f442b0422841e441a041184114408d5c504469584b1c160018a0090f2e049111ad3ffd11118111a111811171119111711181115111711151114111611141113111511131112111411121111111311111110111211100f11110f0e11100e551df007ed540096f2e049111afa4021f001d11118111a111811171119111711161118111611151117111511141116111411131115111311141111111311111110111211100f11110f0e11100e551df007ed54020120018d018e01f34ed44d0fa00fa00fa00d300d31fd31ffa40fa40d401d0fa00fa00fa00fa00d401d0fa40fa40d102d401d0fa40fa40d102d401d0d3ffd3ffd33fd33fd104d401d0d3ffd3ffd4d103d10fd401d0f404f404d102d4d4d10c11120c0a11110a0a11100a10de10bd10ac108a10791068104610451023111b5614c7058019101f73b51343e803e803e8034c034c7f4c7fe903e903500743e803e803e803e803500743e903e903440b500743e903e903440b5007434fff4fff4cff4cff44135007434fff4fff53440f443f500743d013d013440b535344304448302844442828444028437842f442b0422841e441a041184114408c04446c04444f1c160018f01f53b51343e803e803e8034c034c7f4c7fe903e903500743e803e803e803e803500743e903e903440b500743e903e903440b5007434fff4fff4cff4cff44135007434fff4fff53440f443f500743d013d013440b535344304448302844442828444028437842f442b0422841e441a041184114408cc44469584b1c160019000c2f2e049111afa4021f001d11118111a111811171119111711161118111611151117111511141116111411131115111311121114111211131110111211100f11110f0e11100e10df10ce10bd10ac109b108a107910681057104610354403f007ed5400c2f2e049111ad4d11118111a11181117111911171116111811161115111711151114111611141113111511131112111411121111111311111110111211100f11110f0e11100e10df10ce10bd10ac109b108a107910681057104610354403f007ed5400b6f2e049111bd31ffa00d1c801fa02c9d0028020f4161118111a11181117111911171116111811161115111711151114111611141113111511131112111411121111111311111110111211100f11110f0e11100e10df551cf007ed54020162019301940202cb0195019602014801ac01ad02014801970198020148019b019c0201480199019a00dff036465ff8ae5ff89e664846465ff8be5ff8ae59f89e59fe4e42806e78b2804678b64e42806e78b2804678b64e428057d012802fd012803fd012c7d010b660be60ae609e66480e47a000a7a0064e428067d0128057d0128047d010b65800a658f89658f80e78b00e78b6609e6666664c00f10831c02497c138007434c0c05c6c2497c1383e90087c007e900c7e800c5c75c87e800c7e800c00b4c7c8608403e29fa96ea54c4d167c04b808608405e351466ea58c511100fc04f80860841657c1ef2ea54c4d167c05380cc820841dc6c719eea50c16bc057820840c84e6042ea4d6bc05b817c12103fcbc2000113e910c30003cb85360020158019d019e02012001a301a401f700f4cffe803e90087c007b51343e803e903e90353500743e803e803440b500743e903e903440b450c017c1548671c17cb8b054452fbcb8b0807e903d010c7e800835d270803cb8b108645d245cf89402aa1484282084036d61602805ef3cb8b1721633c5b2608403e29fa97232c7c572cfd400fe808073c58073c5a0019f03d93b51343e803e903e90353500743e803e803440b500743e903e903440b450c00334cffe803e903e9014a4044431c17cb8b0d468a803be80147b2860822625a019ad822860822625a02807284ae5c413440f0ed7c138c34975c2c070c009f0802c254409cd4d4c38c354154181e001a001a101a2003c58fa02cc58cf16c9718018c8cb055003cf1670fa0212cb6accc98040fb00007052bda01ca182107362d09cc8cb1f5230cb3f58fa02500bcf16500bcf16c9718010c8cb0528cf16500afa0219cb6a18ccc971fb001068106700428210d53276db708010c8cb055008cf165008fa0216cb6a16cb1f16cb3fc972fb000048c858cf1601cf16c9c85003fa0201fa02c9c85006fa025004cf1658cf16cc12ccccc9ed5402012001a501a601d14ed44d0fa00fa40fa40d4d401d0fa00fa00d102d401d0fa40fa40d102d1430051a5c705f2e05a0ad33fd15187a1820898968066b608a122c20022c200b09a8209312d00a017a1ab00988208989680a017a1e220820afaf080bcf2e2c57053051048513646335436dc801aa01cf16fb51343e803e903e90353500743e803e803440b500743e903e903440b450c00274cffe80149ef1c17cb8b054e02fbcb8b0862841c2721633c58073c5b2721400fe80807e80b2721401be80940133c59633c5b304b333327b553e900c0835c2c070c02456f8c36001a702b93b51343e803e903e90353500743e803e803440b500743e903e903440b450c014e971c17cb81682f4cffe9014c631c17cb816be803e9014d471c1650c5419a8238454bcb1c164d41568254c7cb01701388101788830800970802c38c3e001a801a9003e8210d53276db708010c8cb055003cf1622fa0212cb6acb1fcb3fc98042fb0000d23a3a702010795e351048403dc858cf1601cf16c9c85003fa0201fa02c9c85006fa025004cf1658cf16cc12ccccc9ed5401fa00fa00d18210cf3eede9c8cb1f17cb3f5004cf1658fa0201fa0201fa0258fa02c9718018c8cb055003cf1670fa0212cb6accc98040fb0000c0353b0bc858cf1601cf16c9c85003fa0201fa02c9c85006fa025004cf1658cf16cc12ccccc9ed5466a1820898968066b608a18208989680a0a120c2008e1e8210d53276db708010c8cb055004cf1658fa0212cb6acb1fcb3fc972fb00925f03e201c2c858cf1601cf16c9c85003fa0201fa02c9c85006fa025004cf1658cf16cc12ccccc9ed5423c2008e2c8210bf1461f8c8cb1f5260cb3f5004fa025007cf1621cf16c9718018c8cb0528cf1624fa02cb6accc971fb00923336e222c200925f06e30d01ab00588210bf1461f8c8cb1f14cb3f58fa025003cf1601cf16c9718018c8cb055004cf1658fa0212cb6accc971fb000047bbe32ed44d0fa00fa40fa40d4d401d0fa00fa00d102d401d0fa40fa40d102d143006c4480047bbb02ed44d0fa00fa40fa40d4d401d0fa00fa00d102d401d0fa40fa40d102d143005f048", + want: map[ContractInterface][]string{ + MegatonRouter: {"get_lp_data", "get_mining_data"}, + }, + }, + { + name: "megaton exchange", + account: "b0d76495b91d6ed9b46fd642b347609a0bab07f56fa4d779499dfe5dc6de4eef", + code: "b5ee9c720102a9010030da000114ff00f4a413f4bcf2c80b0102016202030202ca040502012006070201201d1e02014884850201200809020120101100f7bb9e4ed44d0fa00fa00fa00d300d31fd31ffa40fa40d401d0fa00fa00fa00fa00d401d0fa40fa40d102d401d0fa40fa40d102d401d0d3ffd3ffd33fd33fd104d401d0d3ffd3ffd4d103d10fd401d0f404f404d102d4d4d10c11120c0a11110a0a11100a10de10bd10ac108a107910681046104510235f0f108b5f0b80201200a0b01f9b503241e003da89a1f401f401f401a601a63fa63ff481f481a803a1f401f401f401f401a803a1f481f481a205a803a1f481f481a205a803a1a7ffa7ffa67fa67fa209a803a1a7ffa7ffa9a207a21fa803a1e809e809a205a9a9a218222418142222141422201421bc217a2158211420f220d0208c208a2046207ebe1f00c02016e0d0e003e6cb101fa4431018307f40e6fa120c3009801fa00fa00d3ff30e05b7054700001faaa89ed44d0fa00fa00fa00d300d31fd31ffa40fa40d401d0fa00fa00fa00fa00d401d0fa40fa40d102d401d0fa40fa40d102d401d0d3ffd3ffd33fd33fd104d401d0d3ffd3ffd4d103d10fd401d0f404f404d102d4d4d10c11120c0a11110a0a11100a10de10bd10ac108a10791068104610451023102f5f0f6cb121700f00f6a9eded44d0fa00fa00fa00d300d31fd31ffa40fa40d401d0fa00fa00fa00fa00d401d0fa40fa40d102d401d0fa40fa40d102d401d0d3ffd3ffd33fd33fd104d401d0d3ffd3ffd4d103d10fd401d0f404f404d102d4d4d10c11120c0a11110a0a11100a10de10bd10ac108a10791068104610451023103f5f0f6cb10022028020f40e6fa1c3009431fa00309130e202016612130201201819020120141501f9af16f6a2687d007d007d006980698fe98ffd207d206a00e87d007d007d007d006a00e87d207d2068816a00e87d207d2068816a00e869ffe9ffe99fe99fe8826a00e869ffe9ffea6881e887ea00e87a027a0268816a6a68860889060508888505088805086f085e88560845083c8834082308228811ab892b882f8799401701faab7920f001ed44d0fa00fa00fa00d300d31fd31ffa40fa40d401d0fa00fa00fa00fa00d401d0fa40fa40d102d401d0fa40fa40d102d401d0d3ffd3ffd33fd33fd104d401d0d3ffd3ffd4d103d10fd401d0f404f404d102d4d4d10c11120c0a11110a0a11100a10de10bd10ac108a107910681046104510233f5f0d35351600f6aabaed44d0fa00fa00fa00d300d31fd31ffa40fa40d401d0fa00fa00fa00fa00d401d0fa40fa40d102d401d0fa40fa40d102d401d0d3ffd3ffd33fd33fd104d401d0d3ffd3ffd4d103d10fd401d0f404f404d102d4d4d10c11120c0a11110a0a11100a10de10bd10ac108a107910681046104510235f046ce76c2700a45b6c63f8284313705470002610371069105804413819c858cf1601cf16c9c85003fa0201fa02c9c85006fa025004cf1658cf16cc12ccccc921c8cb0113f40012f400cb00c9f9007074c8cb02ca07cbffc9d0000c6c33337f34580201201a1b00f7b663fda89a1f401f401f401a601a63fa63ff481f481a803a1f401f401f401f401a803a1f481f481a205a803a1f481f481a205a803a1a7ffa7ffa67fa67fa209a803a1a7ffa7ffa9a207a21fa803a1e809e809a205a9a9a218222418142222141422201421bc217a2158211420f220d0208c208a2046205ebe1ed963001f9b184bb51343e803e803e8034c034c7f4c7fe903e903500743e803e803e803e803500743e903e903440b500743e903e903440b5007434fff4fff4cff4cff44135007434fff4fff53440f443f500743d013d013440b535344304448302844442828444028437842f442b0422841e441a041184114408d7c2ce4e4e4e4ee01c00f7b043bb51343e803e803e8034c034c7f4c7fe903e903500743e803e803e803e803500743e903e903440b500743e903e903440b5007434fff4fff4cff4cff44135007434fff4fff53440f443f500743d013d013440b535344304448302844442828444028437842f442b0422841e441a041184114408d7c3d7c19b10a0000c109a108955430201201f200201202a2b02012021220201f42829020148232400dff036465ff8ae5ff89e664846465ff8be5ff8ae59f89e59fe4e42806e78b2804678b64e42806e78b2804678b64e428057d012802fd012803fd012c7d010b660be60ae609e66480e47a000a7a0064e428067d0128057d0128047d010b65800a658f89658f80e78b00e78b6609e6666664c01f10cc8b1c02497c0f83434c0c05c6c2497c0f83e90087c007e900c7e800c5c75c87e800c7e800c00f4c7f4cfc8a08414cdc38baea58c8d10c03c053808a08433cfbb7a6ea54c940d3c05f808a0841657c1ef2ea54c94093c067808a084118ba341eea54c94093c06b808a0840b1dae5ceea54c940d3c06f808a02500113e910c30003cb8536002fc82100f8a7ea5ba95325034f01ce02282107362d09cba95325034f01de02282106b14cfe1ba95325034f01ee0343420821032139810ba9330f01fe0208210bf1461f8ba9330f020e020821070ae1f34ba9330f021e020821020b88d2eba95306c12f025e02082105cbfb251ba95306c12f026e020821066447dadbae302202627000a306c12f02700ae82101403d27aba95306c12f028e0208210743f8e58ba95306c12f029e020821063c996a5ba9330f022e020821072ee6e80ba9330f023e0208210584c27b7ba9330f024e0330282104bc288a4ba9301f02ae05b840ff2f000691400e848304064d7c11c3808b00024db04aa2384d4c0aa4114882b5448a86a8008ea00ea422a283888708014c4af2c244c244c78a0003114486a2049c408e86a00e049c42a2049c41400e86a282a41200201582c2d02012044450201202e2f020120363701f73b51343e803e803e8034c034c7f4c7fe903e903500743e803e803e803e803500743e903e903440b500743e903e903440b5007434fff4fff4cff4cff44135007434fff4fff53440f443f500743d013d013440b535344304448302844442828444028437842f442b0422841e441a041184114408db154d4dce8f55c4203001f3083434c7f4cfcc4831c0b00038c08c15513c03951d412f2388d4c56844ea208203d0902a410930c027e08c03782dace9d9000016016a6128248c0cf8a48c8cf880f232ffc532fff2608415aa3a483232c7fe0a33c5948832ffd48c32fff332451c60c1c860033232c0f2c072c204f2ffc4b2d873325c3ec000603201f6111129c705f2e0491111fa00d31ffa40fa40d401d0d3ffd3ffd33fd33f7054753425f823f00e02d106d18210f2c8682bc8cb1f01111c01cb3f5610cf162ccf1629fa02c9718018c8cb055613cf16111e8209c9c380a101111e01fa0201111d01cb6a01111c01ccc971fb001116111a11160711190711141118111431007c111311171113111211161112061115061110111411100f11130f0e11120e051111050c11100c10bf10ae104d108c108b4a98102710365e221023f007ed5403fed43020d0d31fd33f305380bc8f6a34546bb0546bb7f00e104b103a4987f00e54712324bc8e3035365301bc8e24355340a116a882080f4240a90426c3009f82300de0b6b3a76400005807a984a0923035e293303535e2e30d03c8cbff14cbffc9821056a8e920c8cb1ff828cf165220cbff5230cbffccc914e05f035544f00e33343500b031547442a118a882080f4240a90429c3009e82300de0b6b3a76400002aa984a09130e25314bc8e28365204a116a882080f4240a90426c3008e1182300de0b6b3a76400005807a98413a002923035e20296103810276c41e2003271830721800cc8cb03cb01cb0813cbff12cb61ccc970fb000100cc547504bc8e235315a113a882080f4240a90424c3009f82300de0b6b3a76400005805a984a0923033e2923233e203c8cbff14cbffc9821056a8e920c8cb1ff828cf165220cbff5230cbffccc91471830721800cc8cb03cb01cb0813cbff12cb61ccc970fb000101810bc2084423441ec41b0416934d143efc055c14ca6f0970802c2384cc14c628452a208c03782dace9d900002a4100e44d3888f08025c40a8e0e0557c178c35548203801f53b51343e803e803e8034c034c7f4c7fe903e903500743e803e803e803e803500743e903e903440b500743e903e903440b5007434fff4fff4cff4cff44135007434fff4fff53440f443f500743d013d013440b535344304448302844442828444028437842f442b0422841e441a041184114408e08433cfbb7a48e03900dc82106b14cfe1c8cb1f52b0cb3f26cf1624fa02c9718018c8cb05500ccf168210068e7780500aa019fa021acb6a17ccc971fb0025c8cbff17cbff14cb3fc982106b14cfe1c8cb1f5003cf1601fa0222fa02ccc91571830721800cc8cb03cb01cb0813cbff12cb61ccc970fb004003019a8020f40e6fa1c30098fa003001111d01a18e2b30820a625a00561ca0aa0082100bebc200a0561ca0821005f5e100a0561ca0821005f5e100a001111d01a1e2111efa40f8285220561f561656133a02fe705470002610371069105804413819c858cf1601cf16c9c85003fa0201fa02c9c85006fa025004cf1658cf16cc12ccccc921c8cb0113f40012f400cb00c9f9007074c8cb02ca07cbffc9d001111fc705f2e04a20f001111dfa00fa00225612bc532ebcb1f2d04bfa00fa00d1561dc00093547332e30e5623fa4431530a83073b3c0088561d24a85614a904561e24a85611a9045cb98e163020c200f2e04c53405612a85620a9065305bcf2d04d8e173120c200f2e04c53305616a85620a9065306bcf2d04d01e204faf40e6fa1561f21c00091a4de5259b95248b917b1255622b9b127561fbcb15620b1986c22327054600413de5383a1c2008e3d706d82100f8a7ea5c8cb1f562a01cb3f53b6a1fa025628cf165628cf16f40021fa02cb00c9718018c8cb05561ccf16820a625a00fa02cb6accc971fb00de5372a1c200e30024c000e30f203d3e3f40007a706d82100f8a7ea5c8cb1f562a01cb3f53a5a1fa025628cf165628cf16f40021fa02cb00c9718018c8cb055618cf16820a625a00fa02cb6accc971fb0000e65b3333571f01111d01111ea001111201111ca0111001a1111b1ca050afa11118111a11181117111911171116111811161115111711151114111611141113111511131112111411121111111311111110111211100f11110f0d11100d10ce0b0d108a10791068105710461035443012f007ed5401fe571e8210178d4519c8cb1f562701cb3f24fa02f828cf165625cf1670fa02c9f8285626015626561d561a705470002610371069105804413819c858cf1601cf16c9c85003fa0201fa02c9c85006fa025004cf1658cf16cc12ccccc921c8cb0113f40012f400cb00c920f9007074c8cb02ca07cbffc9d0778018c8cb0558cf1641005ad70b01c30022c200b08e1e8210d53276db708010c8cb055003cf165003fa02cb6acb1fcb3fc972fb00925f03e201f8820a625a00fa02cb6bccccc971fb0070546007c3008e115b34111cfa00fa00d3ffd101111e01415592571fe2f823562806561d0656250605112705561605561605561605561605041116040311150302111402562d02561602562802011110011117f016c851dca01dfa0201111d0103a012fa02561b01cbffc9d0024201fe01112001088307f416561d28a0111427a00111130104a151f9a050e2a11112111a11121119111b11191112111811121117111b11170d11160d1115111b11150d11140d1113111b11130d11120d1111111b11110211100210ef102e4d1b0950c71a468005111d050403111b030201111b01111ef007ed548015c8cb1f25cf1643005058fa025003fa0201fa0201fa02c9523071830721800cc8cb03cb01cb0813cbff12cb61ccc970fb0002012046470201205b5c0201204849020120545504f515883e910c54c120c1fd039be870003cb4193e80085588ae7cb4197e8034fff4489588e855876e55882c6555c8884448b795889587ef3cb41395851588ea1587ea41158455892a15882a41148404492e5588c04448ee404448806c7cb413dc151eae5587f00025d5c9c40b4eced6f8c3485588a8700038c3d586604a4b4c4d01f53b51343e803e803e8034c034c7f4c7fe903e903500743e803e803e803e803500743e903e903440b500743e903e903440b5007434fff4fff4cff4cff44135007434fff4fff53440f443f500743d013d013440b535344304448302844442828444028437842f442b0422841e441a041184114408e0841657c1ef08e05200825f04f82356260656190656210605112705561205561205561205561205041112040311110302111002562c02561302562d02011114011113f0161122103948701300185b3750638307f45b301115a5003ac8025622a112fa0209a018fa025250cbffc9d040748307f4161115102503fc561ea11110561ca10c561da1111011141110111311191113111211181112111111171111011110010f11150f54411f0e111a0e56190e561950de0c11180c220c561d0c105b102a103908111a085076103510240311240302111b021124561af007ed540693392909df26c2009131e30d26c2009132e30d8210595f07bcc84e4f500074706d82100f8a7ea5c8cb1f52e0cb3f29fa022dcf162ccf16f40021fa02cb00c9718018c8cb055004cf16820a625a00fa0213cb6a12ccc971fb000074706d82100f8a7ea5c8cb1f52d0cb3f29fa022ccf162bcf16f40021fa02cb00c9718018c8cb055005cf16820a625a00fa0214cb6a13ccc971fb00016acb1f29cf165003fa0226fa025004fa025004fa02c9527071830721800cc8cb03cb01cb0813cbff12cb61ccc970fb00f828104641335100f8705470002610371069105804413819c858cf1601cf16c9c85003fa0201fa02c9c85006fa025004cf1658cf16cc12ccccc921c8cb0113f40012f400cb00c9f9007074c8cb02ca07cbffc9d06d8210595f07bcc8cb1f15cb3f5003fa0201cf1612f400c9718018c8cb055003cf168209c9c380fa0212cb6accc971fb0001f88020f40e6fa1c30098fa003001111f01a19630f2c04b111ee220c100f2d04656178e255f0f10df5f0f8210d53276db708010c8cb055003cf1622fa0212cb6acb1fcb3fc98042fb00e0111dfa00f40401d0fa00fa00d102d17056221120201120111f05111e0503111d0304111c0402111b02111a05111905031118035300c204111704021116021115051114050311130304111204021111021110105f103e104d4c1b105a1039104847161034011123f01821d70b01c30021c200b08e1e8210d53276db708010c8cb055004cf1658fa0212cb6acb1fcb3fc972fb00925f03e201f53b51343e803e803e8034c034c7f4c7fe903e903500743e803e803e803e803500743e903e903440b500743e903e903440b5007434fff4fff4cff4cff44135007434fff4fff53440f443f500743d013d013440b535344304448302844442828444028437842f442b0422841e441a041184114408e0841657c1ef08e056011520822625a0282f3cb812e05801fe8020f40e6fa1c30098fa003001111f01a19630f2c04b111ee220c100f2d046561c5615c705f2e049111dfa40d17053007f562311210511200505111f0504111e0403111d0302111c0201111b0105111a0504111904031118030211170201111601051115050411140403111303021112020111110105111005104f103e4dc0570084105b104a1039487010561045103411234130f01821d70b01c30021c200b08e1e8210d53276db708010c8cb055004cf1658fa0212cb6acb1fcb3fc972fb00925f03e201feed44d0fa00fa00fa00d300d31fd31ffa40fa40d401d0fa00fa00fa00fa00d401d0fa40fa40d102d401d0fa40fa40d102d401d0d3ffd3ffd33fd33fd104d401d0d3ffd3ffd4d103d10fd401d0f404f404d102d4d4d10c11120c0a11110a0a11100a10de10bd10ac108a107910681046104510233f5f0d35355b6c6304fa4021590182f001d300d195c821cf16c9916de28210d1735400708018c8cb055007cf1626fa0216cb6a15cb1f16cb3f25fa4430c00097345b327001cb01e30df400c98040fb005a00a6f82810464353705470002610371069105804413819c858cf1601cf16c9c85003fa0201fa02c9c85006fa025004cf1658cf16cc12ccccc921c8cb0113f40012f400cb00c9f9007074c8cb02ca07cbffc9d0cf160201205d5e0201207c7d01f53b51343e803e803e8034c034c7f4c7fe903e903500743e803e803e803e803500743e903e903440b500743e903e903440b5007434fff4fff4cff4cff44135007434fff4fff53440f443f500743d013d013440b535344304448302844442828444028437842f442b0422841e441a041184114408e08403e29fa948e05f01f53b51343e803e803e8034c034c7f4c7fe903e903500743e803e803e803e803500743e903e903440b500743e903e903440b5007434fff4fff4cff4cff44135007434fff4fff53440f443f500743d013d013440b535344304448302844442828444028437842f442b0422841e441a041184114408c447be803e90086069018a8020f40e6fa17001c3009430fa00309431f2c04be2111ffa00fa4021f001fa40fa00112321a001112101a120c100f2d0461122d401d0fa4021f001d1f828546171561a56176002fe705470002610371069105804413819c858cf1601cf16c9c85003fa0201fa02c9c85006fa025004cf1658cf16cc12ccccc921c8cb0113f40012f400cb00c9f9007074c8cb02ca07cbffc9d05623c705f2e04a20fa443153098307f40e6fa1c000f2d064fa005317b9f2d0655317a15621b993375207de5317bce300275621b96162000a111ea4111e02fe5620b1561f561fbcb18e29103f5f0f57105f0f6c718210d53276db708010c8cb055003cf1622fa0212cb6acb1fcb3fc98042fb00e0fa00d3ff30f823562904561e0456260456280456180456180456180456180403111803021117020111160152d056190156190111195619f01656102aba99333e3e0a8307f45b30e30e246364003ec811112aa101111101fa0250f3a012fa0252d0cbffc9d0400b8307f416109c01f6fa443153018307f40e6fa120c30095111fa5111fde70546003c3009a5f03fa00fa00d3ff30589133e2562905561e05562605562805561805561805561805561805041117040311180302111502561002561954221301111a011119f016c8111029a001111001fa0250e3a012fa0252c0cbffc9d040ba8307f4166d6501ee8210595f07bcc8cb1f562601cb3f26fa022acf16f400c9718018c8cb055625cf168209c9c380fa02cb6accc971fb00f828546471561a5617705470002610371069105804413819c858cf1601cf16c9c85003fa0201fa02c9c85006fa025004cf1658cf16cc12ccccc921c8cb0113f40012f400cb00c9206601fef9007074c8cb02ca07cbffc9d0c8011125cf165624cf16c982100f8a7ea5c8cb1f2bcf165006cf1626fa0215ccc956250171830721800cc8cb03cb01cb0813cbff12cb61ccc970fb00111a111f111a1119111e11191118111d11181117111c11171116111b11161115111f11151114111e11141113111d11131112111c11126701fe1111111b11111110111f11100f111e0f0e111d0e0d111c0d0c111b0c0b111f0b0a111e0a09111d0908111c0807111b0706111e0605111d0504111f040302111b0201111e01111df007ed548210178d4519c8cb1f52a0cb3f5005fa0221cf165004cf1625fa0258cf16c9778018c8cb055007cf16820a625a005006a05004a068007614fa0214cb6b12ccccc971fb0020d70b01c30022c200b08e1e8210d53276db708010c8cb055003cf165003fa02cb6acb1fcb3fc972fb00925f03e201fef0018210771b1c67258020f40e6fa17001c3009430fa00309131e282107362d09c268020f40e6fa17001c3009430fa00309131e28210983360c8278020f40e6fa1821005f5e10001c3009430fa00309131e2245619c7059b5ca0820a625a00a05621a09122e28210068e77805622a0562301b921c000b1562358b9b1561db16a03c88ed95f036cf36c336c4434343437820a625a005004a014bcf2e04b5225c7058e38306d6d82100f8a7ea5c8cb1f16cb3f5004fa0221cf1601cf1613f40070fa02f400c9718018c8cb055003cf1670fa0212cb6accc98042fb00e30de056165623c705e30f6b6c6d008a31f40430d0fa4031fa4031fa40306d6d82100f8a7ea5c8cb1f16cb3f5004fa0221cf1601cf1613f40070fa02f400c9718018c8cb055003cf1670fa0212cb6accc98042fb0002125722235618c705e30f6e6f019a56125623c7058e435f04571257105f0f50ec5f0c6d6d82100f8a7ea5c8cb1f16cb3f58fa0223cf165003cf1613f40070fa02f400c9718018c8cb055003cf1670fa0212cb6accc98040fb00e30d7501ec3132561253f3561ef00f01f40401d0fa40fa40fa40fa00d104d15244b9225619c705c000b18e4d10245f04571357105f0f6c843435c821cf16c9706d82100f8a7ea5c8cb1f19cb3f5005fa025003cf1601cf1615f40058fa02cb0012ccc9718018c8cb055003cf1670fa0212cb6accc98040fb00e30e7002fe30571e571f561cc00001111e01111db901111c01b18ee60e561aa0111711191117111611181116111511191115111411181114111311191113111211181112111111191111111011181110561911100f11190f541de04c1d4a1b4819461744155033111a561ff007ed5404f40401d0fa00fa00d102d1f8282541835248e30d727301fc111525a0111123a11118111f11181117111e11171116111d11161115111c11151114111b11141113111a1113111211191112561f11121111111f11111110111e11100f0e111c0e0d111b0d561a4c1d0b11200b0a111f0a1908111d0807111c0745160411200403111f031201111d011125f007ed54c85004cf1622fa02c97100ec82107362d09cc8cb1f26cf165005cf1601fa0213ccc9529071830721800cc8cb03cb01cb0813cbff12cb61ccc970fb00c823cf16c9706d82100f8a7ea5c8cb1f1ccb3f5004fa025005cf165003cf1618f4005005fa0216cb0015ccc9718018c8cb055004cf165024a15004a112fa02cb6accc971fb0001fe705470002610371069105804413819c858cf1601cf16c9c85003fa0201fa02c9c85006fa025004cf1658cf16cc12ccccc921c8cb0113f40012f400cb00c920f9007074c8cb02ca07cbffc9d08210771b1c67c8cb1f18cb3f5004cf1658fa0201cf165003fa0201fa02c9778018c8cb055004cf1670fa0213cb6bccccc9804074007c5f0f1a5f0a3333706d82100f8a7ea5c8cb1f16cb3f5004fa0221cf1601cf1613f40021fa02cb00c9718018c8cb055003cf1670fa0212cb6accc98040fb000004fb0002c65722235618c7058ed830571e571f561cc00001111e01111db901111c01b18e3f10cf5f0f3d5f0a33706d82100f8a7ea5c8cb1f16cb3f5004fa0221cf1601cf1613f40021fa02cb00c9718018c8cb055003cf1670fa0212cb6accc98040fb00e30ee30d767701d80a561aa0111711191117111611181116111511191115111411181114111311191113111211181112111111191111111011181110561911100f11190f0e0d11190d520d0c111a0c4a1b4819461744155033111a561ff007ed5404f40401d0fa00fa00d102d1f82825034184277801f031322e561324561ef00f01f40401d0fa40fa40fa40fa00d104d15244b9225615c705c000b18e4f10245f043f3f5f0c6c336c843435c825cf16c9706d82100f8a7ea5c8cb1f19cb3f5003fa025003cf165005cf1615f40058fa0212cb0012ccc9718018c8cb055003cf1670fa0212cb6accc98040fb00e30e7a01fc705470002610371069105804413819c858cf1601cf16c9c85003fa0201fa02c9c85006fa025004cf1658cf16cc12ccccc921c8cb0113f40012f400cb00c920f9007074c8cb02ca07cbffc9d08210771b1c67c8cb1f18cb3f5004cf1658fa025003cf165003fa0201fa02c9778018c8cb055004cf1670fa0213cb6bccccc97900088040fb0001fe111523a1111125a01118111f11181117111e11171116111d11161115111c11151114111b11141113111a1113111211191112561f11121111111f1111561e1111011110010f111d0f0e111c0e0d111b0d102c0b11200b509a08111d0807111c0706111b06102504112004502301111d011125f007ed54c85004cf1622fa02c97b00ec82107362d09cc8cb1f26cf16500bcf1601fa0219ccc9529071830721800cc8cb03cb01cb0813cbff12cb61ccc970fb00c823cf16c9706d82100f8a7ea5c8cb1f1ccb3f500afa025005cf165003cf1618f4005005fa0215cb0014ccc9718018c8cb055006cf165023a15003a1fa0212cb6accc971fb000123208401c9c380086a802804af3cb812c0b4607e01f700747b51343e803e803e8034c034c7f4c7fe903e903500743e803e803e803e803500743e903e903440b500743e903e903440b5007434fff4fff4cff4cff44135007434fff4fff53440f443f500743d013d013440b535344304448302844442828444028437842f442b0422841e441a041184114408cfd7c34d4d56e08202fced44d0fa00fa00fa00d300d31fd31ffa40fa40d401d0fa00fa00fa00fa00d401d0fa40fa40d102d401d0fa40fa40d102d401d0d3ffd3ffd33fd33fd104d401d0d3ffd3ffd4d103d10fd401d0f404f404d102d4d4d10c11120c0a11110a0a11100a10de10bd10ac108a107910681046104510235617e302561bfa443153047f80004a5f0f10cd5f0d8210d53276db708010c8cb055003cf1622fa0212cb6acb1fcb3fc98042fb0001fe8307f40e6fa1c000f2d064fa0021c000f2d065fa00d3ffd106112106f823561807562007061123065611065611065611065611060511110504111004103f021126022f02562702f016c85006fa0201111c0103a012fa02561a01cbffc9d00201111b018307f4161117111a111711161119111611151118111511141117111481007c1113111611131112111511121111111411111110111311100f11120f0e11110e0d11100d10cf10be10ad109c108b107a10691058503304074515f007ed5401fe33333434348e215f038210d53276db708010c8cb055003cf1622fa0212cb6acb1fcb3fc98042fb00e0f8285023705470002610371069105804413819c858cf1601cf16c9c85003fa0201fa02c9c85006fa025004cf1658cf16cc12ccccc921c8cb0113f40012f400cb00c9f9007074c8cb02ca07cbffc9d0821032139810708300308018c8cb055003cf1622fa0212cb6acb1fcb3fc98040fb000201208687020148a2a3020120888902012098990201208a8b020120939401f73b51343e803e803e8034c034c7f4c7fe903e903500743e803e803e803e803500743e903e903440b500743e903e903440b5007434fff4fff4cff4cff44135007434fff4fff53440f443f500743d013d013440b535344304448302844442828444028437842f442b0422841e441a041184114408c4473e803e903e90208c01f33b51343e803e803e8034c034c7f4c7fe903e903500743e803e803e803e803500743e903e903440b500743e903e903440b5007434fff4fff4cff4cff44135007434fff4fff53440f443f500743d013d013440b535344304448302844442828444028437842f442b0422841e441a041184114408c446d584f1c1609102e621f001d1f8285210562056175614705470002610371069105804413819c858cf1601cf16c9c85003fa0201fa02c9c85006fa025004cf1658cf16cc12ccccc921c8cb0113f40012f400cb00c9f9007074c8cb02ca07cbffc9d001111e01c705f2e049561321c705e30252f0c705e3025f0f5f0f8d8e01fe30530fbcf2d05b51ffa11119111a11191118111a11181117111a11171116111a11161115111a11151114111a11141113111a11131112111a11121111111a1111561a111111101f1e1d1c1b1a111d1918171615144330f007ed54706d82100f8a7ea5c8cb1f16cb3f5004fa0222cf1658cf1613f40021fa02cb00c9718018c88f01fc530bbcf2d05b51bba11119111a11191118111a11181117111a11171116111a11161115111a11151114111a11141113111a11131112111a11121111111a11111110111a11100f111a0f0e111a0e0d111a0d561a0d50bc1a111d1918171615144330f007ed54706d82100f8a7ea5c8cb1f16cb3f5004fa0222cf1658cf1613900024cb055003cf1670fa0212cb6accc98040fb00003cf40021fa02cb00c9718018c8cb055003cf1670fa0212cb6accc98040fb0001fcf2e04903d0d31fd33f30111cd31fd33fd121c8cb1f5210cb3fc923c8cb1f561f01cb3fccc9821070ae1f34c8cb1ff828cf1614cb1f01111e01cb3fcb1f01111c01cb3fc901111c0171830721800cc8cb03cb01cb0813cbff12cb61ccc970fb001117111a11171116111911161115111811151114111711141113111611139200701112111511121111111411111110111311100f11120f0e11110e0d11100d10cf10be10ad109c108b107a10691058104710364513f007ed5401f33b51343e803e803e8034c034c7f4c7fe903e903500743e803e803e803e803500743e903e903440b500743e903e903440b5007434fff4fff4cff4cff44135007434fff4fff53440f443f500743d013d013440b535344304448302844442828444028437842f442b0422841e441a041184114408c446d58531c1609501f50cbb51343e803e803e8034c034c7f4c7fe903e903500743e803e803e803e803500743e903e903440b500743e903e903440b5007434fff4fff4cff4cff44135007434fff4fff53440f443f500743d013d013440b535344304448302844442828444028437842f442b0422841e441a041184114408d5c5c446d584e09701faf2e049111bfa00d120c20421c165b0f2e3e7821063c996a5c8cb1ff828cf16011119fa025618fa02c901111c0171830721800cc8cb03cb01cb0813cbff12cb61ccc970fb001117111a11171116111911161115111811151114111711141113111611131112111511121111111411111110111311100f11120f0e11110e9600180d11100d10cf552bf007ed540098c705f2e0491119d300d11118111a111811171119111711161118111611171114111611141113111511131112111411121111111311111110111211100f11110f0e11100e10df551cf007ed540201209a9b0201209e9f01f50cbb51343e803e803e8034c034c7f4c7fe903e903500743e803e803e803e803500743e903e903440b500743e903e903440b5007434fff4fff4cff4cff44135007434fff4fff53440f443f500743d013d013440b535344304448302844442828444028437842f442b0422841e441a041184114408d5c54446d584e09c01f53b51343e803e803e8034c034c7f4c7fe903e903500743e803e803e803e803500743e903e903440b500743e903e903440b5007434fff4fff4cff4cff44135007434fff4fff53440f443f500743d013d013440b535344304448302844442828444028437842f442b0422841e441a041184114408ce84469584b1c1609d0098c705f2e0491119d31fd11118111a111811171119111711161118111611151117111511141116111411151112111411121111111311111110111211100f11110f0e11100e10df551cf007ed5400aef2e049111ad3ffd11118111a11181117111911171116111811161115111711151114111611141113111511131112111411121111111311111110111211100f11110f0e11100e10df10ce10bd10ac109b0a5517f007ed5401f73b51343e803e803e8034c034c7f4c7fe903e903500743e803e803e803e803500743e903e903440b500743e903e903440b5007434fff4fff4cff4cff44135007434fff4fff53440f443f500743d013d013440b535344304448302844442828444028437842f442b0422841e441a041184114408d5c604469584b1c160a001f73b51343e803e803e8034c034c7f4c7fe903e903500743e803e803e803e803500743e903e903440b500743e903e903440b5007434fff4fff4cff4cff44135007434fff4fff53440f443f500743d013d013440b535344304448302844442828444028437842f442b0422841e441a041184114408d5c504469584b1c160a10090f2e049111ad3ffd11118111a111811171119111711181115111711151114111611141113111511131112111411121111111311111110111211100f11110f0e11100e551df007ed540096f2e049111afa4021f001d11118111a111811171119111711161118111611151117111511141116111411131115111311141111111311111110111211100f11110f0e11100e551df007ed54020120a4a501f34ed44d0fa00fa00fa00d300d31fd31ffa40fa40d401d0fa00fa00fa00fa00d401d0fa40fa40d102d401d0fa40fa40d102d401d0d3ffd3ffd33fd33fd104d401d0d3ffd3ffd4d103d10fd401d0f404f404d102d4d4d10c11120c0a11110a0a11100a10de10bd10ac108a10791068104610451023111b5614c7058a801f73b51343e803e803e8034c034c7f4c7fe903e903500743e803e803e803e803500743e903e903440b500743e903e903440b5007434fff4fff4cff4cff44135007434fff4fff53440f443f500743d013d013440b535344304448302844442828444028437842f442b0422841e441a041184114408c04446c04444f1c160a601f53b51343e803e803e8034c034c7f4c7fe903e903500743e803e803e803e803500743e903e903440b500743e903e903440b5007434fff4fff4cff4cff44135007434fff4fff53440f443f500743d013d013440b535344304448302844442828444028437842f442b0422841e441a041184114408cc44469584b1c160a700c2f2e049111afa4021f001d11118111a111811171119111711161118111611151117111511141116111411131115111311121114111211131110111211100f11110f0e11100e10df10ce10bd10ac109b108a107910681057104610354403f007ed5400c2f2e049111ad4d11118111a11181117111911171116111811161115111711151114111611141113111511131112111411121111111311111110111211100f11110f0e11100e10df10ce10bd10ac109b108a107910681057104610354403f007ed5400b6f2e049111bd31ffa00d1c801fa02c9d0028020f4161118111a11181117111911171116111811161115111711151114111611141113111511131112111411121111111311111110111211100f11110f0e11100e10df551cf007ed54", + data: "b5ee9c7201026c010010190004afa19572b7af4bf2e616c5e10a00000000b00002710400a8974cfb53cacba4e676f675e2a9727a0012f1bd84633a576ed11ead0009dcc48006216e3668030472deb741120610343ded569beae34794f60bdff489894761f250010203040434a1cf5e088a9ebdeb2eaaf63550ddf54cef80de0b6b3a76400000050607080201e01819010300c00a0114ff00f4a413f4bcf2c80b500085800d5c3bc0c7e40d10fc7c73bfbe18a9920925b78b31b316fddb878037828f4ad490026a36945355d74808d30fec4e57ba44e3d7c6b60e2af2417710b08e26d1af40560085800d265218c7c82985ee8de28481137c21c4aa538df0ff4e2d4c1578ff5d683ebed003c548f4edfd72f922b4596ac4bdbc2e2b1c49d61bd8ec835e17c955204df62eba00a0000000000000000000000000000000000000000000000000000d418d56ee9a80000000000000000000000000000000000000000000000000000000000cef5e810000000063f6ac8000000000076a7000018000000000000000000000000000000000000000000000000000000000142af3e9000000000000000000000000000000000000000000000000000b8effbcb6a1ab090018000042fb0000000064d998b00201200b0c0143bff082eb663b57a00192f4a6ac467288df2dfeddb9da1bee28f6521c8bebd21f1ec00d0201200e0f00420068747470733a2f2f6d656761746f6e2e66692f6c702d73796d626f6c2e706e67020120101102012014150141bf4546a6ffe1b79cfdd86bad3db874313dcde2fb05e6a74aa7f3552d9617c79d13120141bf6ed4f942a7848ce2cb066b77a1128c6a1ff8c43f438a2dce24612ba9ffab8b0313002e004d656761746f6e204c50206f4d415449432d57544f4e000a004d474c500141bf5208def46f5a1d4f9dce66ab309f4a851305f166f91ef79d923ef58e34f9a209160141bf5d01fa5e3c06901c45046c6b2ddcea5af764fea0eed72a10d404f2312ceb247d170052004c697175696469747920506f6f6c20546f6b656e73206f6e204d656761746f6e2046696e616e636500060031380201201a1b02012044450201201c1d02012030310201201e1f020120222302012020210095bf51473e4fa6fb7656244e8a2f75c92ce35229783c88526a6ee0ca470c301d9e8d24545c889e53979f8cc0000000000000000000000000000000000000000000000000000000001efa1d530055df900527901ea319a6dc0000000000000000000000000000000000000000000000000000000001f48ef2500093bf2749d39b70ca67f66260e065d9b3f922d0b6cd9540c6c7388952eb088f36c15e119fad9cb496e6ce40000000000000000000000000000000000000000000000000000000000000000202012024250201582a2b020120262702012028290093bed27f8d45425261ae759d5c35184504755f74f580562b6a59fc0966c0465642fc41765fa332bce6d100000000000000000000000000000000000000000000000000000000001709bdcc0093bed3af81c5386a5af8eb44def151670f1b6bdccfe9c9c2067dd8a997d95c37dba403e76cd94af07c810000000000000000000000000000000000000000000000000000000000000000040093befb83d8613aa74836997dc59428758d24d3587bb80b379a5045e0acdc0ad48d4406836d458ed891648000000000000000000000000000000000000000000000000000000000000000040093bed396dc7b1a83f6237479cb2685ae58cfbec82e64c50300f141dfc8d5080eca6c053b2e62bd6dec2e0000000000000000000000000000000000000000000000000000000000000000040201202c2d02016e2e2f009fbe848b8d2ffd5b900590ce4bb9c12b765c9e63a8e21b100cdf82a8e0c68a90478904e607a68cd4ca20d7506015281ae00000000000000000000000000000000000000000000000000000000120ff1e080093be80cb376668566452fe6b07a27c0a4b20c009aafff9b9bce8ecb4b6804a3932a81c223a00ed3f0b14000000000000000000000000000000000000000000000000000000000000000008009fbe236e9c131099a57d196ae47ad777beaefb467dd7e7994702c2bf18248acfef64726054ac9220752a2d49c5619d534000000000000000000000000000000000000000000000000000000004cddb1ae000a3be26d3a913e0b1b75e35b7e5430a7767cc466eda53b5d149a8fa8881eccc08112807f51c785d5bf2a90f3d80a688eefcc10000000000000000000000000000000000000000000000000000000004d489c42002012032330201203c3d020120343502012036370087bf181b5863c05101bcec4f51bbfdd72af167c3358d8d5d6219dcda9056bbd4964880e380000000000000000000000000000000000000000000000000000000004fc889220093bf090d91dcaf13944d51116d6b57e3ea83473fdad04058393dbb825edad55a502a208131303a628e0f800000000000000000000000000000000000000000000000000000000001f2929602012038390093bf31778b418a9b7fde5fb49fa5244ec913df0707bae63b5043c287988631f775ce09a46741c2c23dbf8000000000000000000000000000000000000000000000000000000000000000020201203a3b00a3bedd3e0166eabbd6e3c178e22b916fe85a73f046e046e8328816804f109b1a82a509654d0be0f94f4806c630d6b89142de8800000000000000000000000000000000000000000000000000000000a1579f4c0095be827897dc2ca728392cae8a74ab85c3ab36c1d775fe94346109c07cba35cc41b901b42c581208c974050000000000000000000000000000000000000000000000000000000000011196680093bea73bff437f0ee1e2ce8df68ea043497f75749ddd77b5f4c4c02f4f0a5e1e02680151626000aed1890000000000000000000000000000000000000000000000000000000000ad1c97980201203e3f02015842430093bf338dcd38c70c2688973c193e8437d3ae4329a766f118ccad666e38420b409a5a01f3ef93a04a79af80000000000000000000000000000000000000000000000000000000000000000202012040410093bee53e9cd7b1a6ac821dcde9b01db0e310ec9136746c6fb1fc2db2e255ca7878f447b2c3a5912c7a610000000000000000000000000000000000000000000000000000000000000000040093beefec1759c87335977f44085004f2a71039ff8a28ff6adb698ec2f75b0064c73c43836d00e310846c0000000000000000000000000000000000000000000000000000000000144720840097bee8a68638dfb3c5af3cd4dbfb01ea207220f3df0a30518fcc259acec56617c8c5021e19e0c9bab2400000000000000000000000000000000000000000000000000000000000000000000004009fbeda2798540a0298dcb99717eda886a35095bfc819a12ac4f47dc500df218501548538e2565d14220d83a857a1879b6000000000000000000000000000000000000000000000000000000000989d808402012046470013bf3cfbb7a5053724e02002014848490201204a4b0011b9f14fd4a835a4e9010011b8b5b166080bebc2010012bb95f07bc414dc93800201204c4d0011b96299fc2811e1a3010201484e4f0011b5b1684e2017d784040011b58d8e33a0ee6b280402016251520202cb53540201486a6b0201485556020148595a020148575800dff036465ff8ae5ff89e664846465ff8be5ff8ae59f89e59fe4e42806e78b2804678b64e42806e78b2804678b64e428057d012802fd012803fd012c7d010b660be60ae609e66480e47a000a7a0064e428067d0128057d0128047d010b65800a658f89658f80e78b00e78b6609e6666664c00f10831c02497c138007434c0c05c6c2497c1383e90087c007e900c7e800c5c75c87e800c7e800c00b4c7c8608403e29fa96ea54c4d167c04b808608405e351466ea58c511100fc04f80860841657c1ef2ea54c4d167c05380cc820841dc6c719eea50c16bc057820840c84e6042ea4d6bc05b817c12103fcbc2000113e910c30003cb853600201585b5c020120616201f700f4cffe803e90087c007b51343e803e903e90353500743e803e803440b500743e903e903440b450c017c1548671c17cb8b054452fbcb8b0807e903d010c7e800835d270803cb8b108645d245cf89402aa1484282084036d61602805ef3cb8b1721633c5b2608403e29fa97232c7c572cfd400fe808073c58073c5a05d03d93b51343e803e903e90353500743e803e803440b500743e903e903440b450c00334cffe803e903e9014a4044431c17cb8b0d468a803be80147b2860822625a019ad822860822625a02807284ae5c413440f0ed7c138c34975c2c070c009f0802c254409cd4d4c38c354154181e05e5f60003c58fa02cc58cf16c9718018c8cb055003cf1670fa0212cb6accc98040fb00007052bda01ca182107362d09cc8cb1f5230cb3f58fa02500bcf16500bcf16c9718010c8cb0528cf16500afa0219cb6a18ccc971fb001068106700428210d53276db708010c8cb055008cf165008fa0216cb6a16cb1f16cb3fc972fb000048c858cf1601cf16c9c85003fa0201fa02c9c85006fa025004cf1658cf16cc12ccccc9ed54020120636401d14ed44d0fa00fa40fa40d4d401d0fa00fa00d102d401d0fa40fa40d102d1430051a5c705f2e05a0ad33fd15187a1820898968066b608a122c20022c200b09a8209312d00a017a1ab00988208989680a017a1e220820afaf080bcf2e2c57053051048513646335436dc86801cf16fb51343e803e903e90353500743e803e803440b500743e903e903440b450c00274cffe80149ef1c17cb8b054e02fbcb8b0862841c2721633c58073c5b2721400fe80807e80b2721401be80940133c59633c5b304b333327b553e900c0835c2c070c02456f8c3606502b93b51343e803e903e90353500743e803e803440b500743e903e903440b450c014e971c17cb81682f4cffe9014c631c17cb816be803e9014d471c1650c5419a8238454bcb1c164d41568254c7cb01701388101788830800970802c38c3e06667003e8210d53276db708010c8cb055003cf1622fa0212cb6acb1fcb3fc98042fb0000d23a3a702010795e351048403dc858cf1601cf16c9c85003fa0201fa02c9c85006fa025004cf1658cf16cc12ccccc9ed5401fa00fa00d18210cf3eede9c8cb1f17cb3f5004cf1658fa0201fa0201fa0258fa02c9718018c8cb055003cf1670fa0212cb6accc98040fb0000c0353b0bc858cf1601cf16c9c85003fa0201fa02c9c85006fa025004cf1658cf16cc12ccccc9ed5466a1820898968066b608a18208989680a0a120c2008e1e8210d53276db708010c8cb055004cf1658fa0212cb6acb1fcb3fc972fb00925f03e201c2c858cf1601cf16c9c85003fa0201fa02c9c85006fa025004cf1658cf16cc12ccccc9ed5423c2008e2c8210bf1461f8c8cb1f5260cb3f5004fa025007cf1621cf16c9718018c8cb0528cf1624fa02cb6accc971fb00923336e222c200925f06e30d6900588210bf1461f8c8cb1f14cb3f58fa025003cf1601cf16c9718018c8cb055004cf1658fa0212cb6accc971fb000047bbe32ed44d0fa00fa40fa40d4d401d0fa00fa00d102d401d0fa40fa40d102d143006c4480047bbb02ed44d0fa00fa40fa40d4d401d0fa00fa00d102d401d0fa40fa40d102d143005f048", + want: map[ContractInterface][]string{ + MegatonExchange: {"get_lp_mining_data", "get_lp_swap_data"}, + Tep74: {"get_jetton_data"}, + }, + }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { diff --git a/abi/ordering.go b/abi/ordering.go index e819f87b..f0d8c5c9 100644 --- a/abi/ordering.go +++ b/abi/ordering.go @@ -15,6 +15,8 @@ const ( Domain ContractInterface = "domain" Locker ContractInterface = "locker" LockerBill ContractInterface = "locker_bill" + MegatonExchange ContractInterface = "megaton_exchange" + MegatonRouter ContractInterface = "megaton_router" NftEditable ContractInterface = "nft_editable" NftSale ContractInterface = "nft_sale" NftSaleGetgems ContractInterface = "nft_sale_getgems" @@ -116,6 +118,39 @@ var methodInvocationOrder = []MethodDescription{ InvokeFn: GetLockerData, ImplementedBy: []ContractInterface{Locker}, }, + { + Name: "get_lp_data", + InvokeFn: GetLpData, + ImplementedByFn: func(typeHint string) ContractInterface { + switch typeHint { + case "GetLpData_MegatonResult": + return MegatonRouter + } + return "" + }, + }, + { + Name: "get_lp_mining_data", + InvokeFn: GetLpMiningData, + ImplementedByFn: func(typeHint string) ContractInterface { + switch typeHint { + case "GetLpMiningData_MegatonResult": + return MegatonExchange + } + return "" + }, + }, + { + Name: "get_lp_swap_data", + InvokeFn: GetLpSwapData, + ImplementedByFn: func(typeHint string) ContractInterface { + switch typeHint { + case "GetLpSwapData_MegatonResult": + return MegatonExchange + } + return "" + }, + }, { Name: "get_members_raw", InvokeFn: GetMembersRaw, @@ -127,6 +162,17 @@ var methodInvocationOrder = []MethodDescription{ return "" }, }, + { + Name: "get_mining_data", + InvokeFn: GetMiningData, + ImplementedByFn: func(typeHint string) ContractInterface { + switch typeHint { + case "GetMiningData_MegatonResult": + return MegatonRouter + } + return "" + }, + }, { Name: "get_next_proof_info", InvokeFn: GetNextProofInfo, diff --git a/abi/schemas/megaton-fi.xml b/abi/schemas/megaton-fi.xml new file mode 100644 index 00000000..072b4f58 --- /dev/null +++ b/abi/schemas/megaton-fi.xml @@ -0,0 +1,46 @@ + + + + uint64 + uint64 + uint64 + uint64 + uint64 + uint64 + + + + + uint64 + any + any + + + + + uint64 + uint64 + msgaddress + msgaddress + msgaddress + int257 + int257 + msgaddress + msgaddress + int257 + int257 + + + + + + uint64 + uint64 + uint64 + uint64 + uint64 + uint64 + any + + +